Class BoxFunctionInvocation

java.lang.Object
ortus.boxlang.compiler.ast.BoxNode
ortus.boxlang.compiler.ast.BoxExpression
ortus.boxlang.compiler.ast.expression.BoxFunctionInvocation
All Implemented Interfaces:
BoxVisitable

public class BoxFunctionInvocation extends BoxExpression
AST Node representing a fully qualified name
  • Constructor Details

    • BoxFunctionInvocation

      public BoxFunctionInvocation(String name, List<BoxArgument> arguments, Position position, String sourceText)
      Function invocation i.e. create(x)
      Parameters:
      name - name of the function to invoke
      arguments - list of arguments
      position - position of the statement in the source code
      sourceText - source code that originated the Node
  • Method Details

    • getName

      public String getName()
    • getArguments

      public List<BoxArgument> getArguments()
    • setArguments

      public void setArguments(List<BoxArgument> arguments)
    • setName

      public void setName(String name)
    • isNamedArgs

      public boolean isNamedArgs()
      Checks if the function invocation is using named arguments. If there are no args defined, we return false. In that case, it doesn't neccessarily mean the args are positional, but they certainly aren't named either, so it's not wrong.
      Returns:
      true if the function invocation is using named arguments, false otherwise
    • toMap

      public Map<String,Object> toMap()
      Overrides:
      toMap in class BoxNode
    • accept

      public void accept(VoidBoxVisitor v)
      Description copied from interface: BoxVisitable
      Accept method for visitor support.
      Parameters:
      v - the visitor implementation
    • accept

      public BoxNode accept(ReplacingBoxVisitor v)
      Description copied from interface: BoxVisitable
      Accept method for replacing visitor support. Each accept returns the node, or a replacement node.
      Parameters:
      v - the visitor implementation
    • getDescription

      public String getDescription()
      Description copied from class: BoxNode
      Returns a human-readable description of the node, which it manufactures from the class name.

      While that is quite often good enough, override this method in subclasses to provide a better description when this default does not work quite right.

      Overrides:
      getDescription in class BoxNode
      Returns:
      human readable description of the expression, for use in error messages etc