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

Unified Diff: pkg/analyzer/lib/src/generated/error_verifier.dart

Issue 700923002: Warn when implicit default value overrides explicit one that differs. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 1 month 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: pkg/analyzer/lib/src/generated/error_verifier.dart
diff --git a/pkg/analyzer/lib/src/generated/error_verifier.dart b/pkg/analyzer/lib/src/generated/error_verifier.dart
index 74542c12a446f0de0a58595754e5620f120a426d..b50fd777c7302b2d395a43b9be47b3d9a34f99ef 100644
--- a/pkg/analyzer/lib/src/generated/error_verifier.dart
+++ b/pkg/analyzer/lib/src/generated/error_verifier.dart
@@ -1359,6 +1359,11 @@ class ErrorVerifier extends RecursiveAstVisitor<Object> {
String parameterName = parameterElt.name;
for (int j = 0; j < overriddenParameterElts.length; j++) {
ParameterElementImpl overriddenParameterElt = overriddenParameterElts[j];
+ if (overriddenParameterElt.initializer == null) {
+ // There is no warning if the overridden parameter has an
+ // implicit default.
+ continue;
+ }
String overriddenParameterName = overriddenParameterElt.name;
if (parameterName != null && parameterName == overriddenParameterName) {
EvaluationResultImpl overriddenResult = overriddenParameterElt.evaluationResult;
@@ -1385,6 +1390,11 @@ class ErrorVerifier extends RecursiveAstVisitor<Object> {
continue;
}
ParameterElementImpl overriddenParameterElt = overriddenParameterElts[i];
+ if (overriddenParameterElt.initializer == null) {
+ // There is no warning if the overridden parameter has an implicit
+ // default.
+ continue;
+ }
EvaluationResultImpl overriddenResult = overriddenParameterElt.evaluationResult;
if (_isUserDefinedObject(overriddenResult)) {
continue;
« no previous file with comments | « no previous file | pkg/analyzer/lib/src/generated/resolver.dart » ('j') | pkg/analyzer/test/generated/static_warning_code_test.dart » ('J')

Powered by Google App Engine
This is Rietveld 408576698