Class BooleanType

java.lang.Object
com.google.javascript.rhino.jstype.JSType
com.google.javascript.rhino.jstype.BooleanType
All Implemented Interfaces:
Serializable

public class BooleanType extends JSType
Boolean type.
See Also:
  • Method Details

    • isNullable

      public boolean isNullable()
      Description copied from class: JSType
      Tests whether this type is nullable.
      Overrides:
      isNullable in class JSType
    • testForEquality

      public TernaryValue testForEquality(JSType that)
      Description copied from class: JSType
      Compares this and that.
      Overrides:
      testForEquality in class JSType
      Returns:
      • TernaryValue.TRUE if the comparison of values of this type and that always succeed (such as undefined compared to null)
      • TernaryValue.FALSE if the comparison of values of this type and that always fails (such as undefined compared to number)
      • TernaryValue.UNKNOWN if the comparison can succeed or fail depending on the concrete values
    • isBooleanValueType

      public boolean isBooleanValueType()
      Overrides:
      isBooleanValueType in class JSType
    • 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
    • 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
    • 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
    • autoboxesTo

      public JSType autoboxesTo()
      Description copied from class: JSType
      Turn a scalar type to the corresponding object type.
      Overrides:
      autoboxesTo in class JSType
      Returns:
      the auto-boxed type or null if this type is not a scalar.
    • 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.
      Overrides:
      getDisplayName in class JSType
      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:
      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.