I’m with Allison and Jason. That diagram is a pretty confusing flow chart.  If you’re confused —> yes —> If you’re confused —> yes! :-)

From: "Winnebeck, Jason"
Reply-To: "users@groovy.incubator.apache.org"
Date: Monday, September 21, 2015 at 8:09 AM
To: "users@groovy.incubator.apache.org", Allison F
Subject: RE: Question on Metaprogramming diagram

Based only on the subtree, the second option appears to be describing the case where the “method” is actually a property of closure type. For example if calling a.b(), if b is a method it calls it, but if there is a property “b” (via getB or field), and that property is of Closure type, then do a.b.call(). It seems that it should say “property exists in MetaClass or class”? I’m not a Groovy MOP expert though, but I thought only the MetaClass is used for lookups. I also don’t get the block “call interceptor or original method” in that diagram, because immediately before that it already checks if it’s GroovyInterceptable, so it seems like that block should just say “call original method”.




From: Allison F [mailto:yetanotherallisonf@yahoo.com]
Sent: Sunday, September 20, 2015 6:35 PM
To: users@groovy.incubator.apache.org
Subject: Question on Metaprogramming diagram


I'm reading through the metaprogramming section on groovy-lang.com, and the first flow chart has a duplicate decision box.



"Method exists in MetaClass or class?" is asked twice in a row, one after the other. Looks like a typo to me and I'm wondering if another question is supposed to be in that location or if the whole subtree under one of those is moot.




This email message and any attachments are for the sole use of the intended recipient(s). Any unauthorized review, use, disclosure or distribution is prohibited. If you are not the intended recipient, please contact the sender by reply email and destroy all copies of the original message and any attachments.