MCPcopy
hub / github.com/cilium/cilium / getEllipsisRHSExpansion

Function getEllipsisRHSExpansion

tools/metricslint/pkg/analyzer/analyzer.go:36–62  ·  view source on GitHub ↗
(expr ast.Expr)

Source from the content-addressed store, hash-verified

34}
35
36func getEllipsisRHSExpansion(expr ast.Expr) (*ast.CompositeLit, error) {
37 var ident *ast.Ident
38
39 sel, ok := expr.(*ast.SelectorExpr)
40 if ok {
41 ident, ok = sel.X.(*ast.Ident)
42 } else {
43 ident, ok = expr.(*ast.Ident)
44 }
45 if !ok {
46 return nil, fmt.Errorf("unknown identifier")
47 }
48
49 inlineAssignment, ok := ident.Obj.Decl.(*ast.AssignStmt)
50 if !ok {
51 return nil, fmt.Errorf("expected assignment statement")
52 }
53 if len(inlineAssignment.Rhs) != 1 {
54 return nil, fmt.Errorf("unexpected RHS expression length")
55 }
56
57 slice, ok := inlineAssignment.Rhs[0].(*ast.CompositeLit)
58 if !ok {
59 return nil, fmt.Errorf("expected composite literal")
60 }
61 return slice, nil
62}
63
64func countArgs(call *ast.CallExpr) (int, error) {
65 if call.Ellipsis == token.NoPos {

Callers 1

countArgsFunction · 0.85

Calls 1

ErrorfMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…