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

Side by Side Diff: pkg/compiler/lib/src/common_elements.dart

Issue 2990983002: Handle NativeTypedArray in closed_world_from_dill_test (Closed)
Patch Set: Created 3 years, 4 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) 2014, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2014, 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 // TODO(sigmund): rename and move to common/elements.dart 5 // TODO(sigmund): rename and move to common/elements.dart
6 library dart2js.type_system; 6 library dart2js.type_system;
7 7
8 import 'common.dart'; 8 import 'common.dart';
9 import 'common/names.dart' show Identifiers, Uris; 9 import 'common/names.dart' show Identifiers, Uris;
10 import 'constants/values.dart'; 10 import 'constants/values.dart';
11 import 'elements/entities.dart'; 11 import 'elements/entities.dart';
12 import 'elements/names.dart' show PublicName; 12 import 'elements/names.dart' show PublicName;
13 import 'elements/types.dart'; 13 import 'elements/types.dart';
14 import 'js_backend/backend.dart' show JavaScriptBackend; 14 import 'js_backend/backend.dart' show JavaScriptBackend;
15 import 'js_backend/constant_system_javascript.dart'; 15 import 'js_backend/constant_system_javascript.dart';
16 import 'js_backend/native_data.dart' show NativeBasicData;
16 import 'universe/call_structure.dart' show CallStructure; 17 import 'universe/call_structure.dart' show CallStructure;
17 import 'universe/selector.dart' show Selector; 18 import 'universe/selector.dart' show Selector;
18 import 'universe/call_structure.dart'; 19 import 'universe/call_structure.dart';
19 20
20 /// The common elements and types in Dart. 21 /// The common elements and types in Dart.
21 class CommonElements { 22 class CommonElements {
22 final ElementEnvironment _env; 23 final ElementEnvironment _env;
23 24
24 CommonElements(this._env); 25 CommonElements(this._env);
25 26
(...skipping 1143 matching lines...) Expand 10 before | Expand all | Expand 10 after
1169 /// Returns `true` if the implementation of the 'operator ==' [function] is 1170 /// Returns `true` if the implementation of the 'operator ==' [function] is
1170 /// known to handle `null` as argument. 1171 /// known to handle `null` as argument.
1171 bool operatorEqHandlesNullArgument(FunctionEntity function) { 1172 bool operatorEqHandlesNullArgument(FunctionEntity function) {
1172 assert(function.name == '==', 1173 assert(function.name == '==',
1173 failedAt(function, "Unexpected function $function.")); 1174 failedAt(function, "Unexpected function $function."));
1174 ClassEntity cls = function.enclosingClass; 1175 ClassEntity cls = function.enclosingClass;
1175 return cls == objectClass || 1176 return cls == objectClass ||
1176 cls == jsInterceptorClass || 1177 cls == jsInterceptorClass ||
1177 cls == jsNullClass; 1178 cls == jsNullClass;
1178 } 1179 }
1180
1181 ClassEntity getDefaultSuperclass(
1182 ClassEntity cls, NativeBasicData nativeBasicData) {
1183 if (nativeBasicData.isJsInteropClass(cls)) {
1184 return jsJavaScriptObjectClass;
1185 }
1186 // Native classes inherit from Interceptor.
1187 return nativeBasicData.isNativeClass(cls)
1188 ? jsInterceptorClass
1189 : objectClass;
1190 }
1179 } 1191 }
1180 1192
1181 /// Interface for accessing libraries, classes and members. 1193 /// Interface for accessing libraries, classes and members.
1182 /// 1194 ///
1183 /// The element environment makes private and injected members directly 1195 /// The element environment makes private and injected members directly
1184 /// available and should therefore not be used to determine scopes. 1196 /// available and should therefore not be used to determine scopes.
1185 /// 1197 ///
1186 /// The properties exposed are Dart-centric and should therefore, long-term, not 1198 /// The properties exposed are Dart-centric and should therefore, long-term, not
1187 /// be used during codegen, expect for mirrors. 1199 /// be used during codegen, expect for mirrors.
1188 // TODO(johnniwinther): Split this into an element environment and a type query 1200 // TODO(johnniwinther): Split this into an element environment and a type query
(...skipping 154 matching lines...) Expand 10 before | Expand all | Expand 10 after
1343 /// Returns the metadata constants declared on [typedef]. 1355 /// Returns the metadata constants declared on [typedef].
1344 Iterable<ConstantValue> getTypedefMetadata(TypedefEntity typedef); 1356 Iterable<ConstantValue> getTypedefMetadata(TypedefEntity typedef);
1345 1357
1346 /// Returns the metadata constants declared on [member]. 1358 /// Returns the metadata constants declared on [member].
1347 Iterable<ConstantValue> getMemberMetadata(MemberEntity member, 1359 Iterable<ConstantValue> getMemberMetadata(MemberEntity member,
1348 {bool includeParameterMetadata: false}); 1360 {bool includeParameterMetadata: false});
1349 1361
1350 /// Returns the function type that is an alias of a [typedef]. 1362 /// Returns the function type that is an alias of a [typedef].
1351 FunctionType getFunctionTypeOfTypedef(TypedefEntity typedef); 1363 FunctionType getFunctionTypeOfTypedef(TypedefEntity typedef);
1352 } 1364 }
OLDNEW
« no previous file with comments | « no previous file | pkg/compiler/lib/src/elements/modelx.dart » ('j') | pkg/compiler/lib/src/elements/modelx.dart » ('J')

Powered by Google App Engine
This is Rietveld 408576698