Class SemanticReverseAbstractInterpreter

  • All Implemented Interfaces:
    ReverseAbstractInterpreter

    public class SemanticReverseAbstractInterpreter
    extends ChainableReverseAbstractInterpreter
    A reverse abstract interpreter using the semantics of the JavaScript language as a means to reverse interpret computations. This interpreter expects the parse tree inputs to be typed.
    • Constructor Detail

      • SemanticReverseAbstractInterpreter

        public SemanticReverseAbstractInterpreter​(CodingConvention convention,
                                                  JSTypeRegistry typeRegistry)
        Creates a semantic reverse abstract interpreter.
    • Method Detail

      • getPreciserScopeKnowingConditionOutcome

        public FlowScope getPreciserScopeKnowingConditionOutcome​(Node condition,
                                                                 FlowScope blindScope,
                                                                 boolean outcome)
        Description copied from interface: ReverseAbstractInterpreter
        Calculates a precise version of the scope knowing the outcome of the condition.
        Parameters:
        condition - the condition's expression
        blindScope - the scope without knowledge about the outcome of the condition
        outcome - the outcome of the condition