Index: src/globals.h |
diff --git a/src/globals.h b/src/globals.h |
index 59931bf5ddb3ba7a9908e97b43aaa7915e731791..9a03f3d53e13ad91f8998bd0d587932e17d057d6 100644 |
--- a/src/globals.h |
+++ b/src/globals.h |
@@ -399,6 +399,18 @@ enum LanguageMode { |
}; |
+// A simple Maybe type, that can be passed by value. |
+template<class T> |
+struct Maybe { |
+ Maybe() : has_value(false) {} |
+ explicit Maybe(T t) : has_value(true), value(t) {} |
+ Maybe(bool has, T t) : has_value(has), value(t) {} |
+ |
+ bool has_value; |
+ T value; |
+}; |
+ |
+ |
// The Strict Mode (ECMA-262 5th edition, 4.2.2). |
// |
// This flag is used in the backend to represent the language mode. So far |