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

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

Issue 723523003: Avoid emmitting is test for Function if superclass already has it. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: spelling fixes. Created 6 years, 1 month 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
« no previous file with comments | « no previous file | pkg/compiler/lib/src/elements/modelx.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 '../constants/expressions.dart'; 8 import '../constants/expressions.dart';
9 import '../tree/tree.dart'; 9 import '../tree/tree.dart';
10 import '../util/util.dart'; 10 import '../util/util.dart';
(...skipping 1317 matching lines...) Expand 10 before | Expand all | Expand 10 after
1328 String get nativeTagInfo; 1328 String get nativeTagInfo;
1329 1329
1330 bool get isMixinApplication; 1330 bool get isMixinApplication;
1331 bool get isUnnamedMixinApplication; 1331 bool get isUnnamedMixinApplication;
1332 bool get hasBackendMembers; 1332 bool get hasBackendMembers;
1333 bool get hasLocalScopeMembers; 1333 bool get hasLocalScopeMembers;
1334 1334
1335 /// Returns `true` if this class is `Object` from dart:core. 1335 /// Returns `true` if this class is `Object` from dart:core.
1336 bool get isObject; 1336 bool get isObject;
1337 1337
1338 /// Returns `true` if this class implements [Function] either by directly
1339 /// implementing the interface or by providing a [call] method.
1340 bool implementsFunction(Compiler compiler);
1341
1338 bool isSubclassOf(ClassElement cls); 1342 bool isSubclassOf(ClassElement cls);
1339 /// Returns true if `this` explicitly/nominally implements [intrface]. 1343 /// Returns true if `this` explicitly/nominally implements [intrface].
1340 /// 1344 ///
1341 /// Note that, if [intrface] is the `Function` class, this method returns 1345 /// Note that, if [intrface] is the `Function` class, this method returns
1342 /// falso for a class that has a `call` method but does not explicitly 1346 /// false for a class that has a `call` method but does not explicitly
1343 /// implement `Function`. 1347 /// implement `Function`.
1344 bool implementsInterface(ClassElement intrface); 1348 bool implementsInterface(ClassElement intrface);
1345 bool hasFieldShadowedBy(Element fieldMember); 1349 bool hasFieldShadowedBy(Element fieldMember);
1346 1350
1347 /// Returns `true` if this class has a @proxy annotation. 1351 /// Returns `true` if this class has a @proxy annotation.
1348 bool get isProxy; 1352 bool get isProxy;
1349 1353
1350 /// Returns `true` if the class hierarchy for this class contains errors. 1354 /// Returns `true` if the class hierarchy for this class contains errors.
1351 bool get hasIncompleteHierarchy; 1355 bool get hasIncompleteHierarchy;
1352 1356
(...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after
1602 bool get isDeclaredByField; 1606 bool get isDeclaredByField;
1603 1607
1604 /// Returns `true` if this member is abstract. 1608 /// Returns `true` if this member is abstract.
1605 bool get isAbstract; 1609 bool get isAbstract;
1606 1610
1607 /// If abstract, [implementation] points to the overridden concrete member, 1611 /// If abstract, [implementation] points to the overridden concrete member,
1608 /// if any. Otherwise [implementation] points to the member itself. 1612 /// if any. Otherwise [implementation] points to the member itself.
1609 Member get implementation; 1613 Member get implementation;
1610 } 1614 }
1611 1615
OLDNEW
« no previous file with comments | « no previous file | pkg/compiler/lib/src/elements/modelx.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698