Class BigIntType

  • All Implemented Interfaces:
    java.io.Serializable

    public class BigIntType
    extends JSType
    BigInt type.
    See Also:
    Serialized Form
    • Method Detail

      • 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
      • 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
      • 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 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:
        Visitor
      • 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.
      • hasDisplayName

        public boolean hasDisplayName()
        Overrides:
        hasDisplayName in class JSType
        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 class JSType
        Parameters:
        propertyName - The property name.
        autobox - Whether to check for the presents on an autoboxed type