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(); } |