Class LambdaExpressionNestedState


  • public final class LambdaExpressionNestedState
    extends java.lang.Object
    Stores the state required for correct evaluation of lambda expressions. Lambda expressions may be nested. Correct evaluation requires knowledge not just of the current lambda expression, but also of any nested and nesting expressions.

    The sets of nodes for parsed expressions are cached and, as a result, a set of nodes may be being used by multiple concurrent threads. This means any state relating to evaluation cannot be stored in the nodes. State is therefore stored in the EvaluationContext which is created, used for a single evaluation and then discarded.

    • Constructor Detail

      • LambdaExpressionNestedState

        public LambdaExpressionNestedState()
        Default constructor.
    • Method Detail

      • incrementNestingCount

        public void incrementNestingCount()
        Increments the nesting count for nested lambda expressions.
      • getNestingCount

        public int getNestingCount()
        Returns the current nesting count.
        Returns:
        the nesting count
      • setHasFormalParameters

        public void setHasFormalParameters()
        Marks that the current lambda expression has formal parameters.
      • getHasFormalParameters

        public boolean getHasFormalParameters()
        Returns whether the current lambda expression has formal parameters.
        Returns:
        true if the lambda has formal parameters