Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, 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 analyzer.src.generated.element_handle; | 5 library analyzer.src.generated.element_handle; |
| 6 | 6 |
| 7 import 'package:analyzer/dart/ast/ast.dart'; | 7 import 'package:analyzer/dart/ast/ast.dart'; |
| 8 import 'package:analyzer/dart/constant/value.dart'; | 8 import 'package:analyzer/dart/constant/value.dart'; |
| 9 import 'package:analyzer/dart/element/element.dart'; | 9 import 'package:analyzer/dart/element/element.dart'; |
| 10 import 'package:analyzer/dart/element/type.dart'; | 10 import 'package:analyzer/dart/element/type.dart'; |
| (...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 91 @override | 91 @override |
| 92 InterfaceType get supertype => actualElement.supertype; | 92 InterfaceType get supertype => actualElement.supertype; |
| 93 | 93 |
| 94 @override | 94 @override |
| 95 InterfaceType get type => actualElement.type; | 95 InterfaceType get type => actualElement.type; |
| 96 | 96 |
| 97 @override | 97 @override |
| 98 List<TypeParameterElement> get typeParameters => actualElement.typeParameters; | 98 List<TypeParameterElement> get typeParameters => actualElement.typeParameters; |
| 99 | 99 |
| 100 @override | 100 @override |
| 101 ConstructorElement get unnamedConstructor => actualElement.unnamedConstructor; | 101 ConstructorElement get unnamedConstructor { |
| 102 ensureConstructorsReady(); | |
| 103 return actualElement.unnamedConstructor; | |
| 104 } | |
| 102 | 105 |
| 103 @override | 106 @override |
| 104 NamedCompilationUnitMember computeNode() => super.computeNode(); | 107 NamedCompilationUnitMember computeNode() => super.computeNode(); |
| 105 | 108 |
| 106 @override | 109 /** |
| 107 FieldElement getField(String fieldName) => actualElement.getField(fieldName); | 110 * Ensure that [ClassElement.accessors] and [ClassElement.fields] are ready |
| 111 * in [actualElement]. | |
| 112 */ | |
| 113 void ensureAccessorsReady() {} | |
| 114 | |
| 115 /** | |
| 116 * The method is called by [ClassElementImpl.getImpl] before returning | |
| 117 * the [actualElement] as [ClassElementImpl]. At this moment we must ensure | |
| 118 * that [ClassElementImpl] is fully complete, we cannot continue filling it | |
| 119 * lazily. | |
| 120 */ | |
| 121 void ensureActualElementComplete() {} | |
| 122 | |
| 123 /** | |
| 124 * Ensure that [ClassElement.constructors] are ready in [actualElement]. | |
| 125 */ | |
| 126 void ensureConstructorsReady() {} | |
| 127 | |
| 128 /** | |
| 129 * Ensure that [ClassElement.methods] are ready in [actualElement]. | |
| 130 */ | |
| 131 void ensureMethodsReady() {} | |
| 108 | 132 |
| 109 @override | 133 @override |
| 110 PropertyAccessorElement getGetter(String getterName) => | 134 FieldElement getField(String fieldName) { |
| 111 actualElement.getGetter(getterName); | 135 ensureAccessorsReady(); |
| 136 return actualElement.getField(fieldName); | |
| 137 } | |
| 112 | 138 |
| 113 @override | 139 @override |
| 114 MethodElement getMethod(String methodName) => | 140 PropertyAccessorElement getGetter(String getterName) { |
| 115 actualElement.getMethod(methodName); | 141 ensureAccessorsReady(); |
| 142 return actualElement.getGetter(getterName); | |
| 143 } | |
| 116 | 144 |
| 117 @override | 145 @override |
| 118 ConstructorElement getNamedConstructor(String name) => | 146 MethodElement getMethod(String methodName) { |
| 119 actualElement.getNamedConstructor(name); | 147 ensureMethodsReady(); |
| 148 return actualElement.getMethod(methodName); | |
| 149 } | |
| 120 | 150 |
| 121 @override | 151 @override |
| 122 PropertyAccessorElement getSetter(String setterName) => | 152 ConstructorElement getNamedConstructor(String name) { |
| 123 actualElement.getSetter(setterName); | 153 ensureConstructorsReady(); |
| 154 return actualElement.getNamedConstructor(name); | |
| 155 } | |
| 156 | |
| 157 @override | |
| 158 PropertyAccessorElement getSetter(String setterName) { | |
| 159 ensureAccessorsReady(); | |
| 160 return actualElement.getSetter(setterName); | |
| 161 } | |
| 124 | 162 |
| 125 @override | 163 @override |
| 126 bool isSuperConstructorAccessible(ConstructorElement constructor) => | 164 bool isSuperConstructorAccessible(ConstructorElement constructor) => |
| 127 actualElement.isSuperConstructorAccessible(constructor); | 165 actualElement.isSuperConstructorAccessible(constructor); |
| 128 | 166 |
| 129 @override | 167 @override |
| 130 MethodElement lookUpConcreteMethod( | 168 MethodElement lookUpConcreteMethod( |
| 131 String methodName, LibraryElement library) => | 169 String methodName, LibraryElement library) { |
| 132 actualElement.lookUpConcreteMethod(methodName, library); | 170 ensureMethodsReady(); |
| 171 return actualElement.lookUpConcreteMethod(methodName, library); | |
| 172 } | |
| 133 | 173 |
| 134 @override | 174 @override |
| 135 PropertyAccessorElement lookUpGetter( | 175 PropertyAccessorElement lookUpGetter( |
| 136 String getterName, LibraryElement library) => | 176 String getterName, LibraryElement library) => |
| 137 actualElement.lookUpGetter(getterName, library); | 177 actualElement.lookUpGetter(getterName, library); |
| 138 | 178 |
| 139 @override | 179 @override |
| 140 PropertyAccessorElement lookUpInheritedConcreteGetter( | 180 PropertyAccessorElement lookUpInheritedConcreteGetter( |
| 141 String methodName, LibraryElement library) => | 181 String methodName, LibraryElement library) { |
| 142 actualElement.lookUpInheritedConcreteGetter(methodName, library); | 182 ensureAccessorsReady(); |
| 183 return actualElement.lookUpInheritedConcreteGetter(methodName, library); | |
| 184 } | |
| 143 | 185 |
| 144 @override | 186 @override |
| 145 MethodElement lookUpInheritedConcreteMethod( | 187 MethodElement lookUpInheritedConcreteMethod( |
| 146 String methodName, LibraryElement library) => | 188 String methodName, LibraryElement library) { |
| 147 actualElement.lookUpInheritedConcreteMethod(methodName, library); | 189 ensureMethodsReady(); |
| 190 return actualElement.lookUpInheritedConcreteMethod(methodName, library); | |
| 191 } | |
| 148 | 192 |
| 149 @override | 193 @override |
| 150 PropertyAccessorElement lookUpInheritedConcreteSetter( | 194 PropertyAccessorElement lookUpInheritedConcreteSetter( |
| 151 String methodName, LibraryElement library) => | 195 String methodName, LibraryElement library) { |
| 152 actualElement.lookUpInheritedConcreteSetter(methodName, library); | 196 ensureAccessorsReady(); |
| 197 return actualElement.lookUpInheritedConcreteSetter(methodName, library); | |
| 198 } | |
| 153 | 199 |
| 154 @override | 200 @override |
| 155 MethodElement lookUpInheritedMethod( | 201 MethodElement lookUpInheritedMethod( |
| 156 String methodName, LibraryElement library) => | 202 String methodName, LibraryElement library) { |
| 157 actualElement.lookUpInheritedMethod(methodName, library); | 203 ensureMethodsReady(); |
| 204 return actualElement.lookUpInheritedMethod(methodName, library); | |
| 205 } | |
| 158 | 206 |
| 159 @override | 207 @override |
| 160 MethodElement lookUpMethod(String methodName, LibraryElement library) => | 208 MethodElement lookUpMethod(String methodName, LibraryElement library) { |
| 161 actualElement.lookUpMethod(methodName, library); | 209 ensureMethodsReady(); |
| 210 return actualElement.lookUpMethod(methodName, library); | |
| 211 } | |
| 162 | 212 |
| 163 @override | 213 @override |
| 164 PropertyAccessorElement lookUpSetter( | 214 PropertyAccessorElement lookUpSetter( |
| 165 String setterName, LibraryElement library) => | 215 String setterName, LibraryElement library) { |
| 166 actualElement.lookUpSetter(setterName, library); | 216 ensureAccessorsReady(); |
| 217 return actualElement.lookUpSetter(setterName, library); | |
| 218 } | |
| 167 } | 219 } |
| 168 | 220 |
| 169 /** | 221 /** |
| 170 * A handle to a [CompilationUnitElement]. | 222 * A handle to a [CompilationUnitElement]. |
| 171 */ | 223 */ |
| 172 class CompilationUnitElementHandle extends ElementHandle | 224 class CompilationUnitElementHandle extends ElementHandle |
| 173 implements CompilationUnitElement { | 225 implements CompilationUnitElement { |
| 174 /** | 226 /** |
| 175 * Initialize a newly created element handle to represent the element at the | 227 * Initialize a newly created element handle to represent the element at the |
| 176 * given [_location]. The [_resynthesizer] will be used to resynthesize the | 228 * given [_location]. The [_resynthesizer] will be used to resynthesize the |
| (...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 408 @override | 460 @override |
| 409 accept(ElementVisitor visitor) => actualElement.accept(visitor); | 461 accept(ElementVisitor visitor) => actualElement.accept(visitor); |
| 410 | 462 |
| 411 @override | 463 @override |
| 412 String computeDocumentationComment() => documentationComment; | 464 String computeDocumentationComment() => documentationComment; |
| 413 | 465 |
| 414 @override | 466 @override |
| 415 AstNode computeNode() => actualElement.computeNode(); | 467 AstNode computeNode() => actualElement.computeNode(); |
| 416 | 468 |
| 417 @override | 469 @override |
| 418 Element getAncestor(Predicate<Element> predicate) => | 470 Element getAncestor(Predicate<Element> predicate) { |
| 419 actualElement.getAncestor(predicate); | 471 if (actualElement == null) { |
| 472 print('No actualElement: $location $runtimeType'); | |
|
Paul Berry
2016/05/11 22:09:37
Looks like temporary debugging code that should be
| |
| 473 } | |
| 474 return actualElement.getAncestor(predicate); | |
| 475 } | |
| 420 | 476 |
| 421 @override | 477 @override |
| 422 String getExtendedDisplayName(String shortName) => | 478 String getExtendedDisplayName(String shortName) => |
| 423 actualElement.getExtendedDisplayName(shortName); | 479 actualElement.getExtendedDisplayName(shortName); |
| 424 | 480 |
| 425 @override | 481 @override |
| 426 bool isAccessibleIn(LibraryElement library) => | 482 bool isAccessibleIn(LibraryElement library) => |
| 427 actualElement.isAccessibleIn(library); | 483 actualElement.isAccessibleIn(library); |
| 428 | 484 |
| 429 @override | 485 @override |
| (...skipping 675 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1105 @override | 1161 @override |
| 1106 bool get isPotentiallyMutatedInScope => | 1162 bool get isPotentiallyMutatedInScope => |
| 1107 actualElement.isPotentiallyMutatedInScope; | 1163 actualElement.isPotentiallyMutatedInScope; |
| 1108 | 1164 |
| 1109 @override | 1165 @override |
| 1110 bool get isStatic => actualElement.isStatic; | 1166 bool get isStatic => actualElement.isStatic; |
| 1111 | 1167 |
| 1112 @override | 1168 @override |
| 1113 DartType get type => actualElement.type; | 1169 DartType get type => actualElement.type; |
| 1114 } | 1170 } |
| OLD | NEW |