Chromium Code Reviews| Index: src/parser.h |
| diff --git a/src/parser.h b/src/parser.h |
| index 19036e7739787108d49a4b3a6d215ab5aa17a0aa..1fd7e2ed6551785943fdc92dcd67400dd4120f8e 100644 |
| --- a/src/parser.h |
| +++ b/src/parser.h |
| @@ -655,26 +655,25 @@ class Parser : public ParserBase<ParserTraits> { |
| // Parses the source code represented by the compilation info and sets its |
| // function literal. Returns false (and deallocates any allocated AST |
| // nodes) if parsing failed. |
| - static bool Parse(CompilationInfo* info, |
| - bool allow_lazy = false) { |
| + static bool ParseStatic(CompilationInfo* info, bool allow_lazy = false) { |
| ParseInfo parse_info = {info->isolate()->stack_guard()->real_climit(), |
| info->isolate()->heap()->HashSeed(), |
| info->isolate()->unicode_cache()}; |
| Parser parser(info, &parse_info); |
| parser.set_allow_lazy(allow_lazy); |
| - if (parser.Parse()) { |
| + if (parser.Parse(info)) { |
| info->SetLanguageMode(info->function()->language_mode()); |
| return true; |
| } |
| return false; |
| } |
| - bool Parse(); |
| - void ParseOnBackground(); |
| + bool Parse(CompilationInfo* info); |
|
titzer
2015/02/12 10:06:34
What about renaming this ParseSynchronous() and th
|
| + void ParseOnBackground(CompilationInfo* info); |
| // Handle errors detected during parsing, move statistics to Isolate, |
| // internalize strings (move them to the heap). |
| - void Internalize(); |
| - void HandleSourceURLComments(); |
| + void Internalize(CompilationInfo* info); |
| + void HandleSourceURLComments(CompilationInfo* info); |
| private: |
| friend class ParserTraits; |
| @@ -701,31 +700,28 @@ class Parser : public ParserBase<ParserTraits> { |
| }; |
| // Returns NULL if parsing failed. |
| - FunctionLiteral* ParseProgram(); |
| + FunctionLiteral* ParseProgram(CompilationInfo* info); |
| - FunctionLiteral* ParseLazy(); |
| - FunctionLiteral* ParseLazy(Utf16CharacterStream* source); |
| - |
| - Isolate* isolate() { return info_->isolate(); } |
| - CompilationInfo* info() const { return info_; } |
| - Handle<Script> script() const { return info_->script(); } |
| + FunctionLiteral* ParseLazy(CompilationInfo* info); |
| + FunctionLiteral* ParseLazy(CompilationInfo* info, |
| + Utf16CharacterStream* source); |
| // Called by ParseProgram after setting up the scanner. |
| FunctionLiteral* DoParseProgram(CompilationInfo* info, Scope** scope, |
| Scope** ad_hoc_eval_scope); |
| - void SetCachedData(); |
| + void SetCachedData(CompilationInfo* info); |
| bool inside_with() const { return scope_->inside_with(); } |
| ScriptCompiler::CompileOptions compile_options() const { |
| - return info_->compile_options(); |
| + return compile_options_; |
| } |
| bool consume_cached_parse_data() const { |
| - return compile_options() == ScriptCompiler::kConsumeParserCache && |
| + return compile_options_ == ScriptCompiler::kConsumeParserCache && |
| cached_parse_data_ != NULL; |
| } |
| bool produce_cached_parse_data() const { |
| - return compile_options() == ScriptCompiler::kProduceParserCache; |
| + return compile_options_ == ScriptCompiler::kProduceParserCache; |
| } |
| Scope* DeclarationScope(VariableMode mode) { |
| return IsLexicalVariableMode(mode) |
| @@ -859,7 +855,7 @@ class Parser : public ParserBase<ParserTraits> { |
| const AstRawString* function_name, int pos, Variable* fvar, |
| Token::Value fvar_init_op, FunctionKind kind, bool* ok); |
| - void ThrowPendingError(); |
| + void ThrowPendingError(Isolate* isolate, Handle<Script> script); |
| TemplateLiteralState OpenTemplateLiteral(int pos); |
| void AddTemplateSpan(TemplateLiteralState* state, bool tail); |
| @@ -873,9 +869,9 @@ class Parser : public ParserBase<ParserTraits> { |
| PreParser* reusable_preparser_; |
| Scope* original_scope_; // for ES5 function declarations in sloppy eval |
| Target* target_stack_; // for break, continue statements |
| + ScriptCompiler::CompileOptions compile_options_; |
| ParseData* cached_parse_data_; |
| - CompilationInfo* info_; |
| bool parsing_lazy_arrow_parameters_; // for lazily parsed arrow functions. |
| // Pending errors. |