Modifier and Type | Method and Description |
---|---|
void |
assertNonEmpty()
Checks that this value is non-empty (or polymorphic).
|
void |
cleanupIncludedExcluded(Value r) |
boolean |
containsObjectLabel(ObjectLabel objlabel)
Returns true if this value contains the given object label.
|
void |
diff(Value old,
java.lang.StringBuilder b)
Returns a description of the changes from the old value to this value.
|
boolean |
equals(java.lang.Object obj)
Checks whether the given object is equal to this one.
|
Value |
forgetExcludedIncludedStrings()
Constructs a value from this value but with no excluded or included strings.
|
java.util.Set<java.lang.String> |
getAllKnownStr()
Returns the set of all known strings.
|
java.util.Set<ObjectLabel> |
getAllObjectLabels()
Returns the (immutable) set of object labels.
|
java.util.Set<java.lang.String> |
getExcludedStrings()
Returns the strings that are explicitly excluded, or null if none.
|
java.util.Set<ObjectLabel> |
getGetters()
Returns the (immutable) set of getters.
|
java.util.Set<java.lang.String> |
getIncludedStrings()
Returns the strings that are explicitly included, or null if none.
|
java.lang.Double |
getNum()
Returns the singleton number value, or null if definitely not a singleton number.
|
java.util.Set<ObjectLabel> |
getObjectLabels()
Returns the (immutable) set of object labels (including symbols).
|
ObjectProperty |
getObjectProperty()
Returns the object property.
|
java.util.Set<SourceLocation> |
getObjectSourceLocations()
Returns the source locations of the objects and symbols in this value.
|
java.lang.String |
getPrefix()
Returns the prefix value.
|
java.util.Set<ObjectLabel> |
getSetters()
Returns the (immutable) set of setters.
|
java.lang.String |
getStr()
Returns the singleton string value.
|
java.util.Set<ObjectLabel> |
getSymbols()
Returns the (immutable) set of object labels representing symbols.
|
boolean |
hasDontDelete()
Returns true if this value has DontDelete information.
|
boolean |
hasDontEnum()
Returns true if this value has DontEnum information.
|
int |
hashCode()
Returns the hash code for this value.
|
boolean |
hasReadOnly()
Returns true if this value has ReadOnly information.
|
boolean |
isDontDelete()
Returns true is this value belongs to a property which definitely has DontDelete set.
|
boolean |
isDontEnum()
Returns true is this value belongs to a property which definitely has DontEnum set.
|
boolean |
isExtendedScope()
Returns true if this value is marked as having extended scope.
|
boolean |
isInf()
Returns true if this value is definitely infinite.
|
boolean |
isMaybeAbsent()
Returns true if this value belongs to a maybe absent property.
|
boolean |
isMaybeAllKnownStr()
Returns true if the value contains only known strings (possibly beside values of other type).
|
boolean |
isMaybeAnyBool()
Returns true if this value is maybe any boolean.
|
boolean |
isMaybeAnyNum()
Returns true if this value is maybe any number.
|
boolean |
isMaybeAnyNumNotNaNInf()
Returns true if this value is maybe any number but not NaN or infinite.
|
boolean |
isMaybeAnyStr()
Returns true if this value is maybe any string (ignoring excluded strings).
|
boolean |
isMaybeDontDelete()
Returns true is this value belongs to a property which maybe has DontDelete set.
|
boolean |
isMaybeDontEnum()
Returns true is this value belongs to a property which maybe has DontEnum set.
|
boolean |
isMaybeFalse()
Returns true if this value is maybe false.
|
boolean |
isMaybeFalseButNotTrue()
Returns true if this value is maybe false but not true.
|
boolean |
isMaybeFuzzyNum()
Returns true if this value is maybe a non-singleton number or NaN or +/-Inf.
|
boolean |
isMaybeFuzzyStr()
Returns true if this value is maybe a non-singleton string.
|
boolean |
isMaybeFuzzyStrOrSymbol()
Returns true if this value is maybe a non-singleton string or a non-singleton symbol.
|
boolean |
isMaybeGetter()
Returns true if this value maybe represents a getter.
|
boolean |
isMaybeGetterOrSetter()
Returns true if this value maybe represents a getter or setter.
|
boolean |
isMaybeInf()
Returns true if this value is maybe infinite.
|
boolean |
isMaybeModified()
Checks whether this value is marked as maybe modified.
|
boolean |
isMaybeNaN()
Returns true if this value is maybe NaN.
|
boolean |
isMaybeNotDontDelete()
Returns true is this value belongs to a property which maybe does not have DontDelete set.
|
boolean |
isMaybeNotDontEnum()
Returns true is this value belongs to a property which maybe does not have DontEnum set.
|
boolean |
isMaybeNotReadOnly()
Returns true is this value belongs to a property which maybe does not have ReadOnly set.
|
boolean |
isMaybeNull()
Returns true if this value is maybe null.
|
boolean |
isMaybeNum(double num)
Returns true if the given number is matched by this value.
|
boolean |
isMaybeNumOther()
Returns true if this value is maybe any non-UInt, non-Inf, and non-NaN number.
|
boolean |
isMaybeNumUInt()
Returns true if this value is maybe any UInt number.
|
boolean |
isMaybeNumUIntPos()
Returns true is this value may be any positive UInt32.
|
boolean |
isMaybeObject()
Returns true if this value maybe represents an object.
|
boolean |
isMaybeObjectOrSymbol()
Returns true if this value maybe represents an object or a symbol.
|
boolean |
isMaybeOtherThanBool()
Returns true if this value is maybe a non-boolean.
|
boolean |
isMaybeOtherThanNull()
Returns true if this value is maybe some other than null.
|
boolean |
isMaybeOtherThanNum()
Returns true if this value is maybe a non-number.
|
boolean |
isMaybeOtherThanNumUInt()
Returns true if this value is maybe a non-UInt-number.
|
boolean |
isMaybeOtherThanStr()
Returns true if this value may be a non-string.
|
boolean |
isMaybeOtherThanStrOrSymbol()
Returns true if this value may be a non-property-key.
|
boolean |
isMaybeOtherThanSymbol() |
boolean |
isMaybeOtherThanUndef()
Returns true if this value is maybe some other than undefined.
|
boolean |
isMaybePolymorphicPresent()
Returns true if this value is maybe present in the polymorphic part.
|
boolean |
isMaybePresent()
Returns true if this value is maybe present.
|
boolean |
isMaybePresentAccessor()
Returns true if this value is maybe present as a getter/setter property.
|
boolean |
isMaybePresentData()
Returns true if this value is maybe present as a data property.
|
boolean |
isMaybePresentOrUnknown()
Returns true if this value is maybe present or 'unknown'.
|
boolean |
isMaybePrimitive()
Returns true if this value may be a primitive, including undefined, null.
|
boolean |
isMaybePrimitiveOrSymbol()
Returns true if this value may be a non-object, including undefined, null, and symbols.
|
boolean |
isMaybeReadOnly()
Returns true is this value belongs to a property which maybe has ReadOnly set.
|
boolean |
isMaybeSameNumber(Value v)
Returns true if this number value is maybe the same as the given one.
|
boolean |
isMaybeSameNumberWhenNegated(Value v)
Returns true if this number value is maybe the same as the given one when negated.
|
boolean |
isMaybeSetter()
Returns true if this value maybe represents a setter.
|
boolean |
isMaybeSingleAllocationSite()
Returns true is this value contains exactly one object source location.
|
boolean |
isMaybeSingleNum()
Returns true if this value is maybe a singleton number, excluding NaN and +/-Inf.
|
boolean |
isMaybeSingleNumUInt()
Returns true if this value is maybe a singleton UInt number.
|
boolean |
isMaybeSingleObjectLabel()
Returns true is this value contains exactly one object label.
|
boolean |
isMaybeSingleStr()
Returns true if value is maybe a singleton string.
|
boolean |
isMaybeSingleStrOrSymbol()
Returns true if this value is maybe a singleton string or a singleton symbol (but not both).
|
boolean |
isMaybeStr(java.lang.String s)
Checks whether the given string is matched by this value.
|
boolean |
isMaybeStrIdentifier()
Returns true if this value is maybe any identifier string (ignoring excluded strings).
|
boolean |
isMaybeStrJSON()
Returns true if this value maybe originates from a JSON source.
|
boolean |
isMaybeStrOnlyUInt()
Returns true if this value is maybe any UInt string but not a non-UInt string (ignoring excluded strings).
|
boolean |
isMaybeStrOther()
Returns true if this value is maybe any non-number, non-identifier-parts string (ignoring excluded strings).
|
boolean |
isMaybeStrOtherIdentifierParts()
Returns true if this value is maybe any string consisting of identifier parts,
ignoring identifier strings and UInt strings (and ignoring excluded strings).
|
boolean |
isMaybeStrOtherNum()
Returns true if this value is maybe any (unbounded) non-UInt number string, including Infinity, -Infinity, and NaN (ignoring excluded strings).
|
boolean |
isMaybeStrPrefix()
Returns true if this value is maybe a fixed nonempty prefix string (ignoring excluded strings).
|
boolean |
isMaybeStrSomeNonNumeric()
Returns true if this value is maybe a non-numeric string.
|
boolean |
isMaybeStrSomeNonUInt()
Returns true if this value is maybe a non-UInt string.
|
boolean |
isMaybeStrSomeNumeric()
Returns true if this value is maybe some numeric string.
|
boolean |
isMaybeStrSomeUInt()
Returns true if this value is maybe some UInt string.
|
boolean |
isMaybeStrUInt()
Returns true if this value is maybe any UInt string (ignoring excluded strings).
|
boolean |
isMaybeSymbol()
Returns true if this value may be a symbol.
|
boolean |
isMaybeTrue()
Returns true if this value is maybe true.
|
boolean |
isMaybeTrueButNotFalse()
Returns true if this value is maybe true but not false.
|
boolean |
isMaybeUndef()
Returns true if this value is maybe undefined.
|
boolean |
isMaybeZero()
Returns true is this value may be the number 0.
|
boolean |
isNaN()
Returns true if this value is definitely NaN.
|
boolean |
isNone()
Returns true if this abstract value represents no concrete values.
|
boolean |
isNotAbsent()
Returns true if this value belongs to a definitely present property.
|
boolean |
isNotASingletonObject()
Returns true if this value does not contain a singleton object label.
|
boolean |
isNotASummarizedObject()
Returns true if this value does not contain a summarized object label.
|
boolean |
isNotBool()
Returns true if this value is definitely not a boolean.
|
boolean |
isNotDontDelete()
Returns true is this value belongs to a property which definitely does not have DontDelete set.
|
boolean |
isNotDontEnum()
Returns true is this value belongs to a property which definitely does not have DontEnum set.
|
boolean |
isNotNull()
Returns true if this value is definitely not null.
|
boolean |
isNotNum()
Returns true if this value is definitely not a number.
|
boolean |
isNotPresent()
Returns true if this value is definitely not present.
|
boolean |
isNotPresentNotAbsent()
Returns true if this value is definitely not present and not absent.
|
boolean |
isNotReadOnly()
Returns true is this value belongs to a property which definitely does not have ReadOnly set.
|
boolean |
isNotStr()
Returns true if this value is definitely not a string.
|
boolean |
isNotUndef()
Returns true if this value is definitely not undefined.
|
boolean |
isNullOrUndef()
Returns true if this value is definitely null or undefined.
|
boolean |
isPolymorphic()
Checks whether this value is polymorphic.
|
boolean |
isPolymorphicOrUnknown()
Checks whether this value is polymorphic or 'unknown'.
|
boolean |
isReadOnly()
Returns true is this value belongs to a property which definitely has ReadOnly set.
|
boolean |
isStrIdentifier()
Returns true if this value is definitely an identifier string.
|
boolean |
isStrIdentifierParts()
Returns true if this value is definitely an identifier-parts string.
|
boolean |
isStrJSON()
Returns true if this value is definitely originating from a JSON source.
|
boolean |
isStrMayContainSubstring(Str other)
Checks whether this string value may contain the given substring.
|
static boolean |
isUInt32(double v)
Checks whether the given number is a UInt32.
|
boolean |
isUnknown()
Returns true if this value is 'unknown'.
|
static Value |
join(java.util.Collection<Value> values)
Constructs a value as the join of the given collection of values.
|
static Value |
join(Value... values)
Constructs a value as the join of the given collection of values.
|
Value |
join(Value v)
Constructs a value as the join of this value and the given value.
|
Value |
join(Value v,
boolean widen)
Constructs a value as the join of this value and the given value.
|
Value |
joinAbsent()
Constructs a value as a copy of this value but marked as maybe absent.
|
Value |
joinAbsentModified()
Constructs a value as a copy of this value but marked as maybe absent and maybe modified.
|
Value |
joinAnyBool()
Constructs a value as the join of this value and any boolean.
|
Value |
joinAnyNum()
Constructs a value as the join of this value and any number.
|
Value |
joinAnyNumOther()
Constructs a value as the join of this value and any non-UInt number (excluding NaN and +/-Infinity).
|
Value |
joinAnyNumUInt()
Constructs a value as the join of this value and any UInt number.
|
Value |
joinAnyStr()
Constructs a value as the join of this value and any string.
|
Value |
joinAnyStrIdentifier()
Constructs a value as the join of this value and any identifier string.
|
Value |
joinAnyStrIdentifierParts()
Constructs a value as the join of this value and any identifier-parts string.
|
Value |
joinAnyStrOther()
Constructs a value as the join of this value and any non-number, non-identifier-parts string (including NaN and +/-Infinity).
|
Value |
joinAnyStrOtherNum()
Constructs a value as the join of this value and any non-UInt number string (excluding NaN and +/-Infinity).
|
Value |
joinAnyStrUInt()
Constructs a value as the join of this value and any UInt string.
|
Value |
joinBool(boolean x)
Constructs a value as the join of this value and the given concrete boolean value.
|
Value |
joinBool(Value x)
Constructs a value as the join of this value and the given concrete boolean value.
|
Value |
joinGettersSetters(Value v)
Joins the getters and setters from v into this value.
|
Value |
joinMeta(Value v)
Joins the meta-information from v into this value.
|
Value |
joinModified()
Constructs a value as a copy of this value but marked as maybe modified.
|
Value |
joinNotDontDelete()
Constructs a value as a copy of this value but with DontDelete maybe not set.
|
Value |
joinNotDontEnum()
Constructs a value as a copy of this value but with DontEnum maybe not set.
|
Value |
joinNotReadOnly()
Constructs a value as a copy of this value but with ReadOnly maybe not set.
|
Value |
joinNull()
Constructs a value as the join of this value and null.
|
Value |
joinNum(double v)
Constructs a value as the join of this value and the given concrete number.
|
Value |
joinNumInf()
Constructs a value as the join of this value and +/-Inf.
|
Value |
joinNumNaN()
Constructs a value as the join of this value and NaN.
|
Value |
joinObject(ObjectLabel objlabel)
Constructs a value as the join of this value and the given object label.
|
Value |
joinPrefix(java.lang.String s)
Constructs a value as the join of this value and the given prefix string.
|
Value |
joinStr(java.lang.String s)
Constructs a value as the join of this value and the given concrete string.
|
Value |
joinUndef()
Constructs a value as the join of this value and undefined.
|
static Value |
makeAbsent()
Constructs the absent value.
|
static Value |
makeAbsentModified()
Constructs the absent modified value.
|
static Value |
makeAnyBool()
Constructs the value representing any boolean.
|
static Value |
makeAnyNum()
Constructs the value describing any number.
|
static Value |
makeAnyNumNotNaNInf()
Constructs the value describing number except NaN and infinity.
|
static Value |
makeAnyNumOther()
Constructs the value describing any non-UInt, non-+/-Inf, non-NaN number.
|
static Value |
makeAnyNumUInt()
Constructs the value describing any UInt number.
|
static Value |
makeAnyNumUIntPos()
Constructs the value describing any positive UInt number.
|
static Value |
makeAnyStr()
Constructs the value describing any string.
|
static Value |
makeAnyStrIdent()
Constructs the value describing any identifier string.
|
static Value |
makeAnyStrNotNumeric()
Constructs the value describing any non-numeric string.
|
static Value |
makeAnyStrNotUInt()
Constructs the value describing any non-UInt string.
|
static Value |
makeAnyStrNumeric()
Constructs the value describing any numeric string.
|
static Value |
makeAnyStrOtherNum()
Constructs the value describing any string containing non-UInt32 numbers, including Infinity, -Infinity, and NaN.
|
static Value |
makeAnyStrUInt()
Constructs the value describing any UInt string.
|
static Value |
makeBool(Bool b)
Constructs the value describing the given Bool.
|
static Value |
makeBool(boolean b)
Constructs the value describing the given boolean.
|
Value |
makeExtendedScope()
Returns a value as this one but marked as having extended scope.
|
Value |
makeGetter()
Converts the object labels in this value into getters.
|
static Value |
makeJSONStr()
Constructs the value describing any JSON string.
|
static Value |
makeNone()
Constructs the empty abstract value (= bottom, if not considering 'unknown').
|
static Value |
makeNoneModified()
Constructs the empty abstract value that is marked as modified.
|
Value |
makeNonPolymorphic()
Constructs a fresh non-polymorphic value using the attributes (excluding presence) of the given value.
|
static Value |
makeNull()
Constructs the value describing definitely null.
|
static Value |
makeNum(double d)
Constructs the value describing the given number.
|
static Value |
makeNumInf()
Constructs the value describing +/-Inf.
|
static Value |
makeNumNaN()
Constructs the value describing NaN.
|
static Value |
makeObject(ObjectLabel v)
Constructs the value describing the given object label.
|
static Value |
makeObject(java.util.Set<ObjectLabel> v)
Constructs the value describing the given object labels.
|
Value |
makePolymorphic(ObjectProperty prop)
Constructs a fresh polymorphic value from the attributes (including absence and presence) of this value.
|
Value |
makeSetter()
Converts the object labels in this value into setters.
|
static Value |
makeStr(java.lang.String s)
Constructs the value describing the given string.
|
static Value |
makeStrings(java.util.Collection<java.lang.String> strings)
Constructs a new value representing the given strings.
|
static Value |
makeStringsAndSymbols(java.util.Collection<PKey> properties)
Constructs a new value representing the given strings and symbols.
|
static Value |
makeSymbol(ObjectLabel v)
Constructs the value describing the given symbol object label.
|
static Value |
makeTemporaryStr(java.lang.String s)
Constructs a temporary value describing the given string.
|
static Value |
makeUndef()
Constructs the value describing definitely undefined.
|
static Value |
makeUnknown()
Constructs the unknown value.
|
boolean |
mustContainNonIdentifierCharacters()
Checks whether all strings represented by this abstract value contain a non-identifier character.
|
boolean |
mustOnlyBeIdentifierCharacters()
Checks whether all strings represented by this abstract value contain only identifier characters.
|
java.lang.String |
printAttributes()
Produces a string description of the attributes of this value.
|
java.lang.String |
printFlags() |
Value |
removeAttributes()
Constructs a value as a copy of the given value but with all attributes definitely not set.
|
Value |
removeObjects(java.util.Set<ObjectLabel> objs)
Constructs a value as a copy of this value but with the given object labels removed.
|
Value |
replaceObjectLabel(ObjectLabel oldlabel,
ObjectLabel newlabel)
Returns a copy of this value where the given object label has been replaced, if present.
|
Value |
replaceValue(Value v)
Constructs a value as a copy of the given value but with the attributes from this value.
|
static void |
reset()
Resets the cache.
|
Value |
restrictToAttributes()
Constructs a value as a copy of this value but for reading attributes.
|
Value |
restrictToBool()
Constructs a value from this value where only the boolean facet is considered.
|
Value |
restrictToFalsy()
Constructs a value as a copy of this value but definitely not truthy.
|
Value |
restrictToFunction()
Constructs a value as a copy of this value but only with functions.
|
Value |
restrictToGetter()
Constructs a value as a copy of this value but only with getter values.
|
Value |
restrictToGetterSetter()
Constructs a value as a copy of this value but only with getter/setter values.
|
Value |
restrictToLooseEquals(Value v)
Returns a value that models a safe approximation of the intersection of this value and the given value, using loose equality.
|
Value |
restrictToLooseNotEquals(Value v)
Returns a value that models a safe approximation of this value minus the given value, using loose equality.
|
Value |
restrictToNonAttributes()
Constructs a value as a copy of this value but with all attributes set to bottom.
|
Value |
restrictToNonSymbolObject()
Constructs a value as a copy of this value but only with non-symbol object values.
|
Value |
restrictToNotAbsent()
Constructs a value as a copy of this value but definitely not absent.
|
Value |
restrictToNotBool()
Constructs a value as a copy of this value but definitely not a boolean.
|
Value |
restrictToNotFunction()
Constructs a value as a copy of this value but only with non-functions.
|
Value |
restrictToNotGetter()
Constructs a value as a copy of this value but definitely not a getter.
|
Value |
restrictToNotGetterSetter()
Constructs a value as a copy of this value but definitely not a getter or setter.
|
Value |
restrictToNotInf()
Constructs a value as a copy of this value but definitely not +/- Infinity.
|
Value |
restrictToNotModified()
Constructs a value as a copy of this value but marked as definitely not modified.
|
Value |
restrictToNotNaN()
Constructs a value as a copy of this value but definitely not NaN.
|
Value |
restrictToNotNull()
Constructs a value as a copy of this value but definitely not null.
|
Value |
restrictToNotNullNotUndef()
Constructs a value as a copy of this value but definitely not null nor undefined.
|
Value |
restrictToNotNum()
Constructs a value from this value but definitely not a number.
|
Value |
restrictToNotNumInf()
Constructs a value from this value but definitely not +/- infinity.
|
Value |
restrictToNotNumOther()
Constructs a value from this value but definitely not an "other" number.
|
Value |
restrictToNotNumUInt()
Constructs a value from this value but definitely not a UInt number.
|
Value |
restrictToNotNumZero()
Constructs a value from this value but definitely not zero.
|
Value |
restrictToNotObject()
Constructs a value as a copy of this value but only with non-object values.
|
Value |
restrictToNotSetter()
Constructs a value as a copy of this value but definitely not a setter.
|
Value |
restrictToNotStr()
Constructs a value from this value but definitely not a string.
|
Value |
restrictToNotStrIdentifierParts()
Constructs a value from this value but excluding the category of all strings that consist of identifier parts.
|
Value |
restrictToNotStrings(java.util.Set<java.lang.String> strings)
Constructs a value from this value but, if possible, with the given strings removed.
|
Value |
restrictToNotStrOtherNum()
Constructs a value from this value but excluding the category of all strings that
represent unbounded non-UInt32 numbers, including Infinity, -Infinity, and NaN.
|
Value |
restrictToNotStrPrefix()
Constructs a value from this value but excluding the category of all strings that consist of a fixed nonempty prefix string.
|
Value |
restrictToNotStrUInt()
Constructs a value from this value but excluding the category of all UInt strings.
|
Value |
restrictToNotSymbol()
Constructs a value as a copy of this value but definitely not a symbol.
|
Value |
restrictToNotTypeofObject()
Constructs a value as a copy of this value but only with values that do not have typeof "object".
|
Value |
restrictToNotUndef()
Constructs a value as a copy of this value but definitely not undefined.
|
Value |
restrictToNull()
Constructs a value as a copy of this value but only considering its null facet.
|
Value |
restrictToNum()
Constructs a value from this value where only the number facet is considered.
|
Value |
restrictToSetter()
Constructs a value as a copy of this value but only with setter values.
|
Value |
restrictToStr()
Constructs a value from this value where only the string facet is considered.
|
Value |
restrictToStrBoolNum()
Constructs a value from this value where only the string/boolean/number facets are considered.
|
Value |
restrictToStrictEquals(Value v)
Returns a value that models a safe approximation of the intersection of this value and the given value, using strict equality.
|
Value |
restrictToStrictNotEquals(Value v)
Returns a value that models a safe approximation of this value minus the given value, using strict equality.
|
Value |
restrictToSymbol()
Constructs a value as a copy of this value but definitely a symbol.
|
Value |
restrictToTruthy()
Constructs a value as a copy of this value but definitely not falsy.
|
Value |
restrictToTypeofObject()
Constructs a value as a copy of this value but only with values with typeof "object".
|
Value |
restrictToUndef()
Constructs a value as a copy of this value but only considering its undefined facet.
|
Value |
setAttributes(boolean dontenum,
boolean dontdelete,
boolean readonly)
Constructs a value as a copy of this value but with the given attributes.
|
Value |
setAttributes(Value from)
Constructs a value as a copy of this value but with attributes set as in the given value.
|
Value |
setBottomPropertyData()
Constructs a value as a copy of this value but with no information that only makes sense for object property values.
|
Value |
setDontDelete()
Constructs a value as a copy of this value but with DontDelete definitely set.
|
Value |
setDontEnum()
Constructs a value as a copy of this value but with DontEnum definitely set.
|
Value |
setNotDontDelete()
Constructs a value as a copy of this value but with DontDelete definitely not set.
|
Value |
setNotDontEnum()
Constructs a value as a copy of this value but with DontEnum definitely not set.
|
Value |
setNotReadOnly()
Constructs a value as a copy of this value but with ReadOnly definitely not set.
|
Value |
setReadOnly()
Constructs a value as a copy of this value but with ReadOnly definitely set.
|
Value |
summarize(Summarized s)
Constructs a value as a copy of this value but with object labels summarized.
|
java.lang.String |
toString()
Produces a string description of this value.
|
int |
typeSize()
Returns the number of different types of this value.
|
public void assertNonEmpty()
AnalysisException
- if emptypublic void cleanupIncludedExcluded(Value r)
public boolean containsObjectLabel(ObjectLabel objlabel)
AnalysisException
- if the value contains getters or setters.public void diff(Value old, java.lang.StringBuilder b)
old
- The old value to diff against.b
- The string builder to print the diff to.public boolean equals(java.lang.Object obj)
equals
in class java.lang.Object
public Value forgetExcludedIncludedStrings()
Str
forgetExcludedIncludedStrings
in interface Str
public java.util.Set<java.lang.String> getAllKnownStr()
Str
Str.isMaybeAllKnownStr()
returns true.getAllKnownStr
in interface Str
public java.util.Set<ObjectLabel> getAllObjectLabels()
getObjectLabels()
).public java.util.Set<java.lang.String> getExcludedStrings()
Str
getExcludedStrings
in interface Str
public java.util.Set<ObjectLabel> getGetters()
public java.util.Set<java.lang.String> getIncludedStrings()
Str
getIncludedStrings
in interface Str
public java.lang.Double getNum()
Num
public java.util.Set<ObjectLabel> getObjectLabels()
getAllObjectLabels()
).public ObjectProperty getObjectProperty()
public java.util.Set<SourceLocation> getObjectSourceLocations()
public java.lang.String getPrefix()
Str
Str.isMaybeStrPrefix()
returns true.public java.util.Set<ObjectLabel> getSetters()
public java.lang.String getStr()
Str
Str.isMaybeSingleStr()
returns true.public java.util.Set<ObjectLabel> getSymbols()
getSymbols
in interface PKeys
public boolean hasDontDelete()
public boolean hasDontEnum()
public int hashCode()
hashCode
in class java.lang.Object
public boolean hasReadOnly()
public boolean isDontDelete()
public boolean isDontEnum()
public boolean isExtendedScope()
public boolean isInf()
Num
public boolean isMaybeAbsent()
public boolean isMaybeAllKnownStr()
Str
isMaybeAllKnownStr
in interface Str
public boolean isMaybeAnyBool()
Bool
isMaybeAnyBool
in interface Bool
public boolean isMaybeAnyNum()
Num
isMaybeAnyNum
in interface Num
public boolean isMaybeAnyNumNotNaNInf()
Num
isMaybeAnyNumNotNaNInf
in interface Num
public boolean isMaybeAnyStr()
Str
isMaybeAnyStr
in interface Str
public boolean isMaybeDontDelete()
public boolean isMaybeDontEnum()
public boolean isMaybeFalse()
Bool
isMaybeFalse
in interface Bool
public boolean isMaybeFalseButNotTrue()
Bool
isMaybeFalseButNotTrue
in interface Bool
public boolean isMaybeFuzzyNum()
Num
isMaybeFuzzyNum
in interface Num
public boolean isMaybeFuzzyStr()
Str
isMaybeFuzzyStr
in interface Str
public boolean isMaybeFuzzyStrOrSymbol()
PKeys
isMaybeFuzzyStrOrSymbol
in interface PKeys
public boolean isMaybeGetter()
public boolean isMaybeGetterOrSetter()
public boolean isMaybeInf()
Num
isMaybeInf
in interface Num
public boolean isMaybeModified()
public boolean isMaybeNaN()
Num
isMaybeNaN
in interface Num
public boolean isMaybeNotDontDelete()
public boolean isMaybeNotDontEnum()
public boolean isMaybeNotReadOnly()
public boolean isMaybeNull()
Null
isMaybeNull
in interface Null
public boolean isMaybeNum(double num)
Num
isMaybeNum
in interface Num
public boolean isMaybeNumOther()
Num
isMaybeNumOther
in interface Num
public boolean isMaybeNumUInt()
Num
isMaybeNumUInt
in interface Num
public boolean isMaybeNumUIntPos()
Num
isMaybeNumUIntPos
in interface Num
public boolean isMaybeObject()
public boolean isMaybeObjectOrSymbol()
public boolean isMaybeOtherThanBool()
Bool
isMaybeOtherThanBool
in interface Bool
public boolean isMaybeOtherThanNull()
Null
isMaybeOtherThanNull
in interface Null
public boolean isMaybeOtherThanNum()
Num
isMaybeOtherThanNum
in interface Num
public boolean isMaybeOtherThanNumUInt()
Num
isMaybeOtherThanNumUInt
in interface Num
public boolean isMaybeOtherThanStr()
Str
isMaybeOtherThanStr
in interface Str
public boolean isMaybeOtherThanStrOrSymbol()
PKeys
isMaybeOtherThanStrOrSymbol
in interface PKeys
public boolean isMaybeOtherThanSymbol()
public boolean isMaybeOtherThanUndef()
Undef
isMaybeOtherThanUndef
in interface Undef
public boolean isMaybePolymorphicPresent()
public boolean isMaybePresent()
public boolean isMaybePresentAccessor()
public boolean isMaybePresentData()
public boolean isMaybePresentOrUnknown()
public boolean isMaybePrimitive()
public boolean isMaybePrimitiveOrSymbol()
public boolean isMaybeReadOnly()
public boolean isMaybeSameNumber(Value v)
Num
isMaybeSameNumber
in interface Num
public boolean isMaybeSameNumberWhenNegated(Value v)
Num
isMaybeSameNumberWhenNegated
in interface Num
public boolean isMaybeSetter()
public boolean isMaybeSingleAllocationSite()
public boolean isMaybeSingleNum()
Num
isMaybeSingleNum
in interface Num
public boolean isMaybeSingleNumUInt()
Num
isMaybeSingleNumUInt
in interface Num
public boolean isMaybeSingleObjectLabel()
public boolean isMaybeSingleStr()
Str
isMaybeSingleStr
in interface Str
public boolean isMaybeSingleStrOrSymbol()
PKeys
isMaybeSingleStrOrSymbol
in interface PKeys
public boolean isMaybeStr(java.lang.String s)
Str
isMaybeStr
in interface Str
public boolean isMaybeStrIdentifier()
Str
isMaybeStrIdentifier
in interface Str
public boolean isMaybeStrJSON()
Str
isMaybeStrJSON
in interface Str
public boolean isMaybeStrOnlyUInt()
Str
isMaybeStrOnlyUInt
in interface Str
public boolean isMaybeStrOther()
Str
isMaybeStrOther
in interface Str
public boolean isMaybeStrOtherIdentifierParts()
Str
isMaybeStrOtherIdentifierParts
in interface Str
public boolean isMaybeStrOtherNum()
Str
isMaybeStrOtherNum
in interface Str
public boolean isMaybeStrPrefix()
Str
isMaybeStrPrefix
in interface Str
public boolean isMaybeStrSomeNonNumeric()
Str
isMaybeStrSomeNonNumeric
in interface Str
public boolean isMaybeStrSomeNonUInt()
Str
isMaybeStrSomeNonUInt
in interface Str
public boolean isMaybeStrSomeNumeric()
Str
isMaybeStrSomeNumeric
in interface Str
public boolean isMaybeStrSomeUInt()
Str
isMaybeStrSomeUInt
in interface Str
public boolean isMaybeStrUInt()
Str
isMaybeStrUInt
in interface Str
public boolean isMaybeSymbol()
PKeys
isMaybeSymbol
in interface PKeys
public boolean isMaybeTrue()
Bool
isMaybeTrue
in interface Bool
public boolean isMaybeTrueButNotFalse()
Bool
isMaybeTrueButNotFalse
in interface Bool
public boolean isMaybeUndef()
Undef
isMaybeUndef
in interface Undef
public boolean isMaybeZero()
Num
isMaybeZero
in interface Num
public boolean isNaN()
Num
public boolean isNone()
public boolean isNotAbsent()
public boolean isNotASingletonObject()
public boolean isNotASummarizedObject()
public boolean isNotBool()
Bool
public boolean isNotDontDelete()
public boolean isNotDontEnum()
public boolean isNotNull()
Null
public boolean isNotNum()
Num
public boolean isNotPresent()
public boolean isNotPresentNotAbsent()
public boolean isNotReadOnly()
public boolean isNotStr()
Str
public boolean isNotUndef()
Undef
isNotUndef
in interface Undef
public boolean isNullOrUndef()
public boolean isPolymorphic()
public boolean isPolymorphicOrUnknown()
public boolean isReadOnly()
public boolean isStrIdentifier()
Str
isStrIdentifier
in interface Str
public boolean isStrIdentifierParts()
Str
isStrIdentifierParts
in interface Str
public boolean isStrJSON()
Str
public boolean isStrMayContainSubstring(Str other)
Str
isStrMayContainSubstring
in interface Str
public static boolean isUInt32(double v)
public boolean isUnknown()
public static Value join(java.util.Collection<Value> values)
public static Value join(Value... values)
public Value join(Value v, boolean widen)
widen
- if true, apply wideningpublic Value joinAbsent()
public Value joinAbsentModified()
public Value joinAnyBool()
Bool
joinAnyBool
in interface Bool
public Value joinAnyNum()
Num
joinAnyNum
in interface Num
public Value joinAnyNumOther()
Num
joinAnyNumOther
in interface Num
public Value joinAnyNumUInt()
Num
joinAnyNumUInt
in interface Num
public Value joinAnyStr()
Str
joinAnyStr
in interface Str
public Value joinAnyStrIdentifier()
Str
joinAnyStrIdentifier
in interface Str
public Value joinAnyStrIdentifierParts()
Str
joinAnyStrIdentifierParts
in interface Str
public Value joinAnyStrOther()
Str
joinAnyStrOther
in interface Str
public Value joinAnyStrOtherNum()
Str
joinAnyStrOtherNum
in interface Str
public Value joinAnyStrUInt()
Str
joinAnyStrUInt
in interface Str
public Value joinBool(boolean x)
Bool
public Value joinBool(Value x)
Bool
public Value joinGettersSetters(Value v)
public Value joinModified()
public Value joinNotDontDelete()
public Value joinNotDontEnum()
public Value joinNotReadOnly()
public Value joinNull()
Null
public Value joinNum(double v)
Num
public Value joinNumInf()
Num
joinNumInf
in interface Num
public Value joinNumNaN()
Num
joinNumNaN
in interface Num
public Value joinObject(ObjectLabel objlabel)
public Value joinPrefix(java.lang.String s)
Str
joinPrefix
in interface Str
public Value joinStr(java.lang.String s)
Str
public Value joinUndef()
Undef
public static Value makeAbsent()
public static Value makeAbsentModified()
public static Value makeAnyBool()
public static Value makeAnyNum()
public static Value makeAnyNumNotNaNInf()
public static Value makeAnyNumOther()
public static Value makeAnyNumUInt()
public static Value makeAnyNumUIntPos()
public static Value makeAnyStr()
public static Value makeAnyStrIdent()
public static Value makeAnyStrNotNumeric()
public static Value makeAnyStrNotUInt()
public static Value makeAnyStrNumeric()
public static Value makeAnyStrOtherNum()
public static Value makeAnyStrUInt()
public static Value makeBool(boolean b)
public Value makeExtendedScope()
public Value makeGetter()
public static Value makeJSONStr()
public static Value makeNone()
public static Value makeNoneModified()
public Value makeNonPolymorphic()
public static Value makeNull()
public static Value makeNum(double d)
public static Value makeNumInf()
public static Value makeNumNaN()
public static Value makeObject(ObjectLabel v)
public static Value makeObject(java.util.Set<ObjectLabel> v)
public Value makePolymorphic(ObjectProperty prop)
public Value makeSetter()
public static Value makeStr(java.lang.String s)
public static Value makeStrings(java.util.Collection<java.lang.String> strings)
public static Value makeStringsAndSymbols(java.util.Collection<PKey> properties)
public static Value makeSymbol(ObjectLabel v)
public static Value makeTemporaryStr(java.lang.String s)
public static Value makeUndef()
public static Value makeUnknown()
public boolean mustContainNonIdentifierCharacters()
Str
mustContainNonIdentifierCharacters
in interface Str
public boolean mustOnlyBeIdentifierCharacters()
Str
mustOnlyBeIdentifierCharacters
in interface Str
public java.lang.String printAttributes()
public java.lang.String printFlags()
public Value removeAttributes()
public Value removeObjects(java.util.Set<ObjectLabel> objs)
AnalysisException
- if the value contains getters or setters.public Value replaceObjectLabel(ObjectLabel oldlabel, ObjectLabel newlabel)
oldlabel
- The object label to replace.newlabel
- The object label to replace oldlabel with.public Value replaceValue(Value v)
public static void reset()
public Value restrictToAttributes()
public Value restrictToBool()
public Value restrictToFalsy()
public Value restrictToFunction()
public Value restrictToGetter()
public Value restrictToGetterSetter()
public Value restrictToLooseEquals(Value v)
public Value restrictToLooseNotEquals(Value v)
public Value restrictToNonAttributes()
public Value restrictToNonSymbolObject()
public Value restrictToNotAbsent()
public Value restrictToNotBool()
Bool
restrictToNotBool
in interface Bool
public Value restrictToNotFunction()
public Value restrictToNotGetter()
public Value restrictToNotGetterSetter()
public Value restrictToNotInf()
Num
restrictToNotInf
in interface Num
public Value restrictToNotModified()
public Value restrictToNotNaN()
Num
restrictToNotNaN
in interface Num
public Value restrictToNotNull()
Null
restrictToNotNull
in interface Null
public Value restrictToNotNullNotUndef()
public Value restrictToNotNum()
Num
restrictToNotNum
in interface Num
public Value restrictToNotNumInf()
Num
restrictToNotNumInf
in interface Num
public Value restrictToNotNumOther()
Num
restrictToNotNumOther
in interface Num
public Value restrictToNotNumUInt()
Num
restrictToNotNumUInt
in interface Num
public Value restrictToNotNumZero()
Num
restrictToNotNumZero
in interface Num
public Value restrictToNotObject()
AnalysisException
- if the value contains getters or setters.public Value restrictToNotSetter()
public Value restrictToNotStr()
Str
restrictToNotStr
in interface Str
public Value restrictToNotStrIdentifierParts()
Str
restrictToNotStrIdentifierParts
in interface Str
public Value restrictToNotStrings(java.util.Set<java.lang.String> strings)
Str
restrictToNotStrings
in interface Str
public Value restrictToNotStrOtherNum()
Str
restrictToNotStrOtherNum
in interface Str
public Value restrictToNotStrPrefix()
Str
restrictToNotStrPrefix
in interface Str
public Value restrictToNotStrUInt()
Str
restrictToNotStrUInt
in interface Str
public Value restrictToNotSymbol()
public Value restrictToNotTypeofObject()
public Value restrictToNotUndef()
Undef
restrictToNotUndef
in interface Undef
public Value restrictToNull()
Null
restrictToNull
in interface Null
public Value restrictToNum()
Num
restrictToNum
in interface Num
public Value restrictToSetter()
public Value restrictToStr()
Str
restrictToStr
in interface Str
public Value restrictToStrBoolNum()
public Value restrictToStrictEquals(Value v)
public Value restrictToStrictNotEquals(Value v)
public Value restrictToSymbol()
public Value restrictToTruthy()
public Value restrictToTypeofObject()
public Value restrictToUndef()
Undef
restrictToUndef
in interface Undef
public Value setAttributes(boolean dontenum, boolean dontdelete, boolean readonly)
public Value setAttributes(Value from)
public Value setBottomPropertyData()
public Value setDontDelete()
public Value setDontEnum()
public Value setNotDontDelete()
public Value setNotDontEnum()
public Value setNotReadOnly()
public Value setReadOnly()
public Value summarize(Summarized s)
public java.lang.String toString()
toString
in class java.lang.Object
public int typeSize()
Copyright © 2009-2019 Aarhus University