| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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.modelx; | 5 library elements.modelx; |
| 6 | 6 |
| 7 import '../common.dart'; | 7 import '../common.dart'; |
| 8 import '../common/resolution.dart' show Resolution, ParsingContext; | 8 import '../common/resolution.dart' show Resolution, ParsingContext; |
| 9 import '../compiler.dart' show Compiler; | 9 import '../compiler.dart' show Compiler; |
| 10 import '../constants/constant_constructors.dart'; | 10 import '../constants/constant_constructors.dart'; |
| (...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 144 while (!element.isCompilationUnit) { | 144 while (!element.isCompilationUnit) { |
| 145 element = element.enclosingElement; | 145 element = element.enclosingElement; |
| 146 } | 146 } |
| 147 return element; | 147 return element; |
| 148 } | 148 } |
| 149 | 149 |
| 150 LibraryElement get library => enclosingElement.library; | 150 LibraryElement get library => enclosingElement.library; |
| 151 | 151 |
| 152 Name get memberName => new Name(name, library); | 152 Name get memberName => new Name(name, library); |
| 153 | 153 |
| 154 LibraryElementX get implementationLibrary { | 154 LibraryElement get implementationLibrary { |
| 155 Element element = this; | 155 Element element = this; |
| 156 while (!identical(element.kind, ElementKind.LIBRARY)) { | 156 while (!identical(element.kind, ElementKind.LIBRARY)) { |
| 157 element = element.enclosingElement; | 157 element = element.enclosingElement; |
| 158 } | 158 } |
| 159 return element; | 159 return element; |
| 160 } | 160 } |
| 161 | 161 |
| 162 ClassElement get enclosingClass { | 162 ClassElement get enclosingClass { |
| 163 for (Element e = this; e != null; e = e.enclosingElement) { | 163 for (Element e = this; e != null; e = e.enclosingElement) { |
| 164 if (e.isClass) return e; | 164 if (e.isClass) return e; |
| (...skipping 544 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 709 | 709 |
| 710 void forEachLocalMember(f(Element element)) { | 710 void forEachLocalMember(f(Element element)) { |
| 711 localMembers.forEach(f); | 711 localMembers.forEach(f); |
| 712 } | 712 } |
| 713 | 713 |
| 714 void addMember(Element element, DiagnosticReporter reporter) { | 714 void addMember(Element element, DiagnosticReporter reporter) { |
| 715 // Keep a list of top level members. | 715 // Keep a list of top level members. |
| 716 localMembers = localMembers.prepend(element); | 716 localMembers = localMembers.prepend(element); |
| 717 // Provide the member to the library to build scope. | 717 // Provide the member to the library to build scope. |
| 718 if (enclosingElement.isPatch) { | 718 if (enclosingElement.isPatch) { |
| 719 implementationLibrary.addMember(element, reporter); | 719 LibraryElementX library = implementationLibrary; |
| 720 library.addMember(element, reporter); |
| 720 } else { | 721 } else { |
| 721 library.addMember(element, reporter); | 722 library.addMember(element, reporter); |
| 722 } | 723 } |
| 723 } | 724 } |
| 724 | 725 |
| 725 void setPartOf(PartOf tag, DiagnosticReporter reporter) { | 726 void setPartOf(PartOf tag, DiagnosticReporter reporter) { |
| 726 LibraryElementX library = enclosingElement; | 727 LibraryElementX library = enclosingElement; |
| 727 if (library.entryCompilationUnit == this) { | 728 if (library.entryCompilationUnit == this) { |
| 728 // This compilation unit is loaded as a library. The error is reported by | 729 // This compilation unit is loaded as a library. The error is reported by |
| 729 // the library loader. | 730 // the library loader. |
| (...skipping 2515 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3245 if (definingElement.isField) { | 3246 if (definingElement.isField) { |
| 3246 FieldElement field = definingElement; | 3247 FieldElement field = definingElement; |
| 3247 body = field.initializer; | 3248 body = field.initializer; |
| 3248 } else if (node != null && node.asFunctionExpression() != null) { | 3249 } else if (node != null && node.asFunctionExpression() != null) { |
| 3249 body = node.asFunctionExpression().body; | 3250 body = node.asFunctionExpression().body; |
| 3250 } | 3251 } |
| 3251 return new ParsedResolvedAst( | 3252 return new ParsedResolvedAst( |
| 3252 declaration, node, body, definingElement.treeElements); | 3253 declaration, node, body, definingElement.treeElements); |
| 3253 } | 3254 } |
| 3254 } | 3255 } |
| OLD | NEW |