| 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 '../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 Loading... |
| 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 Loading... |
| 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 } |
| OLD | NEW |