Skip to content

Need some way to get newMethod tpt (MethodType, PolyType, ByNameType) of existing DefDef  #16266

Closed
@deusaquilus

Description

@deusaquilus

I am trying to make a copy of a method but I need to change its return-type, all of the arguments stay the same. I can't use DefDef.copy because return-type is part of the symbol (as I saw in #7626) so instead I'm using DefDef.apply (based on #8090) but I need to figure out what the tpt:MethodType | PolyType | ByNameType is myself based on the paramss etc... factoring in potential polymorphic type parameters. That's an awful lot of work just to copy a method! Is there some way to get the tpt of an existing DefDef?

(Also, is there even a way to copy methods with given parameter clauses and parameters with default values? I don't see how to do that using the Symbol.newMethod / DefDef.apply API)

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions