On 28/07/16 19:57, Paul Benedict wrote:
> Alex, I thank you for repeating the explanation again, but I find your
> definition hard to accept. To me, something that's synthetic is
> manufactured. If the compiler automatically shims my class file with an
> export to "java.base", that sounds pretty synthetic/manufactured to me. I
> view that as a separate and unrelated issue to what's mandated. Why do you
> believe you must bring in the knowledge of implicitness/explicitness into
> your synthetic definition?
> 
> I thought you wanted to retain the difference between what a user specified
> and what something else specified? The something else here would be the JLS
> or compiler.

It might be worth pointing out at this stage in the discussion that
ACC_SYNTHETIC was never given a hard and fast meaning whose logic
transcends the vagaries of what javac decided to use it for -- citation,
Neal Gafter in a thread I was involved in many years ago on the meaning
of this term:

Said definition:


http://mail.openjdk.java.net/pipermail/compiler-dev/2010-August/002257.html

and explanation:


http://mail.openjdk.java.net/pipermail/compiler-dev/2010-August/002258.html

Subtext: however determined you might be to pin a logical tail on the
donkey of ACC_SYNTHETIC history and legacy is probaby agin ye.

regards,


Andrew Dinn
-----------
Senior Principal Software Engineer
Red Hat UK Ltd
Registered in England and Wales under Company Registration No. 03798903
Directors: Michael Cunningham, Michael ("Mike") O'Neill, Eric Shander

Reply via email to