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

Side by Side Diff: pkg/kernel/lib/target/targets.dart

Issue 2976543002: Reapply "Tweak public APIs and use them in patch_sdk, dart2js, and kernel-service."" (Closed)
Patch Set: fix Created 3 years, 5 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
OLDNEW
1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2016, 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 library kernel.target.targets; 4 library kernel.target.targets;
5 5
6 import '../ast.dart'; 6 import '../ast.dart';
7 import '../class_hierarchy.dart'; 7 import '../class_hierarchy.dart';
8 import '../core_types.dart'; 8 import '../core_types.dart';
9 import '../transformations/treeshaker.dart' show ProgramRoot; 9 import '../transformations/treeshaker.dart' show ProgramRoot;
10 import 'flutter.dart' show FlutterTarget; 10 import 'flutter.dart' show FlutterTarget;
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
114 /// These transformations should be optimizations and not required for 114 /// These transformations should be optimizations and not required for
115 /// correctness. Everything should work if a simple and fast linker chooses 115 /// correctness. Everything should work if a simple and fast linker chooses
116 /// not to apply these transformations. 116 /// not to apply these transformations.
117 /// 117 ///
118 /// Note that [performGlobalTransformations] doesn't have -OnProgram and 118 /// Note that [performGlobalTransformations] doesn't have -OnProgram and
119 /// -OnLibraries alternatives, because the global knowledge required by the 119 /// -OnLibraries alternatives, because the global knowledge required by the
120 /// transformations is assumed to be retrieved from a [Program] instance. 120 /// transformations is assumed to be retrieved from a [Program] instance.
121 void performGlobalTransformations(CoreTypes coreTypes, Program program, 121 void performGlobalTransformations(CoreTypes coreTypes, Program program,
122 {void logger(String msg)}); 122 {void logger(String msg)});
123 123
124 /// Whether a platform library may define a restricted type, such as `bool`,
125 /// `int`, `double`, `num`, and `String`.
126 ///
127 /// By default only `dart:core` may define restricted types, but some target
128 /// implementations override this.
129 bool mayDefineRestrictedType(Uri uri) =>
130 uri.scheme == 'dart' && uri.path == 'core';
131
132 /// Whether the `native` language extension is supported within [library].
133 ///
134 /// The `native` language extension is not part of the language specification,
135 /// it means something else to each target, and it is enabled under different
136 /// circumstances for each target implementation. For example, the VM target
137 /// enables it everywhere because of existing support for "dart-ext:" native
138 /// extensions, but targets like dart2js only enable it on the core libraries.
139 bool enableNative(Uri uri) => false;
140
141 /// There are two variants of the `native` language extension. The VM expects
142 /// the native token to be followed by string, whereas dart2js and DDC do not.
143 // TODO(sigmund, ahe): ideally we should remove the `native` syntax, if not,
144 // we should at least unify the VM and non-VM variants.
145 bool get nativeExtensionExpectsString => false;
146
124 /// Builds an expression that instantiates an [Invocation] that can be passed 147 /// Builds an expression that instantiates an [Invocation] that can be passed
125 /// to [noSuchMethod]. 148 /// to [noSuchMethod].
126 Expression instantiateInvocation(CoreTypes coreTypes, Expression receiver, 149 Expression instantiateInvocation(CoreTypes coreTypes, Expression receiver,
127 String name, Arguments arguments, int offset, bool isSuper); 150 String name, Arguments arguments, int offset, bool isSuper);
128 151
129 Expression instantiateNoSuchMethodError(CoreTypes coreTypes, 152 Expression instantiateNoSuchMethodError(CoreTypes coreTypes,
130 Expression receiver, String name, Arguments arguments, int offset, 153 Expression receiver, String name, Arguments arguments, int offset,
131 {bool isMethod: false, 154 {bool isMethod: false,
132 bool isGetter: false, 155 bool isGetter: false,
133 bool isSetter: false, 156 bool isSetter: false,
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
199 bool isField: false, 222 bool isField: false,
200 bool isLocalVariable: false, 223 bool isLocalVariable: false,
201 bool isDynamic: false, 224 bool isDynamic: false,
202 bool isSuper: false, 225 bool isSuper: false,
203 bool isStatic: false, 226 bool isStatic: false,
204 bool isConstructor: false, 227 bool isConstructor: false,
205 bool isTopLevel: false}) { 228 bool isTopLevel: false}) {
206 return new InvalidExpression(); 229 return new InvalidExpression();
207 } 230 }
208 } 231 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698