@Override public JSType caseNoObjectType() { return getNativeType(NO_OBJECT_TYPE); }
/** * Delegates the calculation of the preciser scope to the next link. * If there is no next link, returns the blind scope. */ protected FlowScope nextPreciserScopeKnowingConditionOutcome(Node condition, FlowScope blindScope, boolean outcome) { return nextLink != null ? nextLink.getPreciserScopeKnowingConditionOutcome( condition, blindScope, outcome) : blindScope; }
if (type == null) { if (resultEqualsValue) { JSType result = getNativeTypeForTypeOf(value); return result == null ? getNativeType(CHECKED_UNKNOWN_TYPE) : result; } else { return null;
@Override public ReverseAbstractInterpreter getReverseAbstractInterpreter() { if (abstractInterpreter == null) { ChainableReverseAbstractInterpreter interpreter = new SemanticReverseAbstractInterpreter(getTypeRegistry()); if (options.closurePass) { interpreter = new ClosureReverseAbstractInterpreter(getTypeRegistry()) .append(interpreter).getFirst(); } abstractInterpreter = interpreter; } return abstractInterpreter; }
if (type == null) { if (resultEqualsValue) { JSType result = getNativeTypeForTypeOf(value); return result == null ? getNativeType(CHECKED_UNKNOWN_TYPE) : result; } else { return null;
@Override public ReverseAbstractInterpreter getReverseAbstractInterpreter() { if (abstractInterpreter == null) { ChainableReverseAbstractInterpreter interpreter = new SemanticReverseAbstractInterpreter(getTypeRegistry()); if (options.closurePass) { interpreter = new ClosureReverseAbstractInterpreter(getTypeRegistry()) .append(interpreter).getFirst(); } abstractInterpreter = interpreter; } return abstractInterpreter; }
@Override public JSType caseUnknownType() { return getNativeType(UNKNOWN_TYPE); }
/** * Calculates the preciser scope starting with the first link. */ protected FlowScope firstPreciserScopeKnowingConditionOutcome(Node condition, FlowScope blindScope, boolean outcome) { return firstLink.getPreciserScopeKnowingConditionOutcome( condition, blindScope, outcome); }
@Override public JSType caseStringType() { return getNativeType(STRING_TYPE); }
/** * Delegates the calculation of the preciser scope to the next link. * If there is no next link, returns the blind scope. */ protected FlowScope nextPreciserScopeKnowingConditionOutcome(Node condition, FlowScope blindScope, boolean outcome) { return nextLink != null ? nextLink.getPreciserScopeKnowingConditionOutcome( condition, blindScope, outcome) : blindScope; }
@Override public JSType caseUnknownType() { return getNativeType(UNKNOWN_TYPE); }
/** * Calculates the preciser scope starting with the first link. */ protected FlowScope firstPreciserScopeKnowingConditionOutcome(Node condition, FlowScope blindScope, boolean outcome) { return firstLink.getPreciserScopeKnowingConditionOutcome( condition, blindScope, outcome); }
@Override public JSType caseVoidType() { return getNativeType(VOID_TYPE); } }
@Override public JSType caseBooleanType() { return getNativeType(BOOLEAN_TYPE); }
@Override public JSType caseNullType() { return getNativeType(NULL_TYPE); }
@Override public JSType caseBooleanType() { return getNativeType(BOOLEAN_TYPE); }
@Override public JSType caseVoidType() { return getNativeType(VOID_TYPE); }
@Override public JSType caseVoidType() { return getNativeType(VOID_TYPE); } }
@Override public JSType caseNullType() { return getNativeType(NULL_TYPE); }
@Override public JSType caseSymbolType() { return getNativeType(SYMBOL_TYPE); }