| OLD | NEW |
| 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 dart2js.resolution.members; | 5 library dart2js.resolution.members; |
| 6 | 6 |
| 7 import '../common.dart'; | 7 import '../common.dart'; |
| 8 import '../common/names.dart' show Selectors; | 8 import '../common/names.dart' show Selectors; |
| 9 import '../common/resolution.dart' show Feature; | 9 import '../common/resolution.dart' show Feature; |
| 10 import '../compiler.dart' show Compiler; | 10 import '../compiler.dart' show Compiler; |
| (...skipping 2993 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3004 } | 3004 } |
| 3005 } | 3005 } |
| 3006 | 3006 |
| 3007 /// Callback for native enqueuer to parse a type. Returns [:null:] on error. | 3007 /// Callback for native enqueuer to parse a type. Returns [:null:] on error. |
| 3008 DartType resolveTypeFromString(Node node, String typeName) { | 3008 DartType resolveTypeFromString(Node node, String typeName) { |
| 3009 Element element = lookupInScope(reporter, node, scope, typeName); | 3009 Element element = lookupInScope(reporter, node, scope, typeName); |
| 3010 if (element == null) return null; | 3010 if (element == null) return null; |
| 3011 if (element is! ClassElement) return null; | 3011 if (element is! ClassElement) return null; |
| 3012 ClassElement cls = element; | 3012 ClassElement cls = element; |
| 3013 cls.ensureResolved(resolution); | 3013 cls.ensureResolved(resolution); |
| 3014 return cls.computeType(resolution); | 3014 cls.computeType(resolution); |
| 3015 return cls.rawType; |
| 3015 } | 3016 } |
| 3016 | 3017 |
| 3017 /// Handle index operations like `a[b] = c`, `a[b] += c`, and `a[b]++`. | 3018 /// Handle index operations like `a[b] = c`, `a[b] += c`, and `a[b]++`. |
| 3018 ResolutionResult handleIndexSendSet(SendSet node) { | 3019 ResolutionResult handleIndexSendSet(SendSet node) { |
| 3019 String operatorText = node.assignmentOperator.source; | 3020 String operatorText = node.assignmentOperator.source; |
| 3020 Node receiver = node.receiver; | 3021 Node receiver = node.receiver; |
| 3021 Node index = node.arguments.head; | 3022 Node index = node.arguments.head; |
| 3022 visitExpression(receiver); | 3023 visitExpression(receiver); |
| 3023 visitExpression(index); | 3024 visitExpression(index); |
| 3024 AccessSemantics semantics = const DynamicAccess.expression(); | 3025 AccessSemantics semantics = const DynamicAccess.expression(); |
| (...skipping 1671 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4696 } | 4697 } |
| 4697 return const NoneResult(); | 4698 return const NoneResult(); |
| 4698 } | 4699 } |
| 4699 } | 4700 } |
| 4700 | 4701 |
| 4701 /// Looks up [name] in [scope] and unwraps the result. | 4702 /// Looks up [name] in [scope] and unwraps the result. |
| 4702 Element lookupInScope( | 4703 Element lookupInScope( |
| 4703 DiagnosticReporter reporter, Node node, Scope scope, String name) { | 4704 DiagnosticReporter reporter, Node node, Scope scope, String name) { |
| 4704 return Elements.unwrap(scope.lookup(name), reporter, node); | 4705 return Elements.unwrap(scope.lookup(name), reporter, node); |
| 4705 } | 4706 } |
| OLD | NEW |