Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(423)

Side by Side Diff: src/parsing/parser.h

Issue 1773653002: [strong] Remove all remainders of strong mode (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Oversight Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/parsing/expression-classifier.h ('k') | src/parsing/parser.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 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_PARSER_H_ 5 #ifndef V8_PARSING_PARSER_H_
6 #define V8_PARSING_PARSER_H_ 6 #define V8_PARSING_PARSER_H_
7 7
8 #include "src/allocation.h" 8 #include "src/allocation.h"
9 #include "src/ast/ast.h" 9 #include "src/ast/ast.h"
10 #include "src/ast/scopes.h" 10 #include "src/ast/scopes.h"
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
46 #define FLAG_ACCESSOR(flag, getter, setter) \ 46 #define FLAG_ACCESSOR(flag, getter, setter) \
47 bool getter() const { return GetFlag(flag); } \ 47 bool getter() const { return GetFlag(flag); } \
48 void setter() { SetFlag(flag); } \ 48 void setter() { SetFlag(flag); } \
49 void setter(bool val) { SetFlag(flag, val); } 49 void setter(bool val) { SetFlag(flag, val); }
50 50
51 FLAG_ACCESSOR(kToplevel, is_toplevel, set_toplevel) 51 FLAG_ACCESSOR(kToplevel, is_toplevel, set_toplevel)
52 FLAG_ACCESSOR(kLazy, is_lazy, set_lazy) 52 FLAG_ACCESSOR(kLazy, is_lazy, set_lazy)
53 FLAG_ACCESSOR(kEval, is_eval, set_eval) 53 FLAG_ACCESSOR(kEval, is_eval, set_eval)
54 FLAG_ACCESSOR(kGlobal, is_global, set_global) 54 FLAG_ACCESSOR(kGlobal, is_global, set_global)
55 FLAG_ACCESSOR(kStrictMode, is_strict_mode, set_strict_mode) 55 FLAG_ACCESSOR(kStrictMode, is_strict_mode, set_strict_mode)
56 FLAG_ACCESSOR(kStrongMode, is_strong_mode, set_strong_mode)
57 FLAG_ACCESSOR(kNative, is_native, set_native) 56 FLAG_ACCESSOR(kNative, is_native, set_native)
58 FLAG_ACCESSOR(kModule, is_module, set_module) 57 FLAG_ACCESSOR(kModule, is_module, set_module)
59 FLAG_ACCESSOR(kAllowLazyParsing, allow_lazy_parsing, set_allow_lazy_parsing) 58 FLAG_ACCESSOR(kAllowLazyParsing, allow_lazy_parsing, set_allow_lazy_parsing)
60 FLAG_ACCESSOR(kAstValueFactoryOwned, ast_value_factory_owned, 59 FLAG_ACCESSOR(kAstValueFactoryOwned, ast_value_factory_owned,
61 set_ast_value_factory_owned) 60 set_ast_value_factory_owned)
62 61
63 #undef FLAG_ACCESSOR 62 #undef FLAG_ACCESSOR
64 63
65 void set_parse_restriction(ParseRestriction restriction) { 64 void set_parse_restriction(ParseRestriction restriction) {
66 SetFlag(kParseRestriction, restriction != NO_PARSE_RESTRICTION); 65 SetFlag(kParseRestriction, restriction != NO_PARSE_RESTRICTION);
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
130 Handle<SharedFunctionInfo> shared_info() { return shared_; } 129 Handle<SharedFunctionInfo> shared_info() { return shared_; }
131 Handle<Script> script() { return script_; } 130 Handle<Script> script() { return script_; }
132 Handle<Context> context() { return context_; } 131 Handle<Context> context() { return context_; }
133 void clear_script() { script_ = Handle<Script>::null(); } 132 void clear_script() { script_ = Handle<Script>::null(); }
134 void set_isolate(Isolate* isolate) { isolate_ = isolate; } 133 void set_isolate(Isolate* isolate) { isolate_ = isolate; }
135 void set_context(Handle<Context> context) { context_ = context; } 134 void set_context(Handle<Context> context) { context_ = context; }
136 void set_script(Handle<Script> script) { script_ = script; } 135 void set_script(Handle<Script> script) { script_ = script; }
137 //-------------------------------------------------------------------------- 136 //--------------------------------------------------------------------------
138 137
139 LanguageMode language_mode() { 138 LanguageMode language_mode() {
140 return construct_language_mode(is_strict_mode(), is_strong_mode()); 139 return construct_language_mode(is_strict_mode());
141 } 140 }
142 void set_language_mode(LanguageMode language_mode) { 141 void set_language_mode(LanguageMode language_mode) {
143 STATIC_ASSERT(LANGUAGE_END == 3); 142 STATIC_ASSERT(LANGUAGE_END == 3);
144 set_strict_mode(language_mode & STRICT_BIT); 143 set_strict_mode(is_strict(language_mode));
145 set_strong_mode(language_mode & STRONG_BIT);
146 } 144 }
147 145
148 void ReopenHandlesInNewHandleScope() { 146 void ReopenHandlesInNewHandleScope() {
149 closure_ = Handle<JSFunction>(*closure_); 147 closure_ = Handle<JSFunction>(*closure_);
150 shared_ = Handle<SharedFunctionInfo>(*shared_); 148 shared_ = Handle<SharedFunctionInfo>(*shared_);
151 script_ = Handle<Script>(*script_); 149 script_ = Handle<Script>(*script_);
152 context_ = Handle<Context>(*context_); 150 context_ = Handle<Context>(*context_);
153 } 151 }
154 152
155 #ifdef DEBUG 153 #ifdef DEBUG
156 bool script_is_native() { return script_->type() == Script::TYPE_NATIVE; } 154 bool script_is_native() { return script_->type() == Script::TYPE_NATIVE; }
157 #endif // DEBUG 155 #endif // DEBUG
158 156
159 private: 157 private:
160 // Various configuration flags for parsing. 158 // Various configuration flags for parsing.
161 enum Flag { 159 enum Flag {
162 // ---------- Input flags --------------------------- 160 // ---------- Input flags ---------------------------
163 kToplevel = 1 << 0, 161 kToplevel = 1 << 0,
164 kLazy = 1 << 1, 162 kLazy = 1 << 1,
165 kEval = 1 << 2, 163 kEval = 1 << 2,
166 kGlobal = 1 << 3, 164 kGlobal = 1 << 3,
167 kStrictMode = 1 << 4, 165 kStrictMode = 1 << 4,
168 kStrongMode = 1 << 5, 166 kNative = 1 << 5,
169 kNative = 1 << 6, 167 kParseRestriction = 1 << 6,
170 kParseRestriction = 1 << 7, 168 kModule = 1 << 7,
171 kModule = 1 << 8, 169 kAllowLazyParsing = 1 << 8,
172 kAllowLazyParsing = 1 << 9,
173 // ---------- Output flags -------------------------- 170 // ---------- Output flags --------------------------
174 kAstValueFactoryOwned = 1 << 10 171 kAstValueFactoryOwned = 1 << 9
175 }; 172 };
176 173
177 //------------- Inputs to parsing and scope analysis ----------------------- 174 //------------- Inputs to parsing and scope analysis -----------------------
178 Zone* zone_; 175 Zone* zone_;
179 unsigned flags_; 176 unsigned flags_;
180 ScriptCompiler::ExternalSourceStream* source_stream_; 177 ScriptCompiler::ExternalSourceStream* source_stream_;
181 ScriptCompiler::StreamedSource::Encoding source_stream_encoding_; 178 ScriptCompiler::StreamedSource::Encoding source_stream_encoding_;
182 v8::Extension* extension_; 179 v8::Extension* extension_;
183 ScriptCompiler::CompileOptions compile_options_; 180 ScriptCompiler::CompileOptions compile_options_;
184 Scope* script_scope_; 181 Scope* script_scope_;
(...skipping 1055 matching lines...) Expand 10 before | Expand all | Expand 10 after
1240 1237
1241 DoExpression* ParserTraits::ParseDoExpression(bool* ok) { 1238 DoExpression* ParserTraits::ParseDoExpression(bool* ok) {
1242 return parser_->ParseDoExpression(ok); 1239 return parser_->ParseDoExpression(ok);
1243 } 1240 }
1244 1241
1245 1242
1246 } // namespace internal 1243 } // namespace internal
1247 } // namespace v8 1244 } // namespace v8
1248 1245
1249 #endif // V8_PARSING_PARSER_H_ 1246 #endif // V8_PARSING_PARSER_H_
OLDNEW
« no previous file with comments | « src/parsing/expression-classifier.h ('k') | src/parsing/parser.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698