@@ -72,8 +72,10 @@ func (p *predicateParser) evaluateArguments(nodes []ast.Expr) ([]interface{}, er
7272 if err != nil {
7373 return nil , trace .Wrap (err )
7474 }
75+
7576 out [i ] = val
7677 }
78+
7779 return out , nil
7880}
7981
@@ -123,6 +125,7 @@ func (p *predicateParser) evaluateExpr(n ast.Expr) (interface{}, error) {
123125 if err != nil {
124126 return nil , trace .Wrap (err )
125127 }
128+
126129 return val , nil
127130
128131 case * ast.Ident :
@@ -134,6 +137,7 @@ func (p *predicateParser) evaluateExpr(n ast.Expr) (interface{}, error) {
134137 if err != nil {
135138 return nil , trace .Wrap (err )
136139 }
140+
137141 return val , nil
138142
139143 case * ast.CallExpr :
@@ -181,6 +185,7 @@ func (p *predicateParser) getFunction(name string) (interface{}, error) {
181185 if ! ok {
182186 return nil , trace .BadParameter ("unsupported function: %s" , name )
183187 }
188+
184189 return v , nil
185190}
186191
@@ -195,6 +200,7 @@ func (p *predicateParser) joinPredicates(op token.Token, a, b interface{}) (inte
195200
196201func (p * predicateParser ) getJoinFunction (op token.Token ) (interface {}, error ) {
197202 var fn interface {}
203+
198204 switch op {
199205 case token .NOT :
200206 fn = p .d .Operators .NOT
@@ -215,9 +221,11 @@ func (p *predicateParser) getJoinFunction(op token.Token) (interface{}, error) {
215221 case token .NEQ :
216222 fn = p .d .Operators .NEQ
217223 }
224+
218225 if fn == nil {
219226 return nil , trace .BadParameter ("%v is not supported" , op )
220227 }
228+
221229 return fn , nil
222230}
223231
@@ -228,13 +236,15 @@ func getIdentifier(node ast.Node) (string, error) {
228236 if ! okIdent {
229237 return "" , trace .BadParameter ("expected selector identifier, got: %T" , sexpr .X )
230238 }
239+
231240 return fmt .Sprintf ("%s.%s" , id .Name , sexpr .Sel .Name ), nil
232241 }
233242
234243 id , ok := node .(* ast.Ident )
235244 if ! ok {
236245 return "" , trace .BadParameter ("expected identifier, got: %T" , node )
237246 }
247+
238248 return id .Name , nil
239249}
240250
@@ -245,20 +255,23 @@ func literalToValue(a *ast.BasicLit) (interface{}, error) {
245255 if err != nil {
246256 return nil , trace .BadParameter ("failed to parse argument: %s, error: %s" , a .Value , err )
247257 }
258+
248259 return value , nil
249260
250261 case token .INT :
251262 value , err := strconv .Atoi (a .Value )
252263 if err != nil {
253264 return nil , trace .BadParameter ("failed to parse argument: %s, error: %s" , a .Value , err )
254265 }
266+
255267 return value , nil
256268
257269 case token .STRING :
258270 value , err := strconv .Unquote (a .Value )
259271 if err != nil {
260272 return nil , trace .BadParameter ("failed to parse argument: %s, error: %s" , a .Value , err )
261273 }
274+
262275 return value , nil
263276 }
264277
@@ -289,10 +302,12 @@ func callFunction(f interface{}, args []interface{}) (v interface{}, err error)
289302 if e == nil {
290303 return v , nil
291304 }
305+
292306 err , ok := e .(error )
293307 if ! ok {
294308 return nil , trace .BadParameter ("expected error as a second return value, got %T" , e )
295309 }
310+
296311 return v , err
297312
298313 default :
0 commit comments