| 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 'elements.dart'; | 7 import 'elements.dart'; |
| 8 import '../constants/expressions.dart'; | 8 import '../constants/expressions.dart'; |
| 9 import '../helpers/helpers.dart'; // Included for debug helpers. | 9 import '../helpers/helpers.dart'; // Included for debug helpers. |
| 10 import '../tree/tree.dart'; | 10 import '../tree/tree.dart'; |
| (...skipping 1942 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1953 implements ConstructorElement { | 1953 implements ConstructorElement { |
| 1954 bool isRedirectingGenerative = false; | 1954 bool isRedirectingGenerative = false; |
| 1955 | 1955 |
| 1956 ConstructorElementX(String name, | 1956 ConstructorElementX(String name, |
| 1957 ElementKind kind, | 1957 ElementKind kind, |
| 1958 Modifiers modifiers, | 1958 Modifiers modifiers, |
| 1959 Element enclosing) | 1959 Element enclosing) |
| 1960 : super(name, kind, modifiers, enclosing, false); | 1960 : super(name, kind, modifiers, enclosing, false); |
| 1961 | 1961 |
| 1962 FunctionElement immediateRedirectionTarget; | 1962 FunctionElement immediateRedirectionTarget; |
| 1963 PrefixElement redirectionDeferredPrefix; |
| 1963 | 1964 |
| 1964 bool get isRedirectingFactory => immediateRedirectionTarget != null; | 1965 bool get isRedirectingFactory => immediateRedirectionTarget != null; |
| 1965 | 1966 |
| 1967 // TODO(johnniwinther): This should also return true for cyclic redirecting |
| 1968 // generative constructors. |
| 1969 bool get isCyclicRedirection => effectiveTarget.isRedirectingFactory; |
| 1970 |
| 1966 /// This field is set by the post process queue when checking for cycles. | 1971 /// This field is set by the post process queue when checking for cycles. |
| 1967 ConstructorElement internalEffectiveTarget; | 1972 ConstructorElement internalEffectiveTarget; |
| 1968 DartType effectiveTargetType; | 1973 DartType effectiveTargetType; |
| 1969 | 1974 |
| 1970 void set effectiveTarget(ConstructorElement constructor) { | 1975 void set effectiveTarget(ConstructorElement constructor) { |
| 1971 assert(constructor != null && internalEffectiveTarget == null); | 1976 assert(constructor != null && internalEffectiveTarget == null); |
| 1972 internalEffectiveTarget = constructor; | 1977 internalEffectiveTarget = constructor; |
| 1973 } | 1978 } |
| 1974 | 1979 |
| 1975 ConstructorElement get effectiveTarget { | 1980 ConstructorElement get effectiveTarget { |
| (...skipping 1149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3125 AstElement get definingElement; | 3130 AstElement get definingElement; |
| 3126 | 3131 |
| 3127 bool get hasResolvedAst => definingElement.hasTreeElements; | 3132 bool get hasResolvedAst => definingElement.hasTreeElements; |
| 3128 | 3133 |
| 3129 ResolvedAst get resolvedAst { | 3134 ResolvedAst get resolvedAst { |
| 3130 return new ResolvedAst(declaration, | 3135 return new ResolvedAst(declaration, |
| 3131 definingElement.node, definingElement.treeElements); | 3136 definingElement.node, definingElement.treeElements); |
| 3132 } | 3137 } |
| 3133 | 3138 |
| 3134 } | 3139 } |
| OLD | NEW |