Index: compiler/java/com/google/dart/compiler/resolver/ResolveVisitor.java |
diff --git a/compiler/java/com/google/dart/compiler/resolver/ResolveVisitor.java b/compiler/java/com/google/dart/compiler/resolver/ResolveVisitor.java |
index 8fdfa3ddf74efb52b3e9ba92454ae122569135a9..c315b185fc76988b8d6471a9484d263326fe68b1 100644 |
--- a/compiler/java/com/google/dart/compiler/resolver/ResolveVisitor.java |
+++ b/compiler/java/com/google/dart/compiler/resolver/ResolveVisitor.java |
@@ -38,6 +38,7 @@ abstract class ResolveVisitor extends ASTVisitor<Element> { |
for (DartParameter parameter : node.getParameters()) { |
Elements.addParameter(element, (VariableElement) parameter.accept(this)); |
} |
+ resolveFunctionWithParameters(node, element); |
Type returnType = |
resolveType( |
node.getReturnTypeNode(), |
@@ -51,6 +52,13 @@ abstract class ResolveVisitor extends ASTVisitor<Element> { |
return element; |
} |
+ /** |
+ * Allows subclass to process {@link DartFunction} element with parameters, but before |
+ * {@link FunctionType} is created for it. |
+ */ |
+ protected void resolveFunctionWithParameters(DartFunction node, MethodElement element) { |
+ } |
+ |
final FunctionAliasElement resolveFunctionAlias(DartFunctionTypeAlias node) { |
HashSet<String> parameterNames = new HashSet<String>(); |
for (DartTypeParameter parameter : node.getTypeParameters()) { |