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

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

Issue 2569733002: Even less reliance on Compiler.closedWorld (Closed)
Patch Set: Updated cf. comments. Created 4 years 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 | « no previous file | 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.backend_api; 5 library dart2js.backend_api;
6 6
7 import 'dart:async' show Future; 7 import 'dart:async' show Future;
8 8
9 import '../common.dart'; 9 import '../common.dart';
10 import '../common/codegen.dart' show CodegenImpact; 10 import '../common/codegen.dart' show CodegenImpact;
(...skipping 15 matching lines...) Expand all
26 import '../js_backend/js_backend.dart' as js_backend; 26 import '../js_backend/js_backend.dart' as js_backend;
27 import '../library_loader.dart' show LibraryLoader, LoadedLibraries; 27 import '../library_loader.dart' show LibraryLoader, LoadedLibraries;
28 import '../native/native.dart' as native show NativeEnqueuer, maybeEnableNative; 28 import '../native/native.dart' as native show NativeEnqueuer, maybeEnableNative;
29 import '../patch_parser.dart' 29 import '../patch_parser.dart'
30 show checkNativeAnnotation, checkJsInteropAnnotation; 30 show checkNativeAnnotation, checkJsInteropAnnotation;
31 import '../serialization/serialization.dart' 31 import '../serialization/serialization.dart'
32 show DeserializerPlugin, SerializerPlugin; 32 show DeserializerPlugin, SerializerPlugin;
33 import '../tree/tree.dart' show Node; 33 import '../tree/tree.dart' show Node;
34 import '../universe/world_impact.dart' 34 import '../universe/world_impact.dart'
35 show ImpactStrategy, WorldImpact, WorldImpactBuilder; 35 show ImpactStrategy, WorldImpact, WorldImpactBuilder;
36 import '../world.dart' show ClosedWorldRefiner; 36 import '../world.dart' show ClosedWorld, ClosedWorldRefiner;
37 import 'codegen.dart' show CodegenWorkItem; 37 import 'codegen.dart' show CodegenWorkItem;
38 import 'tasks.dart' show CompilerTask; 38 import 'tasks.dart' show CompilerTask;
39 39
40 abstract class Backend extends Target { 40 abstract class Backend extends Target {
41 final Compiler compiler; 41 final Compiler compiler;
42 42
43 Backend(this.compiler); 43 Backend(this.compiler);
44 44
45 /// Returns true if the backend supports reflection. 45 /// Returns true if the backend supports reflection.
46 bool get supportsReflection; 46 bool get supportsReflection;
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
100 100
101 native.NativeEnqueuer nativeCodegenEnqueuer() { 101 native.NativeEnqueuer nativeCodegenEnqueuer() {
102 return new native.NativeEnqueuer(); 102 return new native.NativeEnqueuer();
103 } 103 }
104 104
105 /// Generates the output and returns the total size of the generated code. 105 /// Generates the output and returns the total size of the generated code.
106 int assembleProgram(); 106 int assembleProgram();
107 107
108 List<CompilerTask> get tasks; 108 List<CompilerTask> get tasks;
109 109
110 void onResolutionComplete(ClosedWorldRefiner closedWorldRefiner) {} 110 void onResolutionComplete(
111 ClosedWorld closedWorld, ClosedWorldRefiner closedWorldRefiner) {}
111 void onTypeInferenceComplete() {} 112 void onTypeInferenceComplete() {}
112 113
113 bool classNeedsRti(ClassElement cls); 114 bool classNeedsRti(ClassElement cls);
114 bool methodNeedsRti(FunctionElement function); 115 bool methodNeedsRti(FunctionElement function);
115 116
116 /// Enable compilation of code with compile time errors. Returns `true` if 117 /// Enable compilation of code with compile time errors. Returns `true` if
117 /// supported by the backend. 118 /// supported by the backend.
118 bool enableCodegenWithErrorsIfSupported(Spannable node); 119 bool enableCodegenWithErrorsIfSupported(Spannable node);
119 120
120 /// Enable deferred loading. Returns `true` if the backend supports deferred 121 /// Enable deferred loading. Returns `true` if the backend supports deferred
(...skipping 288 matching lines...) Expand 10 before | Expand all | Expand 10 after
409 ClassElement get boolImplementation; 410 ClassElement get boolImplementation;
410 ClassElement get nullImplementation; 411 ClassElement get nullImplementation;
411 ClassElement get uint32Implementation; 412 ClassElement get uint32Implementation;
412 ClassElement get uint31Implementation; 413 ClassElement get uint31Implementation;
413 ClassElement get positiveIntImplementation; 414 ClassElement get positiveIntImplementation;
414 ClassElement get syncStarIterableImplementation; 415 ClassElement get syncStarIterableImplementation;
415 ClassElement get asyncFutureImplementation; 416 ClassElement get asyncFutureImplementation;
416 ClassElement get asyncStarStreamImplementation; 417 ClassElement get asyncStarStreamImplementation;
417 ClassElement get indexableImplementation; 418 ClassElement get indexableImplementation;
418 ClassElement get mutableIndexableImplementation; 419 ClassElement get mutableIndexableImplementation;
420 ClassElement get indexingBehaviorImplementation;
419 421
420 bool isDefaultEqualityImplementation(Element element); 422 bool isDefaultEqualityImplementation(Element element);
423 bool isInterceptorClass(ClassElement cls);
424 bool isNative(Element element);
421 } 425 }
OLDNEW
« no previous file with comments | « no previous file | pkg/compiler/lib/src/compiler.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698