You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by pa...@apache.org on 2020/09/22 11:54:56 UTC
[groovy] 03/03: GROOVY-9751: STC: extension may fix missing method
or ambiguous methods
This is an automated email from the ASF dual-hosted git repository.
paulk pushed a commit to branch GROOVY_3_0_X
in repository https://gitbox.apache.org/repos/asf/groovy.git
commit 78a7884c072cb06e8c34637ef697b35c245562eb
Author: Eric Milles <er...@thomsonreuters.com>
AuthorDate: Mon Sep 21 14:06:16 2020 -0500
GROOVY-9751: STC: extension may fix missing method or ambiguous methods
---
.../codehaus/groovy/transform/stc/StaticTypeCheckingVisitor.java | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingVisitor.java b/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingVisitor.java
index decf839..b4f40ff 100644
--- a/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingVisitor.java
+++ b/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingVisitor.java
@@ -2404,6 +2404,13 @@ public class StaticTypeCheckingVisitor extends ClassCodeVisitorSupport {
}
}
+ if (candidates.isEmpty()) {
+ candidates = extension.handleMissingMethod(
+ getType(expression.getExpression()), nameText, null, null, null);
+ } else if (candidates.size() > 1) {
+ candidates = extension.handleAmbiguousMethods(candidates, expression);
+ }
+
if (!candidates.isEmpty()) {
candidates.stream().map(MethodNode::getReturnType)
.reduce(WideningCategories::lowestUpperBound)