@valdisxp1 I did the refactoring for InitCall. It will be much easier for you to refactor NewInstance based on this PR.
The most important motivation for making qual, name, targs explicit
in the constructor is to make the extractor more friendly. The
consideration for semantic difference is secondary.
I'd like to abandon the original design due to following reasons:
inspecting syntactic structure of New expression is useless, only crappy macros do that
even if we merge qual, name and targs, it's still not difficult to address
potential semantic difference in compiler implementation.
following code is valid in Scala, which implies the semantic consideration is not well founded.
@valdisxp1 I did the refactoring for
InitCall
. It will be much easier for you to refactorNewInstance
based on this PR.The most important motivation for making
qual
,name
,targs
explicit in the constructor is to make the extractor more friendly. The consideration for semantic difference is secondary.I'd like to abandon the original design due to following reasons:
qual
,name
andtargs
, it's still not difficult to address potential semantic difference in compiler implementation.