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.
During writing test for #2530, I tried to make Pattern which matches whole type and have found that it doesn't work.
Reason: AST of type consists of at least 2 related parameters:
Until this PR Pattern made only one parameter with type CtTypeReference. It was ok as long as Pattern is used for generating of types, because generator is able to convert CtTypeReference to
String simpleName
.But when we match such Pattern, it doesn't work/matches because there is no way how to create CtTypeReference (with fully qualified name) from the simple name of the type.
This PR contains solution which introduces new internal
ParameterInfo
...ComputedParameterInfo
, whose value is computed from primary parameter info. The computation algorithm is defined by interfaceParameterComputer
. There is also first implementation of thatParameterComputer
interface:SimpleNameOfTypeReferenceParameterComputer
, which returns simple name of CtTypeReference and during matching ignores simple type name, so type matching works.