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

Unified Diff: editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/resolver/VariableResolverVisitor.java

Issue 34523011: Issue 13807. Support for type promotion rules. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Updates after review comments Created 7 years, 2 months 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: editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/resolver/VariableResolverVisitor.java
diff --git a/editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/resolver/VariableResolverVisitor.java b/editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/resolver/VariableResolverVisitor.java
index 55abf2a1976151fb97aa7e0452fbb45b8456bf30..149aa7a430510d453aa81ac805bf97e2dc2853b4 100644
--- a/editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/resolver/VariableResolverVisitor.java
+++ b/editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/resolver/VariableResolverVisitor.java
@@ -23,6 +23,8 @@ import com.google.dart.engine.ast.SimpleIdentifier;
import com.google.dart.engine.element.Element;
import com.google.dart.engine.element.ElementKind;
import com.google.dart.engine.element.VariableElement;
+import com.google.dart.engine.internal.element.LocalVariableElementImpl;
+import com.google.dart.engine.internal.element.ParameterElementImpl;
import com.google.dart.engine.source.Source;
/**
@@ -74,8 +76,16 @@ public class VariableResolverVisitor extends ScopedVisitor {
}
// Must be local or parameter.
ElementKind kind = element.getKind();
- if (kind == ElementKind.LOCAL_VARIABLE || kind == ElementKind.PARAMETER) {
+ if (kind == ElementKind.LOCAL_VARIABLE) {
node.setStaticElement(element);
+ if (node.inSetterContext()) {
+ ((LocalVariableElementImpl) element).markPotentiallyMutated();
+ }
+ } else if (kind == ElementKind.PARAMETER) {
+ node.setStaticElement(element);
+ if (node.inSetterContext()) {
+ ((ParameterElementImpl) element).markPotentiallyMutated();
+ }
}
return null;
}

Powered by Google App Engine
This is Rietveld 408576698