code: func (a *archive) Match(n ast.Node, c *gosec.Context) (*gosec.Issue, error) {
  	if node := a.calls.ContainsCallExpr(n, c, false); node != nil {
  		for _, arg := range node.Args {
  			var argType types.Type
  			if selector, ok := arg.(*ast.SelectorExpr); ok {
  				argType = c.Info.TypeOf(selector.X)
  			} else if ident, ok := arg.(*ast.Ident); ok {
  				if ident.Obj != nil && ident.Obj.Kind == ast.Var {
  					decl := ident.Obj.Decl
  					if assign, ok := decl.(*ast.AssignStmt); ok {
  						if selector, ok := assign.Rhs[0].(*ast.SelectorExpr); ok {
  							argType = c.Info.TypeOf(selector.X)
  						}
  					}
  				}
  			}
  
  			if argType != nil && argType.String() == a.argType {
  				return gosec.NewIssue(c, n, a.ID(), a.What, a.Severity, a.Confidence), nil
  			}
  		}
  	}
  	return nil, nil
  }
docs: // Match inspects AST nodes to determine if the filepath.Joins uses any argument derived from type zip.File