diff --git a/java-symbol-solver-core/src/main/java/com/github/javaparser/symbolsolver/javaparsermodel/contexts/MethodCallExprContext.java b/java-symbol-solver-core/src/main/java/com/github/javaparser/symbolsolver/javaparsermodel/contexts/MethodCallExprContext.java index 63b085bac3..73848e1300 100644 --- a/java-symbol-solver-core/src/main/java/com/github/javaparser/symbolsolver/javaparsermodel/contexts/MethodCallExprContext.java +++ b/java-symbol-solver-core/src/main/java/com/github/javaparser/symbolsolver/javaparsermodel/contexts/MethodCallExprContext.java @@ -95,24 +95,24 @@ private MethodUsage resolveMethodTypeParameters(MethodUsage methodUsage, List matchedTypeParameters = new HashMap<>(); + Map matchedTypeParameters = new HashMap<>(); for (int i = 0; i < actualParamTypes.size(); i++) { Type expectedType = methodUsage.getParamType(i); Type actualType = actualParamTypes.get(i); matchTypeParameters(expectedType, actualType, matchedTypeParameters); } - for (String tp : matchedTypeParameters.keySet()) { - methodUsage = methodUsage.replaceTypeParameterByName(tp, matchedTypeParameters.get(tp)); + for (TypeParameterDeclaration tp : matchedTypeParameters.keySet()) { + methodUsage = methodUsage.replaceTypeParameterByName(tp.getName(), matchedTypeParameters.get(tp)); } return methodUsage; } - private void matchTypeParameters(Type expectedType, Type actualType, Map matchedTypeParameters) { + private void matchTypeParameters(Type expectedType, Type actualType, Map matchedTypeParameters) { if (expectedType.isTypeVariable()) { if (!expectedType.isTypeVariable()) { throw new UnsupportedOperationException(actualType.getClass().getCanonicalName()); } - matchedTypeParameters.put(expectedType.asTypeParameter().getName(), actualType); + matchedTypeParameters.put(expectedType.asTypeParameter(), actualType); } else if (expectedType.isArray()) { if (!actualType.isArray()) { throw new UnsupportedOperationException(actualType.getClass().getCanonicalName());