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 4ec32da371a46757528fd9d4f5241e23b9b852a0..76a3394ed91e1bee4b3cf4ecbd8a21bbae40bb5a 100644 |
--- a/compiler/java/com/google/dart/compiler/type/TypeAnalyzer.java |
+++ b/compiler/java/com/google/dart/compiler/type/TypeAnalyzer.java |
@@ -2535,11 +2535,14 @@ public class TypeAnalyzer implements DartCompilationPhase { |
if (namedIterator.hasNext()) { |
VariableElement parameter = namedIterator.next(); |
if (Objects.equal(parameter.getName(), superParameter.getName())) { |
- if (!Objects.equal(ObjectUtils.toString(parameter.getDefaultValue()), |
- ObjectUtils.toString(superParameter.getDefaultValue()))) { |
+ DartExpression superDefValue = superParameter.getDefaultValue(); |
+ DartExpression defValue = parameter.getDefaultValue(); |
+ if (superDefValue != null |
+ && !Objects.equal(ObjectUtils.toString(defValue), |
+ ObjectUtils.toString(superDefValue))) { |
onError(parameter.getSourceInfo(), |
TypeErrorCode.CANNOT_OVERRIDE_METHOD_DEFAULT_VALUE, method.getName(), |
- superParameter.getDefaultValue()); |
+ superDefValue); |
} |
continue; |
} |