Enforce rawType to be a Class in ParameterizedTypeImpl #2759
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There is a JDK-6255169 issue that states that
getRawType()
inParameterizedType
should returnClass
and notType
. However, this issue is closed, it was explained by the fact that there is no way to fix it due to backward compatibility. Our TODO specifies a related issue JDK-8250659 which calls to comment out thatgetRawType()
always returnsClass
asType
Accordingly, looking at all this, we implement
ParameterizedType
and assume thatrawType
will always beClass
. However, in our implementation class in the constructor we can throw underrawType
more than justClass
, which is not the right thing to doHere I tried to solve this problem by throwing the
IllegalArgumentException(“rawType must be a Class type”)
exception