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/07/18 10:23:31 UTC
[groovy] 02/02: GROOVY-8715: minor refactor (closes #1317)
This is an automated email from the ASF dual-hosted git repository.
paulk pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/groovy.git
commit 0af5fcf2fedc7f7810d9889971e4bf394367ef92
Author: Paul King <pa...@asert.com.au>
AuthorDate: Sat Jul 18 20:22:30 2020 +1000
GROOVY-8715: minor refactor (closes #1317)
---
.../org/codehaus/groovy/control/ResolveVisitor.java | 18 ++++++++++--------
src/test/gls/innerClass/InnerClassTest.groovy | 6 +++---
2 files changed, 13 insertions(+), 11 deletions(-)
diff --git a/src/main/java/org/codehaus/groovy/control/ResolveVisitor.java b/src/main/java/org/codehaus/groovy/control/ResolveVisitor.java
index d348a77..dbaba62 100644
--- a/src/main/java/org/codehaus/groovy/control/ResolveVisitor.java
+++ b/src/main/java/org/codehaus/groovy/control/ResolveVisitor.java
@@ -322,17 +322,19 @@ public class ResolveVisitor extends ClassCodeExpressionTransformer {
genericParameterNames = oldPNames;
}
- private void resolveOrFailPlus(final ClassNode type, final ASTNode node) {
- resolveGenericsTypes(type.getGenericsTypes());
- if (resolveAliasFromModule(type)) return;
- resolveOrFail(type, node);
- }
-
private void resolveOrFail(final ClassNode type, final ASTNode node) {
resolveOrFail(type, "", node);
}
private void resolveOrFail(final ClassNode type, final String msg, final ASTNode node) {
+ resolveOrFail(type, "", node, false);
+ }
+
+ private void resolveOrFail(final ClassNode type, final String msg, final ASTNode node, final boolean preferImports) {
+ if (preferImports) {
+ resolveGenericsTypes(type.getGenericsTypes());
+ if (resolveAliasFromModule(type)) return;
+ }
if (resolve(type)) return;
if (resolveToInner(type)) return;
if (resolveToOuterNested(type)) return;
@@ -1476,10 +1478,10 @@ public class ResolveVisitor extends ClassCodeExpressionTransformer {
}
ClassNode sn = node.getUnresolvedSuperClass();
- if (sn != null) resolveOrFailPlus(sn, node);
+ if (sn != null) resolveOrFail(sn, "", node, true);
for (ClassNode anInterface : node.getInterfaces()) {
- resolveOrFailPlus(anInterface, node);
+ resolveOrFail(anInterface, "", node, true);
}
checkCyclicInheritance(node, node.getUnresolvedSuperClass(), node.getInterfaces());
diff --git a/src/test/gls/innerClass/InnerClassTest.groovy b/src/test/gls/innerClass/InnerClassTest.groovy
index 65377eb..6f401fe 100644
--- a/src/test/gls/innerClass/InnerClassTest.groovy
+++ b/src/test/gls/innerClass/InnerClassTest.groovy
@@ -1237,7 +1237,7 @@ final class InnerClassTest {
}
@Test
- void testResolveInnerOfSuperType9() {
+ void testResolveInnerOfSuperType10() {
assertScript '''
abstract class A {
static class B {}
@@ -1252,7 +1252,7 @@ final class InnerClassTest {
}
@Test
- void testResolveInnerOfSuperType9a() {
+ void testResolveInnerOfSuperType10a() {
assertScript '''
abstract class A {
static class B {}
@@ -1267,7 +1267,7 @@ final class InnerClassTest {
}
@CompileDynamic @Test // GROOVY-8715
- void testResolveInnerOfSuperType9b() {
+ void testResolveInnerOfSuperType10b() {
def config = new CompilerConfiguration(
targetDirectory: File.createTempDir(),
jointCompilationOptions: [memStub: true]