Index: sdk/lib/_internal/compiler/implementation/compiler.dart |
=================================================================== |
--- sdk/lib/_internal/compiler/implementation/compiler.dart (revision 25147) |
+++ sdk/lib/_internal/compiler/implementation/compiler.dart (working copy) |
@@ -1042,15 +1042,15 @@ |
TreeElements analyzeElement(Element element) { |
assert(invariant(element, element.isDeclaration)); |
- assert(!element.isForwardingConstructor); |
ResolutionEnqueuer world = enqueuer.resolution; |
TreeElements elements = world.getCachedElements(element); |
if (elements != null) return elements; |
assert(parser != null); |
Node tree = parser.parse(element); |
- validator.validate(tree); |
+ assert(invariant(element, !element.isSynthesized || tree == null)); |
+ if (tree != null) validator.validate(tree); |
elements = resolver.resolve(element); |
- if (elements != null && !analyzeSignaturesOnly) { |
+ if (tree != null && elements != null && !analyzeSignaturesOnly) { |
// Only analyze nodes with a corresponding [TreeElements]. |
checker.check(elements); |
} |