in core/src/main/java/org/adoptopenjdk/jitwatch/util/ParseUtil.java [379:448]
public static String findClassNameForLogCompilationParameter(String param) throws ClassNotFoundException
{
StringBuilder builder = new StringBuilder();
if (isPrimitive(param))
{
return classNameForPrimitive(param);
}
else
{
int arrayBracketCount = getArrayBracketCount(param);
if (param.contains(S_CLOSE_ANGLE))
{
param = stripGenerics(param);
}
if (arrayBracketCount == 0)
{
if (param.endsWith(S_VARARGS_DOTS))
{
String partBeforeDots = param.substring(0, param.length() - S_VARARGS_DOTS.length());
if (isPrimitive(partBeforeDots))
{
builder.append(S_OPEN_ANGLE).append(classNameForPrimitive(partBeforeDots));
}
else
{
builder.append(S_OBJECT_ARRAY_DEF).append(partBeforeDots);
builder.append(C_SEMICOLON);
}
}
else
{
builder.append(param);
}
}
else
{
int arrayBracketChars = 2 * arrayBracketCount;
String partBeforeArrayBrackets = param.substring(0, param.length() - arrayBracketChars);
for (int i = 0; i < arrayBracketCount - 1; i++)
{
builder.append(C_OPEN_SQUARE_BRACKET);
}
if (isPrimitive(partBeforeArrayBrackets))
{
builder.append(C_OPEN_SQUARE_BRACKET);
builder.append(getClassTypeCharForPrimitiveTypeString(partBeforeArrayBrackets));
}
else
{
builder.append(S_OBJECT_ARRAY_DEF);
builder.append(param);
builder.delete(builder.length() - arrayBracketChars, builder.length());
builder.append(C_SEMICOLON);
}
}
return builder.toString();
}
}