| OLD | NEW |
| 1 // Copyright 2016 the V8 project authors. All rights reserved. | 1 // Copyright 2016 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef V8_PARSING_PARSE_INFO_H_ | 5 #ifndef V8_PARSING_PARSE_INFO_H_ |
| 6 #define V8_PARSING_PARSE_INFO_H_ | 6 #define V8_PARSING_PARSE_INFO_H_ |
| 7 | 7 |
| 8 #include "include/v8.h" | 8 #include "include/v8.h" |
| 9 #include "src/globals.h" | 9 #include "src/globals.h" |
| 10 #include "src/handles.h" | 10 #include "src/handles.h" |
| 11 #include "src/parsing/preparsed-scope-data.h" |
| 11 | 12 |
| 12 namespace v8 { | 13 namespace v8 { |
| 13 | 14 |
| 14 class Extension; | 15 class Extension; |
| 15 | 16 |
| 16 namespace internal { | 17 namespace internal { |
| 17 | 18 |
| 18 class AstRawString; | 19 class AstRawString; |
| 19 class AstValueFactory; | 20 class AstValueFactory; |
| 20 class DeclarationScope; | 21 class DeclarationScope; |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 86 void set_character_stream(Utf16CharacterStream* character_stream) { | 87 void set_character_stream(Utf16CharacterStream* character_stream) { |
| 87 character_stream_ = character_stream; | 88 character_stream_ = character_stream; |
| 88 } | 89 } |
| 89 | 90 |
| 90 v8::Extension* extension() const { return extension_; } | 91 v8::Extension* extension() const { return extension_; } |
| 91 void set_extension(v8::Extension* extension) { extension_ = extension; } | 92 void set_extension(v8::Extension* extension) { extension_ = extension; } |
| 92 | 93 |
| 93 ScriptData** cached_data() const { return cached_data_; } | 94 ScriptData** cached_data() const { return cached_data_; } |
| 94 void set_cached_data(ScriptData** cached_data) { cached_data_ = cached_data; } | 95 void set_cached_data(ScriptData** cached_data) { cached_data_ = cached_data; } |
| 95 | 96 |
| 97 PreParsedScopeData* preparsed_scope_data() { return &preparsed_scope_data_; } |
| 98 |
| 96 ScriptCompiler::CompileOptions compile_options() const { | 99 ScriptCompiler::CompileOptions compile_options() const { |
| 97 return compile_options_; | 100 return compile_options_; |
| 98 } | 101 } |
| 99 void set_compile_options(ScriptCompiler::CompileOptions compile_options) { | 102 void set_compile_options(ScriptCompiler::CompileOptions compile_options) { |
| 100 compile_options_ = compile_options; | 103 compile_options_ = compile_options; |
| 101 } | 104 } |
| 102 | 105 |
| 103 DeclarationScope* script_scope() const { return script_scope_; } | 106 DeclarationScope* script_scope() const { return script_scope_; } |
| 104 void set_script_scope(DeclarationScope* script_scope) { | 107 void set_script_scope(DeclarationScope* script_scope) { |
| 105 script_scope_ = script_scope; | 108 script_scope_ = script_scope; |
| (...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 242 int max_function_literal_id_; | 245 int max_function_literal_id_; |
| 243 | 246 |
| 244 // TODO(titzer): Move handles and isolate out of ParseInfo. | 247 // TODO(titzer): Move handles and isolate out of ParseInfo. |
| 245 Isolate* isolate_; | 248 Isolate* isolate_; |
| 246 Handle<SharedFunctionInfo> shared_; | 249 Handle<SharedFunctionInfo> shared_; |
| 247 Handle<Script> script_; | 250 Handle<Script> script_; |
| 248 MaybeHandle<ScopeInfo> maybe_outer_scope_info_; | 251 MaybeHandle<ScopeInfo> maybe_outer_scope_info_; |
| 249 | 252 |
| 250 //----------- Inputs+Outputs of parsing and scope analysis ----------------- | 253 //----------- Inputs+Outputs of parsing and scope analysis ----------------- |
| 251 ScriptData** cached_data_; // used if available, populated if requested. | 254 ScriptData** cached_data_; // used if available, populated if requested. |
| 255 PreParsedScopeData preparsed_scope_data_; |
| 252 AstValueFactory* ast_value_factory_; // used if available, otherwise new. | 256 AstValueFactory* ast_value_factory_; // used if available, otherwise new. |
| 253 const AstRawString* function_name_; | 257 const AstRawString* function_name_; |
| 254 | 258 |
| 255 //----------- Output of parsing and scope analysis ------------------------ | 259 //----------- Output of parsing and scope analysis ------------------------ |
| 256 FunctionLiteral* literal_; | 260 FunctionLiteral* literal_; |
| 257 | 261 |
| 258 void SetFlag(Flag f) { flags_ |= f; } | 262 void SetFlag(Flag f) { flags_ |= f; } |
| 259 void SetFlag(Flag f, bool v) { flags_ = v ? flags_ | f : flags_ & ~f; } | 263 void SetFlag(Flag f, bool v) { flags_ = v ? flags_ | f : flags_ & ~f; } |
| 260 bool GetFlag(Flag f) const { return (flags_ & f) != 0; } | 264 bool GetFlag(Flag f) const { return (flags_ & f) != 0; } |
| 261 }; | 265 }; |
| 262 | 266 |
| 263 } // namespace internal | 267 } // namespace internal |
| 264 } // namespace v8 | 268 } // namespace v8 |
| 265 | 269 |
| 266 #endif // V8_PARSING_PARSE_INFO_H_ | 270 #endif // V8_PARSING_PARSE_INFO_H_ |
| OLD | NEW |