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

Side by Side Diff: pkg/compiler/lib/src/common/resolution.dart

Issue 2685573002: Replace Backend with JavaScriptBackend. (Closed)
Patch Set: Updated cf. comment Created 3 years, 10 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 | « pkg/compiler/lib/src/common/codegen.dart ('k') | pkg/compiler/lib/src/compiler.dart » ('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 (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 library dart2js.common.resolution; 5 library dart2js.common.resolution;
6 6
7 import '../common.dart'; 7 import '../common.dart';
8 import '../compile_time_constants.dart'; 8 import '../compile_time_constants.dart';
9 import '../constants/expressions.dart' show ConstantExpression; 9 import '../constants/expressions.dart' show ConstantExpression;
10 import '../constants/values.dart' show ConstantValue; 10 import '../constants/values.dart' show ConstantValue;
11 import '../core_types.dart' show CommonElements; 11 import '../core_types.dart' show CommonElements;
12 import '../elements/resolution_types.dart' show ResolutionDartType, Types; 12 import '../elements/resolution_types.dart' show ResolutionDartType, Types;
13 import '../elements/elements.dart' 13 import '../elements/elements.dart'
14 show 14 show
15 AstElement, 15 AstElement,
16 ClassElement, 16 ClassElement,
17 Element, 17 Element,
18 ExecutableElement, 18 ExecutableElement,
19 FunctionElement, 19 FunctionElement,
20 FunctionSignature, 20 FunctionSignature,
21 LibraryElement, 21 LibraryElement,
22 MetadataAnnotation, 22 MetadataAnnotation,
23 MethodElement, 23 MethodElement,
24 ResolvedAst, 24 ResolvedAst,
25 TypedefElement; 25 TypedefElement;
26 import '../elements/entities.dart'; 26 import '../elements/entities.dart';
27 import '../enqueue.dart' show ResolutionEnqueuer; 27 import '../enqueue.dart' show ResolutionEnqueuer;
28 import '../id_generator.dart'; 28 import '../id_generator.dart';
29 import '../js_backend/backend.dart' show JavaScriptBackend;
29 import '../mirrors_used.dart'; 30 import '../mirrors_used.dart';
30 import '../options.dart' show CompilerOptions; 31 import '../options.dart' show CompilerOptions;
31 import '../parser/element_listener.dart' show ScannerOptions; 32 import '../parser/element_listener.dart' show ScannerOptions;
32 import '../parser/parser_task.dart'; 33 import '../parser/parser_task.dart';
33 import '../scanner/scanner_task.dart'; 34 import '../scanner/scanner_task.dart';
34 import '../patch_parser.dart'; 35 import '../patch_parser.dart';
35 import '../resolution/resolution.dart'; 36 import '../resolution/resolution.dart';
36 import '../tree/tree.dart' show Send, TypeAnnotation; 37 import '../tree/tree.dart' show Send, TypeAnnotation;
37 import '../universe/call_structure.dart' show CallStructure; 38 import '../universe/call_structure.dart' show CallStructure;
38 import '../universe/world_impact.dart' show WorldImpact; 39 import '../universe/world_impact.dart' show WorldImpact;
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after
211 bool isProxyConstant(ConstantValue value); 212 bool isProxyConstant(ConstantValue value);
212 } 213 }
213 214
214 /// A container of commonly used dependencies for tasks that involve parsing. 215 /// A container of commonly used dependencies for tasks that involve parsing.
215 abstract class ParsingContext { 216 abstract class ParsingContext {
216 factory ParsingContext( 217 factory ParsingContext(
217 DiagnosticReporter reporter, 218 DiagnosticReporter reporter,
218 ParserTask parser, 219 ParserTask parser,
219 ScannerTask scanner, 220 ScannerTask scanner,
220 PatchParserTask patchParser, 221 PatchParserTask patchParser,
221 Backend backend) = _ParsingContext; 222 JavaScriptBackend backend) = _ParsingContext;
222 223
223 DiagnosticReporter get reporter; 224 DiagnosticReporter get reporter;
224 ParserTask get parser; 225 ParserTask get parser;
225 ScannerTask get scanner; 226 ScannerTask get scanner;
226 PatchParserTask get patchParser; 227 PatchParserTask get patchParser;
227 228
228 /// Use [patchParser] directly instead. 229 /// Use [patchParser] directly instead.
229 @deprecated 230 @deprecated
230 void parsePatchClass(ClassElement cls); 231 void parsePatchClass(ClassElement cls);
231 232
232 /// Use [parser] and measure directly instead. 233 /// Use [parser] and measure directly instead.
233 @deprecated 234 @deprecated
234 measure(f()); 235 measure(f());
235 236
236 /// Get the [ScannerOptions] to scan the given [element]. 237 /// Get the [ScannerOptions] to scan the given [element].
237 ScannerOptions getScannerOptionsFor(Element element); 238 ScannerOptions getScannerOptionsFor(Element element);
238 } 239 }
239 240
240 class _ParsingContext implements ParsingContext { 241 class _ParsingContext implements ParsingContext {
241 final DiagnosticReporter reporter; 242 final DiagnosticReporter reporter;
242 final ParserTask parser; 243 final ParserTask parser;
243 final ScannerTask scanner; 244 final ScannerTask scanner;
244 final PatchParserTask patchParser; 245 final PatchParserTask patchParser;
245 final Backend backend; 246 final JavaScriptBackend backend;
246 247
247 _ParsingContext( 248 _ParsingContext(
248 this.reporter, this.parser, this.scanner, this.patchParser, this.backend); 249 this.reporter, this.parser, this.scanner, this.patchParser, this.backend);
249 250
250 @override 251 @override
251 measure(f()) => parser.measure(f); 252 measure(f()) => parser.measure(f);
252 253
253 @override 254 @override
254 void parsePatchClass(ClassElement cls) { 255 void parsePatchClass(ClassElement cls) {
255 patchParser.measure(() { 256 patchParser.measure(() {
256 if (cls.isPatch) { 257 if (cls.isPatch) {
257 patchParser.parsePatchClassNode(cls); 258 patchParser.parsePatchClassNode(cls);
258 } 259 }
259 }); 260 });
260 } 261 }
261 262
262 @override 263 @override
263 ScannerOptions getScannerOptionsFor(Element element) => new ScannerOptions( 264 ScannerOptions getScannerOptionsFor(Element element) => new ScannerOptions(
264 canUseNative: backend.canLibraryUseNative(element.library)); 265 canUseNative: backend.canLibraryUseNative(element.library));
265 } 266 }
OLDNEW
« no previous file with comments | « pkg/compiler/lib/src/common/codegen.dart ('k') | pkg/compiler/lib/src/compiler.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698