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

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

Issue 38353003: Issue 13807. Support for function types promotion. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: 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
« no previous file with comments | « no previous file | editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/resolver/ResolverVisitor.java » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/resolver/ElementResolver.java
diff --git a/editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/resolver/ElementResolver.java b/editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/resolver/ElementResolver.java
index 79a4e8c11785996890f5a915f01dad818b53f6d8..0609419200e92cf0b35da7c9306d929d57072fea 100644
--- a/editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/resolver/ElementResolver.java
+++ b/editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/resolver/ElementResolver.java
@@ -318,6 +318,11 @@ public class ElementResolver extends SimpleASTVisitor<Void> {
private SubtypeManager subtypeManager;
/**
+ * The object keeping track of which elements have had their types promoted.
+ */
+ private TypePromotionManager promoteManager;
+
+ /**
* The name of the method that can be implemented by a class to allow its instances to be invoked
* as if they were a function.
*/
@@ -342,6 +347,7 @@ public class ElementResolver extends SimpleASTVisitor<Void> {
dynamicType = resolver.getTypeProvider().getDynamicType();
typeType = resolver.getTypeProvider().getTypeType();
subtypeManager = new SubtypeManager();
+ promoteManager = resolver.getPromoteManager();
}
@Override
@@ -1597,7 +1603,7 @@ public class ElementResolver extends SimpleASTVisitor<Void> {
return resolveArgumentsToParameters(false, argumentList, (ExecutableElement) element);
} else if (element instanceof VariableElement) {
VariableElement variable = (VariableElement) element;
- Type type = variable.getType();
+ Type type = promoteManager.getStaticType(variable);
if (type instanceof FunctionType) {
FunctionType functionType = (FunctionType) type;
ParameterElement[] parameters = functionType.getParameters();
« no previous file with comments | « no previous file | editor/tools/plugins/com.google.dart.engine/src/com/google/dart/engine/internal/resolver/ResolverVisitor.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698