Index: src/interface.h |
diff --git a/src/interface.h b/src/interface.h |
index 598d0381427095c4c9f31de6365385757ac328b0..ae549634c55a020fd6c4bd65cabe6bdb9ebe8007 100644 |
--- a/src/interface.h |
+++ b/src/interface.h |
@@ -41,15 +41,9 @@ class Interface : public ZoneObject { |
return new(zone) Interface(NONE); |
} |
- static Interface* NewValue() { |
- static Interface value_interface(VALUE + FROZEN); // Cached. |
- return &value_interface; |
- } |
+ static Interface* NewValue(); |
- static Interface* NewConst() { |
- static Interface value_interface(VALUE + CONST + FROZEN); // Cached. |
- return &value_interface; |
- } |
+ static Interface* NewConst(); |
static Interface* NewModule(Zone* zone) { |
return new(zone) Interface(MODULE); |
@@ -178,6 +172,9 @@ class Interface : public ZoneObject { |
// --------------------------------------------------------------------------- |
// Implementation. |
private: |
+ struct ValueCreate; |
+ struct ConstCreate; |
+ |
enum Flags { // All flags are monotonic |
NONE = 0, |
VALUE = 1, // This type describes a value |