| OLD | NEW |
| 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 Loading... |
| 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 'codegen.dart' show CodegenWorkItem; | 37 import 'codegen.dart' show CodegenWorkItem; |
| 37 import 'tasks.dart' show CompilerTask; | 38 import 'tasks.dart' show CompilerTask; |
| 38 | 39 |
| 39 abstract class Backend extends Target { | 40 abstract class Backend extends Target { |
| 40 final Compiler compiler; | 41 final Compiler compiler; |
| 41 | 42 |
| 42 Backend(this.compiler); | 43 Backend(this.compiler); |
| 43 | 44 |
| 44 /// Returns true if the backend supports reflection. | 45 /// Returns true if the backend supports reflection. |
| 45 bool get supportsReflection; | 46 bool get supportsReflection; |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 99 | 100 |
| 100 native.NativeEnqueuer nativeCodegenEnqueuer() { | 101 native.NativeEnqueuer nativeCodegenEnqueuer() { |
| 101 return new native.NativeEnqueuer(); | 102 return new native.NativeEnqueuer(); |
| 102 } | 103 } |
| 103 | 104 |
| 104 /// 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. |
| 105 int assembleProgram(); | 106 int assembleProgram(); |
| 106 | 107 |
| 107 List<CompilerTask> get tasks; | 108 List<CompilerTask> get tasks; |
| 108 | 109 |
| 109 void onResolutionComplete() {} | 110 void onResolutionComplete(ClosedWorldRefiner closedWorldRefiner) {} |
| 110 void onTypeInferenceComplete() {} | 111 void onTypeInferenceComplete() {} |
| 111 | 112 |
| 112 bool classNeedsRti(ClassElement cls); | 113 bool classNeedsRti(ClassElement cls); |
| 113 bool methodNeedsRti(FunctionElement function); | 114 bool methodNeedsRti(FunctionElement function); |
| 114 | 115 |
| 115 /// Enable compilation of code with compile time errors. Returns `true` if | 116 /// Enable compilation of code with compile time errors. Returns `true` if |
| 116 /// supported by the backend. | 117 /// supported by the backend. |
| 117 bool enableCodegenWithErrorsIfSupported(Spannable node); | 118 bool enableCodegenWithErrorsIfSupported(Spannable node); |
| 118 | 119 |
| 119 /// Enable deferred loading. Returns `true` if the backend supports deferred | 120 /// Enable deferred loading. Returns `true` if the backend supports deferred |
| (...skipping 291 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 411 ClassElement get uint31Implementation; | 412 ClassElement get uint31Implementation; |
| 412 ClassElement get positiveIntImplementation; | 413 ClassElement get positiveIntImplementation; |
| 413 ClassElement get syncStarIterableImplementation; | 414 ClassElement get syncStarIterableImplementation; |
| 414 ClassElement get asyncFutureImplementation; | 415 ClassElement get asyncFutureImplementation; |
| 415 ClassElement get asyncStarStreamImplementation; | 416 ClassElement get asyncStarStreamImplementation; |
| 416 ClassElement get indexableImplementation; | 417 ClassElement get indexableImplementation; |
| 417 ClassElement get mutableIndexableImplementation; | 418 ClassElement get mutableIndexableImplementation; |
| 418 | 419 |
| 419 bool isDefaultEqualityImplementation(Element element); | 420 bool isDefaultEqualityImplementation(Element element); |
| 420 } | 421 } |
| OLD | NEW |