Index: compiler/java/com/google/dart/compiler/resolver/Resolver.java |
diff --git a/compiler/java/com/google/dart/compiler/resolver/Resolver.java b/compiler/java/com/google/dart/compiler/resolver/Resolver.java |
index 7d4c0ffc721dfd54d0322eda282f699d42cfd8d7..04b4ec872b08ca97c9830dbb99e087477b5bea21 100644 |
--- a/compiler/java/com/google/dart/compiler/resolver/Resolver.java |
+++ b/compiler/java/com/google/dart/compiler/resolver/Resolver.java |
@@ -1331,7 +1331,8 @@ public class Resolver { |
} |
} |
// If constructor not found, try implicit default constructor of the default class. |
- if (constructor.getParameters().isEmpty() |
+ if (Elements.isDefaultConstructor(constructor) |
+ && (Elements.isSyntheticConstructor(constructor) || factoryImplementsInterface) |
&& Elements.needsImplicitDefaultConstructor(defaultClass)) { |
return new SyntheticDefaultConstructorElement(null, defaultClass, typeProvider); |
} |