| Index: compiler/java/com/google/dart/compiler/type/TypeAnalyzer.java
|
| diff --git a/compiler/java/com/google/dart/compiler/type/TypeAnalyzer.java b/compiler/java/com/google/dart/compiler/type/TypeAnalyzer.java
|
| index 4a2f0ca3b016362bd4e519f080336b54c1e20478..7decd166a5805cefc8bfe105fab7e8b892e6df27 100644
|
| --- a/compiler/java/com/google/dart/compiler/type/TypeAnalyzer.java
|
| +++ b/compiler/java/com/google/dart/compiler/type/TypeAnalyzer.java
|
| @@ -1218,12 +1218,8 @@ public class TypeAnalyzer implements DartCompilationPhase {
|
| } else {
|
| ClassElement cls = (ClassElement) constructorElement.getEnclosingElement();
|
| // Add warning for instantiating abstract class.
|
| - if (cls.isAbstract()) {
|
| - ErrorCode errorCode =
|
| - constructorElement.getModifiers().isFactory()
|
| - ? TypeErrorCode.INSTANTIATION_OF_ABSTRACT_CLASS_USING_FACTORY
|
| - : TypeErrorCode.INSTANTIATION_OF_ABSTRACT_CLASS;
|
| - typeError(typeName, errorCode, cls.getName());
|
| + if (cls.isAbstract() && !constructorElement.getModifiers().isFactory()) {
|
| + typeError(typeName, TypeErrorCode.INSTANTIATION_OF_ABSTRACT_CLASS, cls.getName());
|
| } else {
|
| List<Element> unimplementedMembers = findUnimplementedMembers(cls);
|
| if (unimplementedMembers.size() > 0) {
|
|
|