Interface NodeVisitor<T>

Type Parameters:
T - the type of the object that's returned after an ExpressionNode evaluation
All Known Implementing Classes:
ExpressionReducer, NodeTransformer, SideEffectVisitor, VariableFinder

@ProviderType public interface NodeVisitor<T>
A NodeVisitor represents the mechanism through which ExpressionNode entities are processed.
  • Method Details

    • evaluate

      T evaluate(PropertyAccess propertyAccess)
      Evaluate a PropertyAccess node.
      Parameters:
      propertyAccess - the node to evaluate
      Returns:
      the evaluation result
    • evaluate

      T evaluate(Identifier identifier)
      Evaluate an Identifier node.
      Parameters:
      identifier - the node to evaluate
      Returns:
      the evaluation result
    • evaluate

      T evaluate(StringConstant text)
      Evaluate a StringConstant node.
      Parameters:
      text - the node to evaluate
      Returns:
      the evaluation result
    • evaluate

      T evaluate(BinaryOperation binaryOperation)
      Evaluate a BinaryOperation node.
      Parameters:
      binaryOperation - the node to evaluate
      Returns:
      the evaluation result
    • evaluate

      T evaluate(BooleanConstant booleanConstant)
      Evaluate a BooleanConstant node.
      Parameters:
      booleanConstant - the node to evaluate
      Returns:
      the evaluation result
    • evaluate

      T evaluate(NumericConstant numericConstant)
      Evaluate a NumericConstant node.
      Parameters:
      numericConstant - the node to evaluate
      Returns:
      the evaluation result
    • evaluate

      T evaluate(UnaryOperation unaryOperation)
      Evaluate a UnaryOperation node.
      Parameters:
      unaryOperation - the node to evaluate
      Returns:
      the evaluation result
    • evaluate

      T evaluate(TernaryOperator ternaryOperator)
      Evaluate a TernaryOperator node.
      Parameters:
      ternaryOperator - the node to evaluate
      Returns:
      the evaluation result
    • evaluate

      T evaluate(RuntimeCall runtimeCall)
      Evaluate a RuntimeCall node.
      Parameters:
      runtimeCall - the node to evaluate
      Returns:
      the evaluation result
    • evaluate

      T evaluate(MapLiteral mapLiteral)
      Evaluate a MapLiteral node.
      Parameters:
      mapLiteral - the node to evaluate
      Returns:
      the evaluation result
    • evaluate

      T evaluate(ArrayLiteral arrayLiteral)
      Evaluate a ArrayLiteral node.
      Parameters:
      arrayLiteral - the node to evaluate
      Returns:
      the evaluation result
    • evaluate

      T evaluate(NullLiteral nullLiteral)
      Evaluate a NullLiteral node.
      Parameters:
      nullLiteral - the node to evaluate
      Returns:
      the evaluation result