Skip to content

Commit 4a0ad46

Browse files
liachminborg
authored andcommittedNov 7, 2023
8317937: @sealedGraph: Links to inner classes fails in links
Reviewed-by: pminborg
1 parent 134c382 commit 4a0ad46

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed
 

‎make/jdk/src/classes/build/tools/taglet/SealedGraph.java

+10-1
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,7 @@ private String relativeLink(TypeElement node) {
229229
var forwardNavigator = nodePackage.getQualifiedName().toString()
230230
.replace(".", "/");
231231

232-
return backNavigator + forwardNavigator + "/" + node.getSimpleName() + ".html";
232+
return backNavigator + forwardNavigator + "/" + packagelessCanonicalName(node) + ".html";
233233
}
234234

235235
public void addEdge(TypeElement node, TypeElement subNode) {
@@ -315,5 +315,14 @@ private static Optional<String> packageName(TypeElement element) {
315315
case MEMBER -> packageName((TypeElement) element.getEnclosingElement());
316316
};
317317
}
318+
319+
private static String packagelessCanonicalName(TypeElement element) {
320+
String result = element.getSimpleName().toString();
321+
while (element.getNestingKind() == NestingKind.MEMBER) {
322+
element = (TypeElement) element.getEnclosingElement();
323+
result = element.getSimpleName().toString() + '.' + result;
324+
}
325+
return result;
326+
}
318327
}
319328
}

0 commit comments

Comments
 (0)
Please sign in to comment.