}
if (typeVarBounds == null) {
// blowing up here breaks the situation with ITDs where the type variable is mentioned in the
// declaring type and used somewhere in the signature. Temporary change to allow it to return just a
// 'dumb' typevariablereference.
return new TypeVariableReferenceType(new TypeVariable(aTypeVarSig.typeVariableName), world);
// throw new GenericSignatureFormatException("Undeclared type variable in signature: " + aTypeVarSig.typeVariableName);
}
if (inProgressTypeVariableResolutions.containsKey(typeVarBounds)) {
return (ResolvedType) inProgressTypeVariableResolutions.get(typeVarBounds);
}
inProgressTypeVariableResolutions.put(typeVarBounds, new FTPHolder(typeVarBounds, world));
ResolvedType ret = new TypeVariableReferenceType(formalTypeParameter2TypeVariable(typeVarBounds, typeParams, world,
inProgressTypeVariableResolutions), world);
inProgressTypeVariableResolutions.put(typeVarBounds, ret);
return ret;
}