Hi, just a stupid question from somebody outside the OpenJDK developers: You are already using ASM to generate the class files. Why not also use the Type class in ASM to generate the signatures of a class constant?: Instead of: static final String LF_HIDDEN_SIG = className("Ljava/lang/invoke/LambdaForm$Hidden;"); Use the following to define the constant: import jdk.internal.org.objectweb.asm.Type; import java.lang.invoke.LambdaForm.Hidden; static final String LF_HIDDEN_SIG = Type.getDescriptor(Hidden.class); This is compile-time checked, because of the .class notation. Thanks, Uwe ----- Uwe Schindler uschindler@apache.org ASF Member, Apache Lucene PMC / Committer Bremen, Germany http://lucene.apache.org/
-----Original Message----- From: core-libs-dev [mailto:core-libs-dev-bounces@openjdk.java.net] On Behalf Of shilpi.rastogi@oracle.com Sent: Thursday, February 18, 2016 12:18 PM To: Vladimir Ivanov <vladimir.x.ivanov@oracle.com>; core-libs- dev@openjdk.java.net Subject: Re: RFR 8144931: Assert class signatures are correct and refer to valid classes
Thank You Vladimir!
I have done the changes. Please review the updated patch-
http://cr.openjdk.java.net/~srastogi/8144931/webrev.02/
Regards, Shilpi
On 2/18/2016 1:58 PM, Vladimir Ivanov wrote:
Shilpi,
_CLASS suffix looks redundant and you can abbreviate LAMBDA_FORM to LF: LF_HIDDEN_SIG LF_COMPILED_SIG FORCEINLINE_SIG DONTINLINE_SIG
Otherwise, looks fine.
Best regards, Vladimir Ivanov
On 2/17/16 5:47 PM, shilpi rastogi wrote:
Hi All,
Please review fix for the following bug-
https://bugs.openjdk.java.net/browse/JDK-8144931 http://cr.openjdk.java.net/~srastogi/8144931/webrev.01/
Thanks, Shilpi