Some information from Andrew Haley to a mail where I asked him about the class loaders of parameterized types:
I don't think that it makes any sense even to talk about the class
loader that was used to create a ParameterizedType. Clearly there was
a class loader used to resolve the class names that are passed when a
ParameterizedType is created, but I don't think the information is
recorded anywhere.
The core bug here seems to be that cacheing is being done
inappropriately.
Can you write a test case, please? One that demonstrates the bug in
//Fails - loader is loaderA
assertEquals(loaderB, infoB.getActualTypeArguments[0].getClassLoader());
It has to be complete and runnable as a standalone program.