Fix parametrized generics for dataclasses [GRF-6059] #7
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.
Description
Currently, if you have a
@dataclass
in Sematic where one of the attributes is a parametrizedGeneric[T]
class, Sematic will complain. For example, ongraft/sematic/main
The problem is that Sematic is directly pulling
field.type
which for classesA
/B
above, returnsJS
forval
. Instead Sematic needs to correctly resolve theJS
(or otherTypeVar
s) against the arguments to theGeneric
class. This PR fixes this issue by introducing aresolve_type
method to handle this scenario.Testing
Manual Testing