|
10 | 10 | import lombok.val; |
11 | 11 | import me.nallar.javatransformer.api.Type; |
12 | 12 | import me.nallar.javatransformer.internal.util.JVMUtil; |
13 | | -import me.nallar.javatransformer.internal.util.Joiner; |
14 | 13 | import me.nallar.javatransformer.internal.util.NodeUtil; |
15 | | -import me.nallar.javatransformer.internal.util.Splitter; |
16 | 14 |
|
17 | 15 | import java.util.*; |
18 | 16 |
|
19 | 17 | public class ResolutionContext { |
20 | | - private static final Splitter dotSplitter = Splitter.on('.'); |
21 | 18 | @NonNull |
22 | 19 | private final String packageName; |
23 | 20 | @NonNull |
@@ -51,25 +48,7 @@ static boolean hasPackages(String name) { |
51 | 48 | static String classNameToDescriptor(String className) { |
52 | 49 | // TODO: 23/01/2016 Handle inner classes properly? currently depend on following naming standards |
53 | 50 | // depends on: lower case package names, uppercase first letter of class name |
54 | | - List<String> parts = new ArrayList<>(); |
55 | | - dotSplitter.split(className).forEach(parts::add); |
56 | | - |
57 | | - boolean possibleClass = true; |
58 | | - for (int i = parts.size() - 1, size = i; i >= 0; i--) { |
59 | | - String part = parts.get(i); |
60 | | - |
61 | | - boolean last = i == size; |
62 | | - |
63 | | - if (!last && !Character.isUpperCase(part.charAt(0))) { |
64 | | - possibleClass = false; |
65 | | - } |
66 | | - |
67 | | - if (!last) { |
68 | | - parts.set(i, part + (possibleClass ? '$' : '/')); |
69 | | - } |
70 | | - } |
71 | | - |
72 | | - return "L" + Joiner.on().join(parts) + ";"; |
| 51 | + return 'L' + JVMUtil.classNameToJLSName(className) + ';'; |
73 | 52 | } |
74 | 53 |
|
75 | 54 | public Type resolve(com.github.javaparser.ast.type.Type type) { |
|
0 commit comments