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

Side by Side Diff: pkg/compiler/lib/src/js_backend/backend.dart

Issue 2968383002: Add ConstructorBodyEntity (Closed)
Patch Set: 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) 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 js_backend.backend; 5 library js_backend.backend;
6 6
7 import '../common.dart'; 7 import '../common.dart';
8 import '../common/backend_api.dart' 8 import '../common/backend_api.dart'
9 show ForeignResolver, NativeRegistry, ImpactTransformer; 9 show ForeignResolver, NativeRegistry, ImpactTransformer;
10 import '../common/codegen.dart' show CodegenWorkItem; 10 import '../common/codegen.dart' show CodegenWorkItem;
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
125 125
126 // Returns `true`/`false` if we have a cached decision. 126 // Returns `true`/`false` if we have a cached decision.
127 // Returns `null` otherwise. 127 // Returns `null` otherwise.
128 bool canInline(FunctionEntity element, {bool insideLoop}) { 128 bool canInline(FunctionEntity element, {bool insideLoop}) {
129 assert(checkFunction(element)); 129 assert(checkFunction(element));
130 int decision = _cachedDecisions[element]; 130 int decision = _cachedDecisions[element];
131 131
132 if (decision == null) { 132 if (decision == null) {
133 // These synthetic elements are not yet present when we initially compute 133 // These synthetic elements are not yet present when we initially compute
134 // this cache from metadata annotations, so look for their parent. 134 // this cache from metadata annotations, so look for their parent.
135 if (element is ConstructorBodyElement) { 135 if (element is ConstructorBodyEntity) {
136 ConstructorBodyElement body = element; 136 ConstructorBodyEntity body = element;
137 decision = _cachedDecisions[body.constructor]; 137 decision = _cachedDecisions[body.constructor];
138 } 138 }
139 if (decision == null) { 139 if (decision == null) {
140 decision = _unknown; 140 decision = _unknown;
141 } 141 }
142 } 142 }
143 143
144 if (insideLoop) { 144 if (insideLoop) {
145 switch (decision) { 145 switch (decision) {
146 case _mustNotInline: 146 case _mustNotInline:
(...skipping 1256 matching lines...) Expand 10 before | Expand all | Expand 10 after
1403 1403
1404 bool canUseAliasedSuperMember(MemberEntity member, Selector selector) { 1404 bool canUseAliasedSuperMember(MemberEntity member, Selector selector) {
1405 return !selector.isGetter; 1405 return !selector.isGetter;
1406 } 1406 }
1407 1407
1408 /// Returns `true` if [member] is called from a subclass via `super`. 1408 /// Returns `true` if [member] is called from a subclass via `super`.
1409 bool isAliasedSuperMember(MemberEntity member) { 1409 bool isAliasedSuperMember(MemberEntity member) {
1410 return _aliasedSuperMembers.contains(member); 1410 return _aliasedSuperMembers.contains(member);
1411 } 1411 }
1412 } 1412 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698