diff options
author | isaacs <i@izs.me> | 2012-03-12 21:46:36 -0700 |
---|---|---|
committer | isaacs <i@izs.me> | 2012-03-12 21:46:36 -0700 |
commit | e4fc2cbfd354d8ad74c465e508531d92de2b4d52 (patch) | |
tree | ce1e20dddced61d5b56750743ddb7304846f537a /deps/v8/src/parser.h | |
parent | bcb0cc0b184c61313541002e504948ed21f59dad (diff) | |
download | node-new-e4fc2cbfd354d8ad74c465e508531d92de2b4d52.tar.gz |
Upgrade v8 to 3.9.17
Diffstat (limited to 'deps/v8/src/parser.h')
-rw-r--r-- | deps/v8/src/parser.h | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/deps/v8/src/parser.h b/deps/v8/src/parser.h index 66c801d981..90ef39983e 100644 --- a/deps/v8/src/parser.h +++ b/deps/v8/src/parser.h @@ -557,6 +557,7 @@ class Parser { void ReportUnexpectedToken(Token::Value token); void ReportInvalidPreparseData(Handle<String> name, bool* ok); void ReportMessage(const char* message, Vector<const char*> args); + void ReportMessage(const char* message, Vector<Handle<String> > args); bool inside_with() const { return top_scope_->inside_with(); } Scanner& scanner() { return scanner_; } @@ -566,6 +567,10 @@ class Parser { ASSERT(top_scope_ != NULL); return top_scope_->is_extended_mode(); } + Scope* DeclarationScope(VariableMode mode) { + return (mode == LET || mode == CONST_HARMONY) + ? top_scope_ : top_scope_->DeclarationScope(); + } // Check if the given string is 'eval' or 'arguments'. bool IsEvalOrArguments(Handle<String> string); @@ -577,23 +582,26 @@ class Parser { void* ParseSourceElements(ZoneList<Statement*>* processor, int end_token, bool* ok); Statement* ParseModuleElement(ZoneStringList* labels, bool* ok); - Block* ParseModuleDeclaration(bool* ok); + Block* ParseModuleDeclaration(ZoneStringList* names, bool* ok); Module* ParseModule(bool* ok); Module* ParseModuleLiteral(bool* ok); Module* ParseModulePath(bool* ok); Module* ParseModuleVariable(bool* ok); Module* ParseModuleUrl(bool* ok); + Module* ParseModuleSpecifier(bool* ok); Block* ParseImportDeclaration(bool* ok); - Block* ParseExportDeclaration(bool* ok); + Statement* ParseExportDeclaration(bool* ok); Statement* ParseBlockElement(ZoneStringList* labels, bool* ok); Statement* ParseStatement(ZoneStringList* labels, bool* ok); - Statement* ParseFunctionDeclaration(bool* ok); + Statement* ParseFunctionDeclaration(ZoneStringList* names, bool* ok); Statement* ParseNativeDeclaration(bool* ok); Block* ParseBlock(ZoneStringList* labels, bool* ok); Block* ParseVariableStatement(VariableDeclarationContext var_context, + ZoneStringList* names, bool* ok); Block* ParseVariableDeclarations(VariableDeclarationContext var_context, VariableDeclarationProperties* decl_props, + ZoneStringList* names, Handle<String>* out, bool* ok); Statement* ParseExpressionOrLabelledStatement(ZoneStringList* labels, @@ -696,6 +704,7 @@ class Parser { void Expect(Token::Value token, bool* ok); bool Check(Token::Value token); void ExpectSemicolon(bool* ok); + void ExpectContextualKeyword(const char* keyword, bool* ok); Handle<String> LiteralString(PretenureFlag tenured) { if (scanner().is_literal_ascii()) { @@ -756,10 +765,10 @@ class Parser { void CheckConflictingVarDeclarations(Scope* scope, bool* ok); // Parser support - VariableProxy* Declare(Handle<String> name, VariableMode mode, - FunctionLiteral* fun, - bool resolve, - bool* ok); + VariableProxy* NewUnresolved(Handle<String> name, + VariableMode mode, + Interface* interface = Interface::NewValue()); + void Declare(Declaration* declaration, bool resolve, bool* ok); bool TargetStackContainsLabel(Handle<String> label); BreakableStatement* LookupBreakTarget(Handle<String> label, bool* ok); |