| Index: src/types.h
|
| diff --git a/src/types.h b/src/types.h
|
| index eab78c2760a2109c84f56b3f026efb6088b6f6c4..d9d11f077e9f196d8f42cf1da97987bfceeaf598 100644
|
| --- a/src/types.h
|
| +++ b/src/types.h
|
| @@ -153,13 +153,18 @@ class Type : public Object {
|
| static Type* Of(Handle<i::Object> value) {
|
| return from_bitset(LubBitset(*value));
|
| }
|
| - static Type* CurrentOf(Handle<i::Object> value);
|
|
|
| bool Is(Type* that) { return (this == that) ? true : SlowIs(that); }
|
| bool Is(Handle<Type> that) { return this->Is(*that); }
|
| bool Maybe(Type* that);
|
| bool Maybe(Handle<Type> that) { return this->Maybe(*that); }
|
|
|
| + // State-dependent versions of Of and Is that consider subtyping between
|
| + // a constant and its map class.
|
| + static Type* OfCurrently(Handle<i::Object> value);
|
| + bool IsCurrently(Type* that);
|
| + bool IsCurrently(Handle<Type> that) { return this->IsCurrently(*that); }
|
| +
|
| bool IsClass() { return is_class(); }
|
| bool IsConstant() { return is_constant(); }
|
| Handle<i::Map> AsClass() { return as_class(); }
|
|
|