*/
private void mergeTypeParamBounds(JTypeParameter[] typeParams,
JClassType[] typeArgs) {
int n = typeArgs.length;
for (int i = 0; i < n; ++i) {
JWildcardType wildcard = typeArgs[i].isWildcard();
// right now we only replace Foo<?> with the constraints defined on the
// definition (which appears to match the existing TypeOracleUpdater)
// but other cases may need to be handled.
if (wildcard != null
&& wildcard.getBoundType() == BoundType.UNBOUND
&& wildcard.getBaseType() == resolver.getTypeOracle().getJavaLangObject()
&& typeParams[i].getBaseType() != null) {
typeArgs[i] = resolver.getTypeOracle().getWildcardType(
BoundType.UNBOUND, typeParams[i].getBaseType());
}
}