com.google.javascript.jscomp.type
Class SemanticReverseAbstractInterpreter

java.lang.Object
  extended by com.google.javascript.jscomp.type.ChainableReverseAbstractInterpreter
      extended by com.google.javascript.jscomp.type.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.


Field Summary
 
Fields inherited from class com.google.javascript.jscomp.type.ChainableReverseAbstractInterpreter
convention
 
Constructor Summary
SemanticReverseAbstractInterpreter(CodingConvention convention, JSTypeRegistry typeRegistry)
          Creates a semantic reverse abstract interpreter.
 
Method Summary
 FlowScope getPreciserScopeKnowingConditionOutcome(Node condition, FlowScope blindScope, boolean outcome)
          Calculates a precise version of the scope knowing the outcome of the condition.
 
Methods inherited from class com.google.javascript.jscomp.type.ChainableReverseAbstractInterpreter
append, declareNameInScope, firstPreciserScopeKnowingConditionOutcome, getFirst, getRestrictedWithoutNull, getRestrictedWithoutUndefined, getTypeIfRefinable, nextPreciserScopeKnowingConditionOutcome
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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