| 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 719a9b20808cc5f957f8dbd84b0c1854d81e7b12..cbb566e5302129734ad2a1084405cebafcea786a 100644
|
| --- a/compiler/java/com/google/dart/compiler/type/TypeAnalyzer.java
|
| +++ b/compiler/java/com/google/dart/compiler/type/TypeAnalyzer.java
|
| @@ -99,6 +99,7 @@ import com.google.dart.compiler.ast.DartVariableStatement;
|
| import com.google.dart.compiler.ast.DartWhileStatement;
|
| import com.google.dart.compiler.ast.Modifiers;
|
| import com.google.dart.compiler.common.HasSourceInfo;
|
| +import com.google.dart.compiler.common.SourceInfo;
|
| import com.google.dart.compiler.parser.Token;
|
| import com.google.dart.compiler.resolver.ClassElement;
|
| import com.google.dart.compiler.resolver.ClassNodeElement;
|
| @@ -117,6 +118,7 @@ import com.google.dart.compiler.resolver.ResolverErrorCode;
|
| import com.google.dart.compiler.resolver.TypeErrorCode;
|
| import com.google.dart.compiler.resolver.VariableElement;
|
| import com.google.dart.compiler.type.InterfaceType.Member;
|
| +import com.google.dart.compiler.util.apache.ObjectUtils;
|
|
|
| import java.util.Arrays;
|
| import java.util.Collection;
|
| @@ -220,13 +222,17 @@ public class TypeAnalyzer implements DartCompilationPhase {
|
| }
|
|
|
| private void onError(HasSourceInfo node, ErrorCode errorCode, Object... arguments) {
|
| - Source source = node.getSourceInfo().getSource();
|
| + onError(node.getSourceInfo(), errorCode, arguments);
|
| + }
|
| +
|
| + private void onError(SourceInfo errorTarget, ErrorCode errorCode, Object... arguments) {
|
| + Source source = errorTarget.getSource();
|
| if (suppressSdkWarnings && errorCode.getErrorSeverity() == ErrorSeverity.WARNING) {
|
| if (source != null && SystemLibraryManager.isDartUri(source.getUri())) {
|
| return;
|
| }
|
| }
|
| - context.onError(new DartCompilationError(node, errorCode, arguments));
|
| + context.onError(new DartCompilationError(errorTarget, errorCode, arguments));
|
| }
|
|
|
| AssertionError internalError(HasSourceInfo node, String message, Object... arguments) {
|
| @@ -2483,6 +2489,12 @@ 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()))) {
|
| + onError(parameter.getSourceInfo(),
|
| + TypeErrorCode.CANNOT_OVERRIDE_METHOD_DEFAULT_VALUE, method.getName(),
|
| + superParameter.getDefaultValue());
|
| + }
|
| continue;
|
| }
|
| }
|
|
|