in maven-plugin-tools-annotations/src/main/java/org/apache/maven/tools/plugin/extractor/annotations/scanner/visitors/MojoClassVisitor.java [155:173]
private List<String> extractTypeParameters(int access, String signature, boolean isField) {
if (signature == null || signature.isEmpty()) {
return Collections.emptyList();
}
TraceSignatureVisitor traceSignatureVisitor = new TraceSignatureVisitor(access);
SignatureReader signatureReader = new SignatureReader(signature);
if (isField) {
signatureReader.acceptType(traceSignatureVisitor);
} else {
signatureReader.accept(traceSignatureVisitor);
}
String declaration = traceSignatureVisitor.getDeclaration();
int startTypeParameters = declaration.indexOf('<');
if (startTypeParameters == -1) {
return Collections.emptyList();
}
String typeParameters = declaration.substring(startTypeParameters + 1, declaration.lastIndexOf('>'));
return Arrays.asList(typeParameters.split(", "));
}