@Override public JSType caseBooleanType() { return getNativeType(BOOLEAN_TYPE); }
@Override public JSType caseNoObjectType() { return getNativeType(NO_OBJECT_TYPE); }
@Override public JSType caseUnknownType() { return getNativeType(UNKNOWN_TYPE); }
@Override public JSType caseStringType() { return getNativeType(STRING_TYPE); }
@Override public JSType caseUnknownType() { return getNativeType(UNKNOWN_TYPE); }
@Override public JSType caseVoidType() { return getNativeType(VOID_TYPE); } }
@Override public JSType caseNullType() { return getNativeType(NULL_TYPE); }
@Override public JSType caseNullType() { return getNativeType(NULL_TYPE); }
@Override public JSType caseVoidType() { return getNativeType(VOID_TYPE); }
@Override public JSType caseNoObjectType() { return (value.equals("object") || value.equals("function")) == resultEqualsValue ? getNativeType(NO_OBJECT_TYPE) : null; }
@Override public JSType caseVoidType() { return matchesExpectation("undefined") ? getNativeType(VOID_TYPE) : null; } }
@Override public JSType caseObjectType(ObjectType type) { JSType arrayType = getNativeType(ARRAY_TYPE); return arrayType.isSubtypeOf(type) ? arrayType : null; } };
@Override public JSType caseObjectType(ObjectType type) { return type.isSubtype(getNativeType(ARRAY_TYPE)) ? null : type; } };
@Override public JSType caseBooleanType() { return matchesExpectation("boolean") ? getNativeType(BOOLEAN_TYPE) : null; }
@Override public JSType caseSymbolType() { return matchesExpectation("symbol") ? getNativeType(SYMBOL_TYPE) : null; }
@Override public JSType caseUnionType(UnionType type) { return type.getRestrictedUnion(getNativeType(VOID_TYPE)); }
@Override public JSType caseNumberType() { return matchesExpectation("number") ? getNativeType(NUMBER_TYPE) : null; }
@Override public JSType caseUnionType(UnionType type) { return type.getRestrictedUnion(getNativeType(VOID_TYPE)); }
@Override public JSType caseUnknownType() { return caseTopType(getNativeType(CHECKED_UNKNOWN_TYPE)); }
@Override public JSType caseObjectType(ObjectType type) { JSType arrayType = getNativeType(ARRAY_TYPE); return arrayType.isSubtype(type) ? arrayType : null; } };