Skip to content

Commit

Permalink
javaparser#1857 corrections after review
Browse files Browse the repository at this point in the history
  • Loading branch information
izebit committed Sep 18, 2018
1 parent c399d91 commit b08458a
Show file tree
Hide file tree
Showing 2 changed files with 1 addition and 15 deletions.
Expand Up @@ -64,14 +64,6 @@ public static ResolvedType byName(String name) {
throw new IllegalArgumentException("Name " + name);
}

public static boolean isPrimitive(String name){
for (ResolvedPrimitiveType type : values()) {
if(type.name.equals(name))
return true;
}
return false;
}

@Override
public String toString() {
return "PrimitiveTypeUsage{" +
Expand Down
Expand Up @@ -93,7 +93,6 @@ static Optional<MethodUsage> getMethodUsage(CtClass ctClass, String name, List<R
}

private static List<ResolvedType> parseTypeParameters(String signature, TypeSolver typeSolver, Context invokationContext) {
String originalSignature = signature;
if (signature.contains("<")) {
signature = signature.substring(signature.indexOf('<') + 1);
if (!signature.endsWith(">")) {
Expand Down Expand Up @@ -178,19 +177,14 @@ static String internalNameToCanonicalName(String typeName) {

private static ResolvedType objectTypeArgumentToType(SignatureAttribute.ObjectType typeArgument, TypeSolver typeSolver, ResolvedTypeParametrizable typeParametrizable) {
if(typeArgument instanceof SignatureAttribute.ArrayType){
String baseTypeName = ((SignatureAttribute.ArrayType) typeArgument).getComponentType().jvmTypeName();
ResolvedType baseType = getGenericParameterByName(baseTypeName, typeParametrizable, typeSolver);
return new ResolvedArrayType(baseType);
return signatureTypeToType(((SignatureAttribute.ArrayType) typeArgument).getComponentType(), typeSolver, typeParametrizable);
} else {
String typeName = typeArgument.jvmTypeName();
return getGenericParameterByName(typeName, typeParametrizable, typeSolver);
}
}

private static ResolvedType getGenericParameterByName(String typeName, ResolvedTypeParametrizable typeParametrizable, TypeSolver typeSolver) {
if(ResolvedPrimitiveType.isPrimitive(typeName))
return ResolvedPrimitiveType.byName(typeName);

Optional<ResolvedType> type = typeParametrizable.findTypeParameter(typeName).map(ResolvedTypeVariable::new);
return type.orElseGet(() -> new ReferenceTypeImpl(
typeSolver.solveType(removeTypeArguments(internalNameToCanonicalName(typeName))),
Expand Down

0 comments on commit b08458a

Please sign in to comment.