| 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;
|
| }
|
|
|