Correct me if wrong, but it seems there is no universal way to flag something as compiler/tool generated. My take away from Alex's comments is that ACC_SYNTHETIC is very much concerned with implicitness/explicitness... but why? I still don't understand why it *must* be concerned anything like that. I'd just like to state that definition sounds overloaded to me.
Furthermore, I think the definition of ACC_MANDATED is overloaded too. If the JLS mandates a construct, it must be in the class file -- yet why does the means matter? I prose the flag should mean no more than a mandate. It's mandated so it must exist -- how it got there is irrelevant to me with regard to this flag. So doesn't anyone (Alex? Andrew?) find value in universally specifying something was generated? That's what I thought ACC_SYNTHETIC could be used for. If there is pushback on this idea, is there a universal way that I have neglected to see? Cheers, Paul On Mon, Aug 1, 2016 at 6:51 AM, Andrew Dinn <ad...@redhat.com> wrote: > > > On 29/07/16 19:34, Alex Buckley wrote: > > On 7/29/2016 12:48 AM, Andrew Dinn wrote: > >> 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 > >> > > > > On the contrary, Neal and I agree on the hard and fast meaning of > > ACC_SYNTHETIC. The second link says: > > ... > > Well, it's rather a moot point as to whether it is you and Neal or, as I > phrased it, "the vagaries of what javac decided to use [SYNTHETIC] for" > that constitutes the determining factor since obviously javac didn't > really 'decide' anything except by way of proxy for those who informed > it's construction as a piece of code. > > My point was not that ACC_SYNTHETIC did not have a determinate meaning > (which is what you seem to take me as saying) rather that the decision > as to what it means was made within the scope of what javac wanted to do > with this property and that said meaning is not up for grabs for some > external program to freight with its own semantic content. That is > precisely (yes, I do mean precisely) what my exchange with Neal > established. > > 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 >