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

Side by Side Diff: sdk/lib/_internal/compiler/implementation/elements/elements.dart

Issue 25675002: Generative constructor factories for native objects (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 7 years, 2 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 | Annotate | Revision Log
OLDNEW
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 elements; 5 library elements;
6 6
7 7
8 import '../tree/tree.dart'; 8 import '../tree/tree.dart';
9 import '../util/util.dart'; 9 import '../util/util.dart';
10 import '../resolution/resolution.dart'; 10 import '../resolution/resolution.dart';
(...skipping 331 matching lines...) Expand 10 before | Expand all | Expand 10 after
342 342
343 static bool isInstanceMethod(Element element) { 343 static bool isInstanceMethod(Element element) {
344 return !Elements.isUnresolved(element) 344 return !Elements.isUnresolved(element)
345 && element.isInstanceMember() 345 && element.isInstanceMember()
346 && (identical(element.kind, ElementKind.FUNCTION)); 346 && (identical(element.kind, ElementKind.FUNCTION));
347 } 347 }
348 348
349 static bool isNativeOrExtendsNative(ClassElement element) { 349 static bool isNativeOrExtendsNative(ClassElement element) {
350 if (element == null) return false; 350 if (element == null) return false;
351 if (element.isNative()) return true; 351 if (element.isNative()) return true;
352 assert(element.resolutionState == STATE_DONE);
352 return isNativeOrExtendsNative(element.superclass); 353 return isNativeOrExtendsNative(element.superclass);
353 } 354 }
354 355
355 static bool isInstanceSend(Send send, TreeElements elements) { 356 static bool isInstanceSend(Send send, TreeElements elements) {
356 Element element = elements[send]; 357 Element element = elements[send];
357 if (element == null) return !isClosureSend(send, element); 358 if (element == null) return !isClosureSend(send, element);
358 return isInstanceMethod(element) || isInstanceField(element); 359 return isInstanceMethod(element) || isInstanceField(element);
359 } 360 }
360 361
361 static bool isClosureSend(Send send, Element element) { 362 static bool isClosureSend(Send send, Element element) {
(...skipping 610 matching lines...) Expand 10 before | Expand all | Expand 10 after
972 int get resolutionState; 973 int get resolutionState;
973 Token get beginToken; 974 Token get beginToken;
974 Token get endToken; 975 Token get endToken;
975 976
976 // TODO(kasperl): Try to get rid of these. 977 // TODO(kasperl): Try to get rid of these.
977 void set annotatedElement(Element value); 978 void set annotatedElement(Element value);
978 void set resolutionState(int value); 979 void set resolutionState(int value);
979 980
980 MetadataAnnotation ensureResolved(Compiler compiler); 981 MetadataAnnotation ensureResolved(Compiler compiler);
981 } 982 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698