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

Side by Side Diff: pkg/compiler/lib/src/resolution/members.dart

Issue 1142873006: Fix bug when using super and prefixes as a parenthesis expression (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years, 7 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 part of resolution; 5 part of resolution;
6 6
7 abstract class TreeElements { 7 abstract class TreeElements {
8 AnalyzableElement get analyzedElement; 8 AnalyzableElement get analyzedElement;
9 Iterable<Node> get superUses; 9 Iterable<Node> get superUses;
10 10
(...skipping 3335 matching lines...) Expand 10 before | Expand all | Expand 10 after
3346 } 3346 }
3347 3347
3348 visitWhile(While node) { 3348 visitWhile(While node) {
3349 visit(node.condition); 3349 visit(node.condition);
3350 visitLoopBodyIn(node, node.body, new BlockScope(scope)); 3350 visitLoopBodyIn(node, node.body, new BlockScope(scope));
3351 } 3351 }
3352 3352
3353 visitParenthesizedExpression(ParenthesizedExpression node) { 3353 visitParenthesizedExpression(ParenthesizedExpression node) {
3354 bool oldSendIsMemberAccess = sendIsMemberAccess; 3354 bool oldSendIsMemberAccess = sendIsMemberAccess;
3355 sendIsMemberAccess = false; 3355 sendIsMemberAccess = false;
3356 var oldCategory = allowedCategory;
3357 allowedCategory = ElementCategory.VARIABLE | ElementCategory.FUNCTION
3358 | ElementCategory.IMPLIES_TYPE;
3356 visit(node.expression); 3359 visit(node.expression);
3360 allowedCategory = oldCategory;
3357 sendIsMemberAccess = oldSendIsMemberAccess; 3361 sendIsMemberAccess = oldSendIsMemberAccess;
3358 } 3362 }
3359 3363
3360 ResolutionResult visitNewExpression(NewExpression node) { 3364 ResolutionResult visitNewExpression(NewExpression node) {
3361 Node selector = node.send.selector; 3365 Node selector = node.send.selector;
3362 FunctionElement constructor = resolveConstructor(node); 3366 FunctionElement constructor = resolveConstructor(node);
3363 final bool isSymbolConstructor = constructor == compiler.symbolConstructor; 3367 final bool isSymbolConstructor = constructor == compiler.symbolConstructor;
3364 final bool isMirrorsUsedConstant = 3368 final bool isMirrorsUsedConstant =
3365 node.isConst && (constructor == compiler.mirrorsUsedConstructor); 3369 node.isConst && (constructor == compiler.mirrorsUsedConstructor);
3366 Selector callSelector = resolveSelector(node.send, constructor); 3370 Selector callSelector = resolveSelector(node.send, constructor);
(...skipping 1792 matching lines...) Expand 10 before | Expand all | Expand 10 after
5159 } 5163 }
5160 5164
5161 /// The result for the resolution of the `assert` method. 5165 /// The result for the resolution of the `assert` method.
5162 class AssertResult implements ResolutionResult { 5166 class AssertResult implements ResolutionResult {
5163 const AssertResult(); 5167 const AssertResult();
5164 5168
5165 Element get element => null; 5169 Element get element => null;
5166 5170
5167 String toString() => 'AssertResult()'; 5171 String toString() => 'AssertResult()';
5168 } 5172 }
OLDNEW
« no previous file with comments | « no previous file | tests/compiler/dart2js_extra/23486_helper.dart » ('j') | tests/compiler/dart2js_extra/23486_helper.dart » ('J')

Powered by Google App Engine
This is Rietveld 408576698