Index: editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/element/PropertyInducingElementImpl.java |
diff --git a/editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/element/PropertyInducingElementImpl.java b/editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/element/PropertyInducingElementImpl.java |
index 08b03acc649196c37207ee6932e765d474aa7ed5..2afc8cc242178885cc11435ab4745d249c368d2b 100644 |
--- a/editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/element/PropertyInducingElementImpl.java |
+++ b/editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/element/PropertyInducingElementImpl.java |
@@ -16,6 +16,7 @@ package com.google.dart.engine.internal.element; |
import com.google.dart.engine.ast.Identifier; |
import com.google.dart.engine.element.PropertyAccessorElement; |
import com.google.dart.engine.element.PropertyInducingElement; |
+import com.google.dart.engine.type.Type; |
/** |
* Instances of the class {@code PropertyInducingElementImpl} implement a |
@@ -37,6 +38,12 @@ public abstract class PropertyInducingElementImpl extends VariableElementImpl im |
private PropertyAccessorElement setter; |
/** |
+ * The propagated type of this variable, or {@code null} if type propagation has not been |
+ * performed. |
+ */ |
+ private Type propagatedType; |
+ |
+ /** |
* An empty array of elements. |
*/ |
public static final PropertyInducingElement[] EMPTY_ARRAY = new PropertyInducingElement[0]; |
@@ -66,6 +73,11 @@ public abstract class PropertyInducingElementImpl extends VariableElementImpl im |
} |
@Override |
+ public Type getPropagatedType() { |
+ return propagatedType; |
+ } |
+ |
+ @Override |
public PropertyAccessorElement getSetter() { |
return setter; |
} |
@@ -80,6 +92,15 @@ public abstract class PropertyInducingElementImpl extends VariableElementImpl im |
} |
/** |
+ * Set the propagated type of this variable to the given type. |
+ * |
+ * @param propagatedType the propagated type of this variable |
+ */ |
+ public void setPropagatedType(Type propagatedType) { |
+ this.propagatedType = propagatedType; |
+ } |
+ |
+ /** |
* Set the setter associated with this element to the given accessor. |
* |
* @param setter the setter associated with this element |