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 'dart:collection' show LinkedHashMap; | 7 import 'dart:collection' show LinkedHashMap; |
8 | 8 |
9 import 'elements.dart'; | 9 import 'elements.dart'; |
10 import '../../compiler.dart' as api; | 10 import '../../compiler.dart' as api; |
(...skipping 1401 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1412 SynthesizedConstructorElementX.forDefault(superMember, Element enclosing) | 1412 SynthesizedConstructorElementX.forDefault(superMember, Element enclosing) |
1413 : this(const SourceString(''), superMember, enclosing, true); | 1413 : this(const SourceString(''), superMember, enclosing, true); |
1414 | 1414 |
1415 Token position() => enclosingElement.position(); | 1415 Token position() => enclosingElement.position(); |
1416 | 1416 |
1417 bool get isSynthesized => true; | 1417 bool get isSynthesized => true; |
1418 | 1418 |
1419 FunctionElement get targetConstructor => superMember; | 1419 FunctionElement get targetConstructor => superMember; |
1420 | 1420 |
1421 FunctionSignature computeSignature(compiler) { | 1421 FunctionSignature computeSignature(compiler) { |
| 1422 if (functionSignature != null) return functionSignature; |
1422 if (isDefaultConstructor) { | 1423 if (isDefaultConstructor) { |
1423 return new FunctionSignatureX( | 1424 return functionSignature = new FunctionSignatureX( |
1424 const Link<Element>(), const Link<Element>(), 0, 0, false, | 1425 const Link<Element>(), const Link<Element>(), 0, 0, false, |
1425 getEnclosingClass().thisType); | 1426 getEnclosingClass().thisType); |
1426 } | 1427 } |
1427 if (superMember.isErroneous()) { | 1428 if (superMember.isErroneous()) { |
1428 return compiler.objectClass.localLookup( | 1429 return functionSignature = compiler.objectClass.localLookup( |
1429 const SourceString('')).computeSignature(compiler); | 1430 const SourceString('')).computeSignature(compiler); |
1430 } | 1431 } |
1431 return superMember.computeSignature(compiler); | 1432 return functionSignature = superMember.computeSignature(compiler); |
1432 } | 1433 } |
1433 | 1434 |
1434 get declaration => this; | 1435 get declaration => this; |
1435 get implementation => this; | 1436 get implementation => this; |
1436 get defaultImplementation => this; | 1437 get defaultImplementation => this; |
1437 } | 1438 } |
1438 | 1439 |
1439 class VoidElementX extends ElementX { | 1440 class VoidElementX extends ElementX { |
1440 VoidElementX(Element enclosing) | 1441 VoidElementX(Element enclosing) |
1441 : super(const SourceString('void'), ElementKind.VOID, enclosing); | 1442 : super(const SourceString('void'), ElementKind.VOID, enclosing); |
(...skipping 747 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2189 | 2190 |
2190 MetadataAnnotation ensureResolved(Compiler compiler) { | 2191 MetadataAnnotation ensureResolved(Compiler compiler) { |
2191 if (resolutionState == STATE_NOT_STARTED) { | 2192 if (resolutionState == STATE_NOT_STARTED) { |
2192 compiler.resolver.resolveMetadataAnnotation(this); | 2193 compiler.resolver.resolveMetadataAnnotation(this); |
2193 } | 2194 } |
2194 return this; | 2195 return this; |
2195 } | 2196 } |
2196 | 2197 |
2197 String toString() => 'MetadataAnnotation($value, $resolutionState)'; | 2198 String toString() => 'MetadataAnnotation($value, $resolutionState)'; |
2198 } | 2199 } |
OLD | NEW |