You may want to add a parser API test for catch parameter being a pattern rather than an identifier.
-Sundar On 11/10/2016 5:16 PM, Srinivas Dama wrote: > Hi, > > Please review > Bug: https://bugs.openjdk.java.net/browse/JDK-8156615 > webrev: http://cr.openjdk.java.net/~sdama/8156615/webrev.02/ > > Included all changes suggested with some modifications. > > Regards, > Srinivas > > -----Original Message----- > From: Attila Szegedi [mailto:szege...@gmail.com] > Sent: Tuesday, November 08, 2016 7:40 PM > To: Nashorn-dev > Subject: Re: RFR: 8156615:Catch parameter can be a BindingPattern in ES6 mode > > What Sundar said. Additionally: > > + if (exception instanceof IdentNode) { > + this.exception = ((IdentNode) exception == null) ? null : > + ((IdentNode) exception).setIsInitializedHere(); > > First, casting an expression before a null comparison is silly :-). > Second, you don't even need to check for exception == null as "exception > instanceof IdentNode" implies that exception != null. So that line should > just be: > > + if (exception instanceof IdentNode) { > + this.exception = ((IdentNode) exception).setIsInitializedHere(); > > Attila. > >> On 08 Nov 2016, at 04:45, Sundararajan Athijegannathan >> <sundararajan.athijegannat...@oracle.com> wrote: >> >> You need to update Parser API implementation to handle catch parameter >> being expression - rather than an IdentNode. >> >> => you need to >> >> * add another getter in CatchNode to expose Expression >> >> * Use it in IRTranslator (of Parser API impl.) to translate catch >> param as expression >> >> * You need to check for expression param in codegen pipeline to throw >> "not yet implemented" error. >> >> -Sundar >> >> On 11/7/2016 9:40 PM, Srinivas Dama wrote: >>> Please review: >>> Bug: https://bugs.openjdk.java.net/browse/JDK-8156615 >>> Webrev: http://cr.openjdk.java.net/~sdama/8156615/webrev.00/ >>> >>> Please note that, this contains only parsing support for catch parameter as >>> BindingPattern or BindingIdentifier. >>> >>> Regards, >>> Srinivas