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 a61026939ab733be609214a1317f45a8e3583de4..a312e1b205989b618245bc7c037f0937d0be5dc3 100644 |
--- a/compiler/java/com/google/dart/compiler/type/TypeAnalyzer.java |
+++ b/compiler/java/com/google/dart/compiler/type/TypeAnalyzer.java |
@@ -2685,6 +2685,11 @@ public class TypeAnalyzer implements DartCompilationPhase { |
String name = method.getName(); |
if (superMembers != null && !method.isConstructor()) { |
Collection<Element> overridden = superMembers.removeAll(name); |
+ // Check for invalid @override metadata. |
+ if (overridden.isEmpty() && node.getMetadata().isOverride()) { |
Brian Wilkerson
2012/06/25 14:24:38
Is there any demand for the inverse (warning for a
scheglov
2012/06/26 19:46:34
This would add a lot of warnings into existing pro
|
+ typeError(node.getName(), ResolverErrorCode.INVALID_OVERRIDE_METADATA); |
+ } |
+ // Check that override is valid. |
for (Element element : overridden) { |
if (canOverride(node.getName(), method.getModifiers(), element)) { |
switch (element.getKind()) { |