Class VoidType
- java.lang.Object
-
- com.google.javascript.rhino.jstype.JSType
-
- com.google.javascript.rhino.jstype.VoidType
-
public final class VoidType extends JSType
Void type whose only element is theundefined
value.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.google.javascript.rhino.jstype.JSType
JSType.HasPropertyKind, JSType.Nullability, JSType.SubtypingMode, JSType.TypePair, JSType.WithSourceRef
-
-
Field Summary
-
Fields inherited from class com.google.javascript.rhino.jstype.JSType
templateTypeMap
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.String
getDisplayName()
Returns a user meaningful label for the JSType instance.BooleanLiteralSet
getPossibleToBooleanOutcomes()
Computes the set of possible outcomes of theToBoolean
predicate for this type.JSType.HasPropertyKind
getPropertyKind(java.lang.String propertyName, boolean autobox)
Checks whether the property is present on the object.boolean
hasDisplayName()
boolean
isExplicitlyVoidable()
Tests whether this type explicitly allows undefined, as opposed to ? or *.boolean
isVoidable()
Tests whether this type is voidable.boolean
isVoidType()
boolean
matchesNumberContext()
This predicate is used to test whether a given type can appear in a numeric context, such as an operand of a multiply operator.boolean
matchesObjectContext()
This predicate is used to test whether a given type can appear in anObject
context, such as the expression in a with statement.boolean
matchesStringContext()
This predicate is used to test whether a given type can appear in aString
context, such as an operand of a string concat (+) operator.JSType
restrictByNotNullOrUndefined()
If this is a union type, returns a union type that does not include the null or undefined type.JSType
restrictByNotUndefined()
If this is a union type, returns a union type that does not include the undefined type.Tri
testForEquality(JSType that)
Comparesthis
andthat
.<T> T
visit(Visitor<T> visitor)
Visit this type with the given visitor.-
Methods inherited from class com.google.javascript.rhino.jstype.JSType
areSimilar, assertFunctionType, assertObjectType, autobox, autoboxesTo, canBeCalled, canCastTo, canTestForEqualityWith, canTestForShallowEqualityWith, collapseUnion, containsReferenceAncestor, dereference, differsFrom, equals, findPropertyType, findPropertyTypeWithoutConsideringTemplateTypes, getEnumeratedTypeOfEnumElement, getGreatestSubtype, getJSDocInfo, getLeastSupertype, getPropertyKind, getRestrictedTypeGivenOutcome, getTemplateParamCount, getTemplateTypeMap, getTypeParameters, getTypesUnderEquality, getTypesUnderInequality, getTypesUnderShallowEquality, getTypesUnderShallowInequality, getUnionMembers, hasAnyTemplateTypes, hashCode, hasProperty, isAllType, isArrayType, isBigIntObjectType, isBigIntOrNumber, isBigIntValueType, isBooleanObjectType, isBooleanValueType, isBoxableScalar, isCheckedUnknownType, isConstructor, isDateType, isDict, isEmptyType, isEnumElementType, isEnumType, isFunctionPrototypeType, isFunctionType, isGlobalThisType, isInstanceType, isInterface, isLiteralObject, isNamedType, isNativeObjectType, isNominalConstructorOrInterface, isNominalType, isNoObjectType, isNoResolvedType, isNoType, isNullable, isNullType, isNumber, isNumberObjectType, isNumberValueType, isObject, isObjectType, isOnlyBigInt, isOrdinaryFunction, isRawTypeOfTemplatizedType, isRecordType, isRegexpType, isResolved, isSomeUnknownType, isString, isStringObjectType, isStringValueType, isStruct, isStructuralInterface, isStructuralType, isSubtype, isSubtype, isSubtypeOf, isSubtypeOf, isSubtypeWithoutStructuralTyping, isSuccessfullyResolved, isSymbol, isSymbolObjectType, isSymbolValueType, isTemplateType, isTemplatizedType, isUnionType, isUnknownType, isUnsuccessfullyResolved, loosenTypecheckingDueToForwardReferencedSupertype, matchConstraint, matchesSymbolContext, mergeSupertypeTemplateTypes, resolve, restrictByNotNull, setValidator, toAnnotationString, toMaybeEnumElementType, toMaybeEnumType, toMaybeFunctionType, toMaybeFunctionType, toMaybeNamedType, toMaybeObjectType, toMaybeRecordType, toMaybeTemplateType, toMaybeTemplatizedType, toMaybeUnionType, toObjectType, toString
-
-
-
-
Method Detail
-
restrictByNotNullOrUndefined
public JSType restrictByNotNullOrUndefined()
Description copied from class:JSType
If this is a union type, returns a union type that does not include the null or undefined type.- Overrides:
restrictByNotNullOrUndefined
in classJSType
-
restrictByNotUndefined
public JSType restrictByNotUndefined()
Description copied from class:JSType
If this is a union type, returns a union type that does not include the undefined type.- Overrides:
restrictByNotUndefined
in classJSType
-
testForEquality
public Tri testForEquality(JSType that)
Description copied from class:JSType
Comparesthis
andthat
.- Overrides:
testForEquality
in classJSType
- Returns:
Tri.TRUE
if the comparison of values ofthis
type andthat
always succeed (such asundefined
compared tonull
)Tri.FALSE
if the comparison of values ofthis
type andthat
always fails (such asundefined
compared tonumber
)Tri.UNKNOWN
if the comparison can succeed or fail depending on the concrete values
-
matchesNumberContext
public boolean matchesNumberContext()
Description copied from class:JSType
This predicate is used to test whether a given type can appear in a numeric context, such as an operand of a multiply operator.- Overrides:
matchesNumberContext
in classJSType
-
matchesObjectContext
public boolean matchesObjectContext()
Description copied from class:JSType
This predicate is used to test whether a given type can appear in anObject
context, such as the expression in a with statement. Most types we will encounter, except notablynull
, have at least the potential for converting toObject
. Host defined objects can get peculiar.- Overrides:
matchesObjectContext
in classJSType
-
matchesStringContext
public boolean matchesStringContext()
Description copied from class:JSType
This predicate is used to test whether a given type can appear in aString
context, such as an operand of a string concat (+) operator. All types have at least the potential for converting toString
. When we add externally defined types, such as a browser OM, we may choose to add types that do not automatically convert toString
.- Overrides:
matchesStringContext
in classJSType
-
isVoidType
public boolean isVoidType()
- Overrides:
isVoidType
in classJSType
-
isVoidable
public boolean isVoidable()
Description copied from class:JSType
Tests whether this type is voidable.- Overrides:
isVoidable
in classJSType
-
isExplicitlyVoidable
public boolean isExplicitlyVoidable()
Description copied from class:JSType
Tests whether this type explicitly allows undefined, as opposed to ? or *. This is required for a property to be optional.- Overrides:
isExplicitlyVoidable
in classJSType
-
getDisplayName
public java.lang.String getDisplayName()
Description copied from class:JSType
Returns a user meaningful label for the JSType instance. For example, Functions and Enums will return their declaration name (if they have one). Some types will not have a meaningful display name. Calls to hasDisplayName() will return true IFF getDisplayName() will return null or a zero length string.- Returns:
- the display name of the type, or null if one is not available
-
getPossibleToBooleanOutcomes
public BooleanLiteralSet getPossibleToBooleanOutcomes()
Description copied from class:JSType
Computes the set of possible outcomes of theToBoolean
predicate for this type. TheToBoolean
predicate is defined by the ECMA-262 standard, 3rd edition. Its behavior for simple types can be summarized by the following table:ToBoolean results by input type type result undefined
{false} null
{false} boolean
{true, false} number
{true, false} string
{true, false} Object
{true} - Specified by:
getPossibleToBooleanOutcomes
in classJSType
- Returns:
- the set of boolean literals for this type
-
visit
public <T> T visit(Visitor<T> visitor)
Description copied from class:JSType
Visit this type with the given visitor.
-
hasDisplayName
public boolean hasDisplayName()
- Overrides:
hasDisplayName
in classJSType
- Returns:
- true if the JSType has a user meaningful label.
-
getPropertyKind
public JSType.HasPropertyKind getPropertyKind(java.lang.String propertyName, boolean autobox)
Description copied from class:JSType
Checks whether the property is present on the object.- Overrides:
getPropertyKind
in classJSType
- Parameters:
propertyName
- The property name.autobox
- Whether to check for the presents on an autoboxed type
-
-