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 the undefined value.
  • Method Details

    • 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 class JSType
    • 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 class JSType
    • testForEquality

      public Tri testForEquality(JSType that)
      Description copied from class: JSType
      Compares this and that.
      Overrides:
      testForEquality in class JSType
      Returns:
      • Tri.TRUE if the comparison of values of this type and that always succeed (such as undefined compared to null)
      • Tri.FALSE if the comparison of values of this type and that always fails (such as undefined compared to number)
      • 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 class JSType
    • matchesObjectContext

      public boolean matchesObjectContext()
      Description copied from class: JSType
      This predicate is used to test whether a given type can appear in an Object context, such as the expression in a with statement. Most types we will encounter, except notably null, have at least the potential for converting to Object. Host defined objects can get peculiar.
      Overrides:
      matchesObjectContext in class JSType
    • matchesStringContext

      public boolean matchesStringContext()
      Description copied from class: JSType
      This predicate is used to test whether a given type can appear in a String context, such as an operand of a string concat (+) operator. All types have at least the potential for converting to String. When we add externally defined types, such as a browser OM, we may choose to add types that do not automatically convert to String.
      Overrides:
      matchesStringContext in class JSType
    • isVoidType

      public boolean isVoidType()
      Overrides:
      isVoidType in class JSType
    • isVoidable

      public boolean isVoidable()
      Description copied from class: JSType
      Tests whether this type is voidable.
      Overrides:
      isVoidable in class JSType
    • 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 class JSType
    • getDisplayName

      public 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 the ToBoolean predicate for this type. The ToBoolean 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
      typeresult
      undefined{false}
      null{false}
      boolean{true, false}
      number{true, false}
      string{true, false}
      Object{true}
      Specified by:
      getPossibleToBooleanOutcomes in class JSType
      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.
      Specified by:
      visit in class JSType
      Returns:
      the value returned by the visitor
      See Also:
    • hasDisplayName

      public boolean hasDisplayName()
      Overrides:
      hasDisplayName in class JSType
      Returns:
      true if the JSType has a user meaningful label.
    • getPropertyKind

      public JSType.HasPropertyKind getPropertyKind(String propertyName, boolean autobox)
      Description copied from class: JSType
      Checks whether the property is present on the object.
      Overrides:
      getPropertyKind in class JSType
      Parameters:
      propertyName - The property name.
      autobox - Whether to check for the presents on an autoboxed type