+1 -Sundar
On 5/11/2016 10:01 PM, shilpi.rast...@oracle.com wrote: > Hi All, > > Please review the updated webrev- > http://cr.openjdk.java.net/~srastogi/8149574/webrev.07/ > > Changed the anonymous class package with no package name. > > Regards, > Shilpi > > On 5/11/2016 8:22 PM, Paul Sandoz wrote: >> Hi Shilpi, >> >> What makes me slightly queasy about the constant pool patching of T >> is it’s quite fragile and it produces a class with a slightly >> inconsistent state regarding the InnerClasses structures. It’s >> probably mostly harmless but still bothers me. >> >> One solution is to combine ASM with constant pool patching. Use ASM >> to generate the class bytes, and query the constant pool in the >> ClassWriter, then remember the class bytes, the pool size, and index >> to patch (a cursory glance at ClassWriter suggests this is possible). >> >> But i think Michael raises an important point about simplification >> using the default package, if that is possible. However, if the >> default package is to be used ASM is still required to generate class >> bytes and define the class anonymously within the scope of the host >> class. Thus in this approach the addition of patching should not add >> much more complexity and i think would be more in sync with that of >> the host class. >> >> Paul. >> >>> On 11 May 2016, at 13:24, shilpi.rast...@oracle.com wrote: >>> >>> Hi All, >>> >>> Please review the following- >>> >>> https://bugs.openjdk.java.net/browse/JDK-8149574 >>> >>> Solution: Changed anonymous class package name with the package name >>> of its host class. >>> >>> Two approaches to solve this- >>> 1. Parse .class and get the class name index form constant pool and >>> patch it with new name >>> http://cr.openjdk.java.net/~srastogi/8149574/webrev.05/ >>> >>> 2. Create class with new name (With ASM) >>> http://cr.openjdk.java.net/~srastogi/8149574/webrev.06/ >>> >>> Which approach is better? >>> >>> Thanks, >>> Shilpi >>> >>> >>> >