@@ -496,19 +496,15 @@ func (c *metricDecoder) decodeBucketFunctionCall(v *ast.CallExpr) ([]float64, er
496
496
case "MergeBuckets" :
497
497
merged := []float64 {}
498
498
for _ , arg := range v .Args {
499
- cl , ok := arg .(* ast. CompositeLit )
500
- if ok {
501
- fs , err := decodeListOfFloats (cl , cl .Elts )
499
+ switch argExpr := arg .(type ) {
500
+ case * ast. CompositeLit :
501
+ fs , err := decodeListOfFloats (argExpr , argExpr .Elts )
502
502
if err != nil {
503
503
return nil , err , true
504
504
}
505
505
merged = append (merged , fs ... )
506
- } else {
507
- v2 , ok := arg .(* ast.CallExpr )
508
- if ! ok {
509
- return nil , newDecodeErrorf (v2 , errBuckets ), true
510
- }
511
- se , ok = v2 .Fun .(* ast.SelectorExpr )
506
+ case * ast.CallExpr :
507
+ se , ok = argExpr .Fun .(* ast.SelectorExpr )
512
508
if ok {
513
509
functionName := se .Sel .String ()
514
510
functionImport , ok := se .X .(* ast.Ident )
@@ -518,7 +514,7 @@ func (c *metricDecoder) decodeBucketFunctionCall(v *ast.CallExpr) ([]float64, er
518
514
if functionImport .String () != c .kubeMetricsImportName {
519
515
return nil , newDecodeErrorf (v , errBuckets ), true
520
516
}
521
- firstArg , secondArg , thirdArg , err := decodeBucketArguments (v2 )
517
+ firstArg , secondArg , thirdArg , err := decodeBucketArguments (argExpr )
522
518
if err != nil {
523
519
return nil , err , true
524
520
}
0 commit comments