code: func (r *readfile) isJoinFunc(n ast.Node, c *gosec.Context) bool {
  	if call := r.pathJoin.ContainsCallExpr(n, c, false); call != nil {
  		for _, arg := range call.Args {
  			// edge case: check if one of the args is a BinaryExpr
  			if binExp, ok := arg.(*ast.BinaryExpr); ok {
  				// iterate and resolve all found identities from the BinaryExpr
  				if _, ok := gosec.FindVarIdentities(binExp, c); ok {
  					return true
  				}
  			}
  
  			// try and resolve identity
  			if ident, ok := arg.(*ast.Ident); ok {
  				obj := c.Info.ObjectOf(ident)
  				if _, ok := obj.(*types.Var); ok && !gosec.TryResolve(ident, c) {
  					return true
  				}
  			}
  		}
  	}
  	return false
  }
docs: // isJoinFunc checks if there is a filepath.Join or other join function