On Apr 25, 2013, at 8:58 AM, "MacGregor, Duncan (GE Energy Management)" <duncan.macgre...@ge.com> wrote:
> I would have thought one of the most common uses of breaking down a method > handle like this would be to immediately turn it into a java.lang.reflect > object and maybe examine annotations or exception information. So although > I don't think it should extend Member I do think it should have a standard > way to return a Member, sort of the opposite of Lookup.unreflect(). John and I referred to this method yesterday as: Lookup.ununreflect() ;-) -- Chris > > As for transformed method handles a cracking interface may not need to > return an representation of the original structure, it might be enough to > return the parts that remain (both method handles and bound objects) as I > would guess that would be enough for debugging purposes and resource leak > hunting. > > Regards, Duncan. > > On 24/04/2013 08:02, "John Rose" <john.r.r...@oracle.com> wrote: > >> Those of you who have been following 292 details may have noticed the >> type java.lang.invoke.MethodHandleInfo show up in support of Project >> Lambda. >> >> The 292 EG has been thinking about the problem of method handle >> reflection, since JDK 7, in background mode. We are sure we want >> something that can "crack" direct method handles, and not ready to >> venture anything more elaborate. >> >> (Arbitrarily transformed method handles probably can never have an >> implementation-independent cracked form, so there are real problems >> specifying a cracking function that is defined for every method handle. >> For example, recording the series of transforms that gave rise to every >> MH rules out many interesting implementations, and recovering a "likely" >> series of transforms for a MH seems perilously close to the >> function-equivalence problem, which we know is undecidable.) >> >> I am working on polishing this restricted cracking API for direct method >> handles. Here is a webrev of it, starting at MethodHandleInfo: >> >> http://cr.openjdk.java.net/~jrose/8008688/javadoc.00/java/lang/invoke/Meth >> odHandleInfo.html >> >> Comments would be welcome. >> >> Thanks, >> ‹ John >> >> P.S. No testing yet; it is doc-ware at the moment. I just posted a >> checkpoint of the source patches here: >> >> http://hg.openjdk.java.net/mlvm/mlvm/jdk/file/tip/meth-info-8008688.patch >> >> P.P.S. Here are my fix-me comments at this point: >> >> // Should this extend java.lang.reflect.Member? (default: no) >> // Should we include getModifiers? (default: no) >> // Should the direct parts be separated into a sub-interface (to allow >> for future extensions)? >> // If we don't have a subinterface, later on we might need an isDirect >> method. >> // If we do have a subinterface, then MethodHandleInfo becomes an >> empty type (like java.lang.reflect.Type). >> // Define SecurityManager checks. (TO DO) >> >> _______________________________________________ >> mlvm-dev mailing list >> mlvm-dev@openjdk.java.net >> http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev > > _______________________________________________ > mlvm-dev mailing list > mlvm-dev@openjdk.java.net > http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev _______________________________________________ mlvm-dev mailing list mlvm-dev@openjdk.java.net http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev