diff --git a/src/main/java/org/minimallycorrect/javatransformer/internal/ResolutionContext.java b/src/main/java/org/minimallycorrect/javatransformer/internal/ResolutionContext.java index a76766d..08ca517 100644 --- a/src/main/java/org/minimallycorrect/javatransformer/internal/ResolutionContext.java +++ b/src/main/java/org/minimallycorrect/javatransformer/internal/ResolutionContext.java @@ -245,21 +245,14 @@ private Type resolveClassType(String name) { // inner class in imported class if (preDotName != null && importName.endsWith(preDotName)) { - String fullName = importName + postDotName; - // TODO: we can either resolve with $ or . here depending on if in source or byte code - // should make consistent by always using $ for inner class names - Type type = resolveIfExists(fullName); - if (type != null) { - return type; - } - type = resolveIfExists(importName + postDotName.replace('.', '$')); + val type = resolveIfExists(importName + postDotName.replace('.', '$')); if (type != null) { return type; } } } - Type type = resolveIfExists(packageName + '.' + name); + Type type = resolveIfExists(packageName + '.' + name.replace('.', '$')); if (type != null) { return type; } diff --git a/src/main/java/org/minimallycorrect/javatransformer/internal/javaparser/CompilationUnitInfo.java b/src/main/java/org/minimallycorrect/javatransformer/internal/javaparser/CompilationUnitInfo.java index ae7686d..212d1fe 100644 --- a/src/main/java/org/minimallycorrect/javatransformer/internal/javaparser/CompilationUnitInfo.java +++ b/src/main/java/org/minimallycorrect/javatransformer/internal/javaparser/CompilationUnitInfo.java @@ -26,7 +26,7 @@ public static void getSourceInfos(Iterable> typeDeclarations, sourceInfos.add(new SourceInfo(() -> typeDeclaration, packageName + typeDeclaration.getName(), classPath)); // suppressed deprecation warning for now // https://github.com/javaparser/javaparser/issues/1472#issuecomment-424327421 - getSourceInfos(typeDeclaration.getChildNodesByType((Class>) (Object) TypeDeclaration.class), classPath, sourceInfos, packageName + typeDeclaration.getNameAsString() + '.'); + getSourceInfos(typeDeclaration.getChildNodesByType((Class>) (Object) TypeDeclaration.class), classPath, sourceInfos, packageName + typeDeclaration.getNameAsString() + '$'); } } }