@@ -40,6 +40,7 @@ public static void write(PrintWriter out, String packageName) {
4040 + "\n "
4141 + " private final Map<TypeVariable, String> typeVariables;\n "
4242 + " private Set<String> allTypes = new HashSet<>();\n "
43+ + " private TypeMirror typeMirror;\n "
4344 + " private String mainType;\n "
4445 + " private String fullType;\n "
4546 + " private final List<UType> params = new ArrayList<>();\n "
@@ -75,6 +76,11 @@ public static void write(PrintWriter out, String packageName) {
7576 + " return allTypes.stream().filter(this::notJavaLang).collect(toSet());\n "
7677 + " }\n "
7778 + "\n "
79+ + " @Override\n "
80+ + " public TypeMirror mirror() {\n "
81+ + " return typeMirror;\n "
82+ + " }\n "
83+ + "\n "
7884 + " private boolean notJavaLang(String type) {\n "
7985 + " return !type.startsWith(\" java.lang.\" ) || Character.isLowerCase(type.charAt(10));\n "
8086 + " }\n "
@@ -163,6 +169,7 @@ public static void write(PrintWriter out, String packageName) {
163169 + "\n "
164170 + " @Override\n "
165171 + " public StringBuilder visitPrimitive(PrimitiveType t, StringBuilder p) {\n "
172+ + " typeMirror = t;\n "
166173 + " kind = t.getKind();\n "
167174 + " if (includeAnnotations) {\n "
168175 + " for (final var ta : t.getAnnotationMirrors()) {\n "
@@ -182,11 +189,13 @@ public static void write(PrintWriter out, String packageName) {
182189 + "\n "
183190 + " @Override\n "
184191 + " public StringBuilder visitNull(NullType t, StringBuilder p) {\n "
192+ + " typeMirror = t;\n "
185193 + " return p;\n "
186194 + " }\n "
187195 + "\n "
188196 + " @Override\n "
189197 + " public StringBuilder visitArray(ArrayType t, StringBuilder p) {\n "
198+ + " typeMirror = t;\n "
190199 + " kind = t.getKind();\n "
191200 + " boolean mainUnset = this.mainType == null;\n "
192201 + " final var ct = t.getComponentType();\n "
@@ -212,6 +221,7 @@ public static void write(PrintWriter out, String packageName) {
212221 + "\n "
213222 + " @Override\n "
214223 + " public StringBuilder visitDeclared(DeclaredType t, StringBuilder p) {\n "
224+ + " typeMirror = t;\n "
215225 + " kind = t.getKind();\n "
216226 + " final String fqn = fullyQualifiedName(t, includeAnnotations);\n "
217227 + " var trimmed = fullyQualifiedName(t, false);\n "
@@ -303,13 +313,15 @@ public static void write(PrintWriter out, String packageName) {
303313 + "\n "
304314 + " @Override\n "
305315 + " public StringBuilder visitError(ErrorType t, StringBuilder p) {\n "
316+ + " typeMirror = t;\n "
306317 + " kind = t.getKind();\n "
307318 + " mainType = t.toString();\n "
308319 + " return p.append(mainType);\n "
309320 + " }\n "
310321 + "\n "
311322 + " @Override\n "
312323 + " public StringBuilder visitTypeVariable(TypeVariable t, StringBuilder p) {\n "
324+ + " typeMirror = t;\n "
313325 + " kind = t.getKind();\n "
314326 + " // Types can be recursive so we have to check if we have already done this type.\n "
315327 + " final String previous = typeVariables.get(t);\n "
@@ -344,6 +356,7 @@ public static void write(PrintWriter out, String packageName) {
344356 + "\n "
345357 + " @Override\n "
346358 + " public StringBuilder visitWildcard(WildcardType t, StringBuilder p) {\n "
359+ + " typeMirror = t;\n "
347360 + " kind = t.getKind();\n "
348361 + " final var extendsBound = t.getExtendsBound();\n "
349362 + " final var superBound = t.getSuperBound();\n "
@@ -371,13 +384,15 @@ public static void write(PrintWriter out, String packageName) {
371384 + "\n "
372385 + " @Override\n "
373386 + " public StringBuilder visitNoType(NoType t, StringBuilder p) {\n "
387+ + " typeMirror = t;\n "
374388 + " kind = t.getKind();\n "
375389 + " mainType = t.toString();\n "
376390 + " return p.append(mainType);\n "
377391 + " }\n "
378392 + "\n "
379393 + " @Override\n "
380394 + " public StringBuilder visitIntersection(IntersectionType t, StringBuilder p) {\n "
395+ + " typeMirror = t;\n "
381396 + " kind = t.getKind();\n "
382397 + " boolean first = true;\n "
383398 + " for (final var b : t.getBounds()) {\n "
@@ -393,6 +408,7 @@ public static void write(PrintWriter out, String packageName) {
393408 + "\n "
394409 + " @Override\n "
395410 + " public StringBuilder visitUnion(UnionType t, StringBuilder p) {\n "
411+ + " typeMirror = t;\n "
396412 + " kind = t.getKind();\n "
397413 + " boolean first = true;\n "
398414 + " for (final var b : t.getAlternatives()) {\n "
0 commit comments