Warn when certain constructor is used
Pietro Paolini
Pietro.Paolini at alfasystems.com
Thu May 31 12:19:49 UTC 2018
Hi Maurizio,
Thanks a lot. I would have an additional, and hopefully last, question.
I am getting the NewClassTree which seems to provide me access to the - forgive me the coarse wording of it - the "token", namely the textual representation
of it, while I am mainly interested in the type.
I am getting around it by comparing strings but I wonder if there is any way to get to the type of the expression :
:= new identifier ( arguments )
What I have in my mind is to detect all instances in which the identifier has *type* A and the argument's list is composed by a single *type* , let say B. That allows me to
print something:
"Hey, constructor new A(B) has been detected"
Thanks a lot for your help so far, really.
Thanks,
P.
> -----Original Message-----
> From: Maurizio Cimadamore [mailto:maurizio.cimadamore at oracle.com]
> Sent: 31 May 2018 12:45
> To: Pietro Paolini
> Cc: compiler-dev at openjdk.java.net
> Subject: Re: Warn when certain constructor is used
>
>
>
> On 31/05/18 12:21, Pietro Paolini wrote:
> > JCTree tree = (JCTree) trees.getTree(element);
> > tree.accept(new LocalDateUtilDate());
> There re two visitor methods in JCTree, one internal (used by javac),
> one external (used by the API). I don't think you need to cast down to
> JCTree (yet, at least). Just keep it as a com.sun.source.tree.Tree, and
> you will see that the only 'accept' method there takes two arguments: a
> visitor (which you have) and a visitor parameter; since you don't seem
> to need a visitor parameter, you can just pass 'null' as second parameter.
>
> Maurizio
More information about the compiler-dev
mailing list