diff --git a/mozilla/js/js2/world.cpp b/mozilla/js/js2/world.cpp index f85efc6048f..8a6a02fbbc3 100644 --- a/mozilla/js/js2/world.cpp +++ b/mozilla/js/js2/world.cpp @@ -31,3 +31,9 @@ JS::StringAtom &JS::StringAtomTable::operator[](const String &s) else return ht.insert(r, s); } + + +JS::World::World() +{ + initKeywords(*this); +} diff --git a/mozilla/js/js2/world.h b/mozilla/js/js2/world.h index 487e96e789f..1e55852f23d 100644 --- a/mozilla/js/js2/world.h +++ b/mozilla/js/js2/world.h @@ -22,6 +22,7 @@ #include "utilities.h" #include "hash.h" +#include "parser.h" namespace JavaScript { @@ -35,7 +36,9 @@ namespace JavaScript { class StringAtom: public String { public: - explicit StringAtom(const String &s): String(s) {} + Token::Kind tokenKind; // Token::Kind if this is a keyword; Token::Id if not + + explicit StringAtom(const String &s): String(s), tokenKind(Token::Id) {} private: StringAtom(const StringAtom&); // No copy constructor void operator=(const StringAtom&); // No assignment operator @@ -55,7 +58,10 @@ namespace JavaScript { class World { + public: StringAtomTable identifiers; + + World(); }; } #endif diff --git a/mozilla/js2/src/world.cpp b/mozilla/js2/src/world.cpp index f85efc6048f..8a6a02fbbc3 100644 --- a/mozilla/js2/src/world.cpp +++ b/mozilla/js2/src/world.cpp @@ -31,3 +31,9 @@ JS::StringAtom &JS::StringAtomTable::operator[](const String &s) else return ht.insert(r, s); } + + +JS::World::World() +{ + initKeywords(*this); +} diff --git a/mozilla/js2/src/world.h b/mozilla/js2/src/world.h index 487e96e789f..1e55852f23d 100644 --- a/mozilla/js2/src/world.h +++ b/mozilla/js2/src/world.h @@ -22,6 +22,7 @@ #include "utilities.h" #include "hash.h" +#include "parser.h" namespace JavaScript { @@ -35,7 +36,9 @@ namespace JavaScript { class StringAtom: public String { public: - explicit StringAtom(const String &s): String(s) {} + Token::Kind tokenKind; // Token::Kind if this is a keyword; Token::Id if not + + explicit StringAtom(const String &s): String(s), tokenKind(Token::Id) {} private: StringAtom(const StringAtom&); // No copy constructor void operator=(const StringAtom&); // No assignment operator @@ -55,7 +58,10 @@ namespace JavaScript { class World { + public: StringAtomTable identifiers; + + World(); }; } #endif