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 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
79 | 79 |
80 // Given a [FunctionElement], return a buffer with the code generated for it | 80 // Given a [FunctionElement], return a buffer with the code generated for it |
81 // or null if no code was generated. | 81 // or null if no code was generated. |
82 CodeBuffer codeOf(Element element) => null; | 82 CodeBuffer codeOf(Element element) => null; |
83 | 83 |
84 void initializeHelperClasses() {} | 84 void initializeHelperClasses() {} |
85 | 85 |
86 void enqueueHelpers(ResolutionEnqueuer world); | 86 void enqueueHelpers(ResolutionEnqueuer world); |
87 | 87 |
88 /// Creates an [Enqueuer] for code generation specific to this backend. | 88 /// Creates an [Enqueuer] for code generation specific to this backend. |
89 Enqueuer createCodegenEnqueuer(Compiler compiler); | 89 Enqueuer createCodegenEnqueuer(CompilerTask task, Compiler compiler); |
90 | 90 |
91 WorldImpact codegen(CodegenWorkItem work); | 91 WorldImpact codegen(CodegenWorkItem work); |
92 | 92 |
93 // The backend determines the native resolution enqueuer, with a no-op | 93 // The backend determines the native resolution enqueuer, with a no-op |
94 // default, so tools like dart2dart can ignore the native classes. | 94 // default, so tools like dart2dart can ignore the native classes. |
95 native.NativeEnqueuer nativeResolutionEnqueuer(world) { | 95 native.NativeEnqueuer nativeResolutionEnqueuer() { |
96 return new native.NativeEnqueuer(); | 96 return new native.NativeEnqueuer(); |
97 } | 97 } |
98 | 98 |
99 native.NativeEnqueuer nativeCodegenEnqueuer(world) { | 99 native.NativeEnqueuer nativeCodegenEnqueuer() { |
100 return new native.NativeEnqueuer(); | 100 return new native.NativeEnqueuer(); |
101 } | 101 } |
102 | 102 |
103 /// Generates the output and returns the total size of the generated code. | 103 /// Generates the output and returns the total size of the generated code. |
104 int assembleProgram(); | 104 int assembleProgram(); |
105 | 105 |
106 List<CompilerTask> get tasks; | 106 List<CompilerTask> get tasks; |
107 | 107 |
108 void onResolutionComplete() {} | 108 void onResolutionComplete() {} |
109 void onTypeInferenceComplete() {} | 109 void onTypeInferenceComplete() {} |
(...skipping 288 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
398 ClassElement get typeImplementation; | 398 ClassElement get typeImplementation; |
399 ClassElement get boolImplementation; | 399 ClassElement get boolImplementation; |
400 ClassElement get nullImplementation; | 400 ClassElement get nullImplementation; |
401 ClassElement get uint32Implementation; | 401 ClassElement get uint32Implementation; |
402 ClassElement get uint31Implementation; | 402 ClassElement get uint31Implementation; |
403 ClassElement get positiveIntImplementation; | 403 ClassElement get positiveIntImplementation; |
404 ClassElement get syncStarIterableImplementation; | 404 ClassElement get syncStarIterableImplementation; |
405 ClassElement get asyncFutureImplementation; | 405 ClassElement get asyncFutureImplementation; |
406 ClassElement get asyncStarStreamImplementation; | 406 ClassElement get asyncStarStreamImplementation; |
407 } | 407 } |
OLD | NEW |