Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(8989)

Unified Diff: editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/resolver/TypeResolverVisitor.java

Issue 15029010: Remove CTEC.MIXIN_OF_NON_MIXIN and MIXIN_WITH_NON_CLASS_SUPERCLASS. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Report MIXIN_WITH_NON_CLASS_SUPERCLASS Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/resolver/TypeResolverVisitor.java
diff --git a/editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/resolver/TypeResolverVisitor.java b/editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/resolver/TypeResolverVisitor.java
index 74d771a469f0258e50ebcaf8dc1abe72e6d05338..c09ee0ff1217e3f127fa3927edfd3eddc5729395 100644
--- a/editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/resolver/TypeResolverVisitor.java
+++ b/editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/resolver/TypeResolverVisitor.java
@@ -166,9 +166,9 @@ public class TypeResolverVisitor extends ScopedVisitor {
InterfaceType superclassType = null;
ExtendsClause extendsClause = node.getExtendsClause();
if (extendsClause != null) {
- superclassType = resolveType(
- extendsClause.getSuperclass(),
- CompileTimeErrorCode.EXTENDS_NON_CLASS);
+ ErrorCode errorCode = node.getWithClause() == null ? CompileTimeErrorCode.EXTENDS_NON_CLASS
+ : CompileTimeErrorCode.MIXIN_WITH_NON_CLASS_SUPERCLASS;
+ superclassType = resolveType(extendsClause.getSuperclass(), errorCode);
if (superclassType != getTypeProvider().getObjectType()) {
classElement.setValidMixin(false);
}
@@ -193,7 +193,7 @@ public class TypeResolverVisitor extends ScopedVisitor {
ClassElementImpl classElement = getClassElement(node.getName());
InterfaceType superclassType = resolveType(
node.getSuperclass(),
- CompileTimeErrorCode.EXTENDS_NON_CLASS);
+ CompileTimeErrorCode.MIXIN_WITH_NON_CLASS_SUPERCLASS);
if (superclassType == null) {
superclassType = getTypeProvider().getObjectType();
}

Powered by Google App Engine
This is Rietveld 408576698