Add macro methods for Metaclass
nodes
#11375
Merged
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.
c.f. #3274
Every
Metaclass
node can be reconstituted via:Passing a
T.class
to a macro directly would produce aCall
node instead of aMetaclass
node, because macro arguments are interpreted as non-type expressions. Nonetheless,Metaclass
nodes may appear in def restrictions orTypeDeclarations
; since they are valid type names, they also have the#resolve
and#resolve?
methods.