Index: src/field-type.h |
diff --git a/src/field-type.h b/src/field-type.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..e390fca53ee39cbd3af0a1aa63a6915725c72ab0 |
--- /dev/null |
+++ b/src/field-type.h |
@@ -0,0 +1,42 @@ |
+// Copyright 2016 the V8 project authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef V8_FIELD_TYPE_H_ |
+#define V8_FIELD_TYPE_H_ |
+ |
+#include "src/handles.h" |
+#include "src/objects.h" |
+#include "src/ostreams.h" |
+ |
+namespace v8 { |
+namespace internal { |
+ |
+class FieldType : public Object { |
+ public: |
+ static FieldType* None(); |
+ static FieldType* Any(); |
+ static Handle<FieldType> None(Isolate* isolate); |
+ static Handle<FieldType> Any(Isolate* isolate); |
+ static FieldType* Class(i::Map* map); |
+ static Handle<FieldType> Class(i::Handle<i::Map> map, Isolate* isolate); |
+ static FieldType* cast(Object* object); |
+ |
+ bool NowContains(Object* value); |
+ bool NowContains(Handle<Object> value); |
+ bool IsClass(); |
+ Handle<i::Map> AsClass(); |
+ bool IsNone() { return this == None(); } |
+ bool IsAny() { return this == Any(); } |
+ bool NowStable(); |
+ bool NowIs(FieldType* other); |
+ bool NowIs(Handle<FieldType> other); |
+ Type* Convert(Zone* zone); |
+ |
+ void PrintTo(std::ostream& os); |
+}; |
+ |
+} // namespace internal |
+} // namespace v8 |
+ |
+#endif // V8_FIELD_TYPE_H_ |