mirror of
				https://github.com/taigrr/yq
				synced 2025-01-18 04:53:17 -08:00 
			
		
		
		
	Dont use pointer for recursive prefs (avoid nil)
This commit is contained in:
		
							parent
							
								
									2c7db0071a
								
							
						
					
					
						commit
						1a03031297
					
				| @ -221,10 +221,10 @@ func initLexer() (*lex.Lexer, error) { | ||||
| 	lexer.Add([]byte(`\)`), literalToken(closeBracket, true)) | ||||
| 
 | ||||
| 	lexer.Add([]byte(`\.\[`), literalToken(traverseArrayCollect, false)) | ||||
| 	lexer.Add([]byte(`\.\.`), opTokenWithPrefs(recursiveDescentOpType, nil, &recursiveDescentPreferences{RecurseArray: true, | ||||
| 	lexer.Add([]byte(`\.\.`), opTokenWithPrefs(recursiveDescentOpType, nil, recursiveDescentPreferences{RecurseArray: true, | ||||
| 		TraversePreferences: traversePreferences{DontFollowAlias: true, IncludeMapKeys: false}})) | ||||
| 
 | ||||
| 	lexer.Add([]byte(`\.\.\.`), opTokenWithPrefs(recursiveDescentOpType, nil, &recursiveDescentPreferences{RecurseArray: true, | ||||
| 	lexer.Add([]byte(`\.\.\.`), opTokenWithPrefs(recursiveDescentOpType, nil, recursiveDescentPreferences{RecurseArray: true, | ||||
| 		TraversePreferences: traversePreferences{DontFollowAlias: true, IncludeMapKeys: true}})) | ||||
| 
 | ||||
| 	lexer.Add([]byte(`,`), opToken(unionOpType)) | ||||
|  | ||||
| @ -80,7 +80,7 @@ func mergeObjects(d *dataTreeNavigator, lhs *CandidateNode, rhs *CandidateNode, | ||||
| 	var results = list.New() | ||||
| 
 | ||||
| 	// shouldn't recurse arrays if appending | ||||
| 	prefs := &recursiveDescentPreferences{RecurseArray: !shouldAppendArrays, | ||||
| 	prefs := recursiveDescentPreferences{RecurseArray: !shouldAppendArrays, | ||||
| 		TraversePreferences: traversePreferences{DontFollowAlias: true}} | ||||
| 	err := recursiveDecent(d, results, nodeToMap(rhs), prefs) | ||||
| 	if err != nil { | ||||
|  | ||||
| @ -14,7 +14,7 @@ type recursiveDescentPreferences struct { | ||||
| func recursiveDescentOperator(d *dataTreeNavigator, matchMap *list.List, expressionNode *ExpressionNode) (*list.List, error) { | ||||
| 	var results = list.New() | ||||
| 
 | ||||
| 	preferences := expressionNode.Operation.Preferences.(*recursiveDescentPreferences) | ||||
| 	preferences := expressionNode.Operation.Preferences.(recursiveDescentPreferences) | ||||
| 	err := recursiveDecent(d, results, matchMap, preferences) | ||||
| 	if err != nil { | ||||
| 		return nil, err | ||||
| @ -23,7 +23,7 @@ func recursiveDescentOperator(d *dataTreeNavigator, matchMap *list.List, express | ||||
| 	return results, nil | ||||
| } | ||||
| 
 | ||||
| func recursiveDecent(d *dataTreeNavigator, results *list.List, matchMap *list.List, preferences *recursiveDescentPreferences) error { | ||||
| func recursiveDecent(d *dataTreeNavigator, results *list.List, matchMap *list.List, preferences recursiveDescentPreferences) error { | ||||
| 	for el := matchMap.Front(); el != nil; el = el.Next() { | ||||
| 		candidate := el.Value.(*CandidateNode) | ||||
| 
 | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user