1616
1717package com .github .therapi .runtimejavadoc ;
1818
19- import com .github .therapi .runtimejavadoc .internal .MethodJavadocKey ;
20- import static com .github .therapi .runtimejavadoc .internal .RuntimeJavadocHelper .executableToMethodJavadocKey ;
21- import static com .github .therapi .runtimejavadoc .internal .RuntimeJavadocHelper .getAllTypeAncestors ;
19+ import com .github .therapi .runtimejavadoc .internal .MethodSignature ;
20+
2221import java .lang .reflect .Constructor ;
2322import java .lang .reflect .Field ;
2423import java .lang .reflect .Method ;
3029import java .util .List ;
3130import java .util .Map ;
3231
32+ import static com .github .therapi .runtimejavadoc .internal .RuntimeJavadocHelper .getAllTypeAncestors ;
33+
3334public class ClassJavadoc extends BaseJavadoc {
3435 private final Map <String , FieldJavadoc > fields ;
3536 private final Map <String , FieldJavadoc > enumConstants ;
36- private final Map <MethodJavadocKey , MethodJavadoc > methods ;
37- private final Map <MethodJavadocKey , MethodJavadoc > constructors ;
37+ private final Map <MethodSignature , MethodJavadoc > methods ;
38+ private final Map <MethodSignature , MethodJavadoc > constructors ;
3839 private final Map <String , ParamJavadoc > recordComponents ;
3940
4041 public ClassJavadoc (String name , Comment comment , List <FieldJavadoc > fields , List <FieldJavadoc > enumConstants ,
@@ -54,16 +55,16 @@ public ClassJavadoc(String name, Comment comment, List<FieldJavadoc> fields, Lis
5455 }
5556 this .enumConstants = Collections .unmodifiableMap (enumMap );
5657
57- Map <MethodJavadocKey , MethodJavadoc > methodsMap = new LinkedHashMap <>();
58+ Map <MethodSignature , MethodJavadoc > methodsMap = new LinkedHashMap <>();
5859 if (methods != null ) {
59- methods .forEach (methodJavadoc -> methodsMap .put (methodJavadoc . toMethodJavadocKey ( ), methodJavadoc ));
60+ methods .forEach (methodJavadoc -> methodsMap .put (MethodSignature . from ( methodJavadoc ), methodJavadoc ));
6061 }
6162 this .methods = Collections .unmodifiableMap (methodsMap );
6263
63- Map <MethodJavadocKey , MethodJavadoc > constructorsMap = new LinkedHashMap <>();
64+ Map <MethodSignature , MethodJavadoc > constructorsMap = new LinkedHashMap <>();
6465 if (constructors != null ) {
6566 constructors .forEach (
66- methodJavadoc -> constructorsMap .put (methodJavadoc . toMethodJavadocKey ( ), methodJavadoc ));
67+ methodJavadoc -> constructorsMap .put (MethodSignature . from ( methodJavadoc ), methodJavadoc ));
6768 }
6869 this .constructors = Collections .unmodifiableMap (constructorsMap );
6970
@@ -75,8 +76,8 @@ public ClassJavadoc(String name, Comment comment, List<FieldJavadoc> fields, Lis
7576 }
7677
7778 private ClassJavadoc (String name , Comment comment , Map <String , FieldJavadoc > fields ,
78- Map <String , FieldJavadoc > enumConstants , Map <MethodJavadocKey , MethodJavadoc > methods ,
79- Map <MethodJavadocKey , MethodJavadoc > constructors , List <OtherJavadoc > other ,
79+ Map <String , FieldJavadoc > enumConstants , Map <MethodSignature , MethodJavadoc > methods ,
80+ Map <MethodSignature , MethodJavadoc > constructors , List <OtherJavadoc > other ,
8081 List <SeeAlsoJavadoc > seeAlso , Map <String , ParamJavadoc > recordComponents ) {
8182 super (name , comment , seeAlso , other );
8283 this .fields = Collections .unmodifiableMap (fields );
@@ -110,9 +111,9 @@ ClassJavadoc createEnhancedClassJavadoc(Class<?> clazz) {
110111 classJavadocCache .put (clazz .getCanonicalName (), this );
111112 getAllTypeAncestors (clazz ).forEach (cls -> classJavadocCache .put (cls .getCanonicalName (), RuntimeJavadoc .getSkinnyClassJavadoc (cls )));
112113
113- Map <MethodJavadocKey , MethodJavadoc > methodJavadocs = new LinkedHashMap <>();
114+ Map <MethodSignature , MethodJavadoc > methodJavadocs = new LinkedHashMap <>();
114115 Arrays .stream (clazz .getDeclaredMethods ())
115- .forEach (method -> methodJavadocs .put (executableToMethodJavadocKey (method ),
116+ .forEach (method -> methodJavadocs .put (MethodSignature . from (method ),
116117 RuntimeJavadoc .getJavadoc (method , classJavadocCache )));
117118
118119 return new ClassJavadoc (getName (), getComment (), fields , enumConstants , methodJavadocs , constructors ,
@@ -155,13 +156,13 @@ FieldJavadoc findMatchingEnumConstant(Enum<?> enumConstant) {
155156 }
156157
157158 MethodJavadoc findMatchingMethod (Method method ) {
158- MethodJavadocKey methodJavadocKey = executableToMethodJavadocKey (method );
159- return methods .getOrDefault (methodJavadocKey , MethodJavadoc .createEmpty (method ));
159+ MethodSignature methodSignature = MethodSignature . from (method );
160+ return methods .getOrDefault (methodSignature , MethodJavadoc .createEmpty (method ));
160161 }
161162
162163 MethodJavadoc findMatchingConstructor (Constructor <?> constructor ) {
163- MethodJavadocKey methodJavadocKey = executableToMethodJavadocKey (constructor );
164- return constructors .getOrDefault (methodJavadocKey , MethodJavadoc .createEmpty (constructor ));
164+ MethodSignature methodSignature = MethodSignature . from (constructor );
165+ return constructors .getOrDefault (methodSignature , MethodJavadoc .createEmpty (constructor ));
165166 }
166167
167168 ParamJavadoc findRecordComponent (String recordComponent ) {
0 commit comments