Re: [sonar-dev] Re: About Java 7 support
Freddy Mallet <[email protected]> Wed, 7 Sep 2011 10:14:58 +0200
| Newsgroups | gmane.comp.java.audit.checkstyle.user |
|---|---|
| Message-ID | <CAPyGxijTHPsaaY9+gsBWCzUMVcQ9+SiSKH6NUKps6XcWbp8hqw__40712.2006211013$1315383331$gmane$org@mail.gmail.com> |
--===============2190528874542175385== Content-Type: multipart/alternative; boundary=0015174789803a1ceb04ac558a3a --0015174789803a1ceb04ac558a3a Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Thanks Oliver ! Just in case, do you have any idea when the release of Checkstyle 5.5 might occur ? ---------------------------------------- Freddy Mallet www.SonarSource.org www.SonarSource.com ---------------------------------------- On Tue, Sep 6, 2011 at 1:37 PM, Oliver Burn <[email protected]> wrote: > The patch has been applied to Checkstyle. > > Thanks! > > On Tue, Sep 6, 2011 at 18:15, Dinesh Bolkensteyn < > [email protected]> wrote: > >> There is already a proposed patch for the EOF issue from Lukas Platinsky= @ >> >> https://sourceforge.net/tracker/?func=3Ddetail&aid=3D3393810&group_id=3D= 29721&atid=3D397080 >> (which I did not try) >> >> Indeed the support for "enum" as an identifier (Java 4) is still an open >> issue. >> >> -- >> Dinesh Bolkensteyn >> Tweeting? http://twitter.com/DBolkensteyn >> >> >> www.SonarSource.org >> www.SonarSource.com >> >> >> >> On Mon, Sep 5, 2011 at 10:49 PM, Freddy Mallet < >> [email protected]> wrote: >> >>> Hi Evgeny, >>> >>> In fact Dinesh already tried to fix the java grammar to handle this use >>> case but that's a bit tricky so we decided to postpone this investigati= on. >>> >>> Freddy >>> >>> ---------------------------------------- >>> Freddy Mallet >>> www.SonarSource.org >>> www.SonarSource.com >>> ---------------------------------------- >>> >>> >>> On Mon, Sep 5, 2011 at 10:30 PM, Evgeny Mandrikov <[email protected]>= wrote: >>> >>>> Dinesh FYI another interesting open issue is about analysis of Java 1.= 4 >>>> code, where enum can be used as an identifier : >>>> http://jira.codehaus.org/browse/SONAR-1653 >>>> >>>> >>>> On Mon, Sep 5, 2011 at 19:56, Evgeny Mandrikov <[email protected]>wr= ote: >>>> >>>>> Hi all, >>>>> >>>>> FYI: I tested this patch by applying it locally on Checkstyle >>>>> 5.5-SNAPSHOT and using this version in Sonar. >>>>> And it works like a charm for simple project, which uses all language >>>>> features of Java 7 ( >>>>> https://github.com/Godin/sonar-experiments/tree/master/java7-language= -features >>>>> ). >>>>> Congratulations Dinesh! >>>>> >>>>> However Dinesh, could you please also take a look on another parsing >>>>> issue, which is still present in 5.5-SNAPSHOT : >>>>> http://sourceforge.net/tracker/?func=3Ddetail&atid=3D397078&aid=3D166= 7137&group_id=3D29721 >>>>> Currently in Sonar we have a workaround - we simply ignore this >>>>> error, but IMO would be better to fix it, if you can ;) >>>>> >>>>> On Fri, Sep 2, 2011 at 17:42, Dinesh Bolkensteyn < >>>>> [email protected]> wrote: >>>>> >>>>>> Dear Olivier, >>>>>> >>>>>> The patch is provided here: >>>>>> https://sourceforge.net/tracker/?func=3Ddetail&aid=3D3403265&group_i= d=3D29721&atid=3D397080 >>>>>> >>>>>> Note that, because SourceForge does not preserve spaces in the >>>>>> comment, the AST part is messed up, which is why I post the comment >>>>>> hereunder again. >>>>>> >>>>>> *** Original comment attached to the patch *** >>>>>> >>>>>> This patch adds the support for Java 7 to Checkstyle's ANTLR grammar= . >>>>>> It comes with 1 unit test for each new Java 7 language feature. >>>>>> >>>>>> This patch should be backwards-compatible: AST for files which do no= t >>>>>> use Java 7 features should be left unchanged. >>>>>> >>>>>> Impact by Java 7 language feature: >>>>>> >>>>>> 1) String in switch: None, the grammar already supported this. >>>>>> >>>>>> 2) Simplified variable arguments: None, the grammar should not be >>>>>> impacted by this feature. >>>>>> >>>>>> 3) Binary integer literals and underscores in numerical literals: T= he >>>>>> tokens value in the AST will be identical as the one written in the = source >>>>>> code. >>>>>> >>>>>> 4) Diamond Generics: In presence of a diamond, the AST looks like: >>>>>> >>>>>> +--TYPE_ARGUMENTS >>>>>> | >>>>>> +--GENERIC_START >>>>>> +--GENERIC_END >>>>>> >>>>>> 5) try-with-resources: In presence of a try-with-resources, the AST >>>>>> looks like: >>>>>> >>>>>> +--try >>>>>> | >>>>>> +--LPAREN (new node containing the "resource") >>>>>> | >>>>>> +--MODIFIERS >>>>>> +--TYPE >>>>>> | >>>>>> ... >>>>>> +--IDENT >>>>>> +--ASSIGN >>>>>> +--EXPR >>>>>> | >>>>>> ... >>>>>> +--RPAREN >>>>>> +--SLIST (list of statements of the try block, just like a >>>>>> try/catch) >>>>>> | >>>>>> ... >>>>>> +--LITERAL_CATCH (optionnally, if there was a catch, just like a >>>>>> try/catch) >>>>>> +=E2=80=A6 (unchanged, just like a try/catch) >>>>>> >>>>>> 6) Multi-catch and more precise rethrow: In presence of a >>>>>> multi-catch, the AST looks like: >>>>>> >>>>>> +--try >>>>>> | >>>>>> +--SLIST (list of statements of the try block) >>>>>> | >>>>>> ... >>>>>> +--LITERAL_CATCH >>>>>> | >>>>>> +--LPAREN >>>>>> +--PARAMETER_DEF >>>>>> | >>>>>> +--MODIFIERS >>>>>> +--TYPE >>>>>> | >>>>>> +--IDENT (containing the first exception to catch, o= r >>>>>> a DOT node if it is a fully qualified type) >>>>>> +--IDENT (containing the second exception to catch, = or >>>>>> a DOT node if it is a fully qualified type) >>>>>> +--... >>>>>> +--IDENT (name of the exception variable) >>>>>> +--RPAREN >>>>>> +--SLIST (list of statements of the catch block) >>>>>> | >>>>>> ... >>>>>> >>>>>> Kind regards, >>>>>> Dinesh Bolkensteyn >>>>>> >>>>>> >>>>>> On Tue, Aug 16, 2011 at 10:07 AM, Freddy Mallet < >>>>>> [email protected]> wrote: >>>>>> >>>>>>> Thanks for your answer Oliver ! So we'll start with the first baby >>>>>>> step to patch the current Antlr grammar. We should get back to you = during >>>>>>> the upcoming weeks. >>>>>>> >>>>>>> Kind regards, >>>>>>> Freddy >>>>>>> ---------------------------------------- >>>>>>> Freddy Mallet >>>>>>> www.SonarSource.org >>>>>>> www.SonarSource.com >>>>>>> ---------------------------------------- >>>>>>> >>>>>>> >>>>>>> On Tue, Aug 16, 2011 at 4:34 AM, Oliver Burn <[email protected]= >wrote: >>>>>>> >>>>>>>> Hi Freddy, >>>>>>>> >>>>>>>> Thanks for your kind offer. >>>>>>>> >>>>>>>> My preference for a new grammar is motivated by the following >>>>>>>> thoughts: >>>>>>>> >>>>>>>> - Upgrade from ANTLRv2 to ANTLRv3 - there a numerous benefits t= o >>>>>>>> not being left behind, including newer features and the awesome= ANTLRworks >>>>>>>> - The existing grammar has evolved along with the language - a >>>>>>>> fresh implementation maybe cleaner >>>>>>>> - Hoping to find a ANTLR grammar out there that somebody is >>>>>>>> maintaining. Bare in mind that when Java 8 comes out, where wil= l be a series >>>>>>>> of changes to the grammar required. >>>>>>>> >>>>>>>> That all said, it would be easier to patch the existing grammar. I >>>>>>>> would happily take a patch that does that. :-) >>>>>>>> >>>>>>>> Regards, >>>>>>>> Oliver >>>>>>>> >>>>>>>> On Tue, Aug 16, 2011 at 01:57, Freddy Mallet < >>>>>>>> [email protected]> wrote: >>>>>>>> >>>>>>>>> Hi Oliver, >>>>>>>>> >>>>>>>>> We would be happy to contribute to the support of java 7 [1]. >>>>>>>>> Upgrading the current Antlr grammar should not be too complex (ev= en if not >>>>>>>>> simple) in order to support new java language enhancements : >>>>>>>>> >>>>>>>>> - Strings in switch statements >>>>>>>>> - try-with-resources statements >>>>>>>>> - improved type inference for generic instance creation >>>>>>>>> ("diamond") >>>>>>>>> - better integral literals >>>>>>>>> - and improved exception handling (multi-catch) >>>>>>>>> >>>>>>>>> In ticket 3328367 [1], you mention the option to fully rewrite th= e >>>>>>>>> Antlr grammar instead of simply updating the existing one. In few= words, >>>>>>>>> could you explain what would be the advantages of this solution a= nd why you >>>>>>>>> seem to prefer this second solution ? >>>>>>>>> >>>>>>>>> Thanks >>>>>>>>> Freddy >>>>>>>>> >>>>>>>>> [1] - >>>>>>>>> http://sourceforge.net/tracker/?func=3Ddetail&aid=3D3328367&group= _id=3D29721&atid=3D397078you seem to be >>>>>>>>> ---------------------------------------- >>>>>>>>> Freddy Mallet >>>>>>>>> www.SonarSource.org >>>>>>>>> www.SonarSource.com >>>>>>>>> ---------------------------------------- >>>>>>>>> >>>>>>>>> >>>>>>>>> -----------------------------------------------------------------= ------------- >>>>>>>>> uberSVN's rich system and user administration capabilities and >>>>>>>>> model >>>>>>>>> configuration take the hassle out of deploying and managing >>>>>>>>> Subversion and >>>>>>>>> the tools developers use with it. Learn more about uberSVN and ge= t >>>>>>>>> a free >>>>>>>>> download at: http://p.sf.net/sfu/wandisco-dev2dev >>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>>> Checkstyle-user mailing list >>>>>>>>> [email protected] >>>>>>>>> https://lists.sourceforge.net/lists/listinfo/checkstyle-user >>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> ------------------------------------------------------------------= ------------ >>>>>>>> uberSVN's rich system and user administration capabilities and mod= el >>>>>>>> configuration take the hassle out of deploying and managing >>>>>>>> Subversion and >>>>>>>> the tools developers use with it. Learn more about uberSVN and get= a >>>>>>>> free >>>>>>>> download at: http://p.sf.net/sfu/wandisco-dev2dev >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> Checkstyle-user mailing list >>>>>>>> [email protected] >>>>>>>> https://lists.sourceforge.net/lists/listinfo/checkstyle-user >>>>>>>> >>>>>>>> >>>>>>> >>>>>> >>>>> >>>>> >>>>> -- >>>>> Best regards, >>>>> Evgeny Mandrikov aka Godin <http://godin.net.ru> >>>>> http://twitter.com/_godin_ >>>>> >>>> >>>> >>>> >>>> -- >>>> Best regards, >>>> Evgeny Mandrikov aka Godin <http://godin.net.ru> >>>> http://twitter.com/_godin_ >>>> >>> >>> >> >> >> ------------------------------------------------------------------------= ------ >> Special Offer -- Download ArcSight Logger for FREE! >> Finally, a world-class log management solution at an even better >> price-free! And you'll get a free "Love Thy Logs" t-shirt when you >> download Logger. Secure your free ArcSight Logger TODAY! >> http://p.sf.net/sfu/arcsisghtdev2dev >> >> _______________________________________________ >> Checkstyle-user mailing list >> [email protected] >> https://lists.sourceforge.net/lists/listinfo/checkstyle-user >> >> > > > -------------------------------------------------------------------------= ----- > Special Offer -- Download ArcSight Logger for FREE! > Finally, a world-class log management solution at an even better > price-free! And you'll get a free "Love Thy Logs" t-shirt when you > download Logger. Secure your free ArcSight Logger TODAY! > http://p.sf.net/sfu/arcsisghtdev2dev > _______________________________________________ > Checkstyle-user mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/checkstyle-user > > --0015174789803a1ceb04ac558a3a Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Thanks Oliver !<div><br></div><div>Just in case, do you have=C2=A0any idea = when the release of Checkstyle 5.5 might occur ?</div><div><br clear=3D"all= ">----------------------------------------<br>Freddy Mallet<br><a href=3D"h= ttp://www.SonarSource.org" target=3D"_blank">www.SonarSource.org</a><br> <a href=3D"http://www.SonarSource.com" target=3D"_blank">www.SonarSource.co= m</a><br>----------------------------------------<br> <br><br><div class=3D"gmail_quote">On Tue, Sep 6, 2011 at 1:37 PM, Oliver B= urn <span dir=3D"ltr"><<a href=3D"mailto:[email protected]">oliver@p= uppycrawl.com</a>></span> wrote:<br><blockquote class=3D"gmail_quote" st= yle=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"> The patch has been applied to Checkstyle.<br><br>Thanks!<br><br><div class= =3D"gmail_quote"><div><div></div><div class=3D"h5">On Tue, Sep 6, 2011 at 1= 8:15, Dinesh Bolkensteyn <span dir=3D"ltr"><<a href=3D"mailto:dinesh.bol= [email protected]" target=3D"_blank">dinesh.bolkensteyn@sonarsource.= com</a>></span> wrote:<br> </div></div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;bo= rder-left:1px #ccc solid;padding-left:1ex"><div><div></div><div class=3D"h5= ">There is already a proposed patch for the EOF issue from Lukas Platinsky = @ <a href=3D"https://sourceforge.net/tracker/?func=3Ddetail&aid=3D33938= 10&group_id=3D29721&atid=3D397080" target=3D"_blank">https://source= forge.net/tracker/?func=3Ddetail&aid=3D3393810&group_id=3D29721&= ;atid=3D397080</a><br> (which I did not try)<br><br>Indeed the support for "enum" as an = identifier (Java 4) is still an open issue.<br clear=3D"all"><font color=3D= "#888888"><span style=3D"font-family:arial,sans-serif;font-size:13px;border= -collapse:collapse"><br> --<br>Dinesh Bolkensteyn<br></span>Tweeting? <a href=3D"http://twitter.com/= DBolkensteyn" target=3D"_blank">http://twitter.com/DBolkensteyn</a></font><= div><span style=3D"font-family:arial, sans-serif;font-size:13px;border-coll= apse:collapse"></span><br> <span style=3D"font-family:arial,sans-serif;font-size:13px;border-collapse:= collapse"><br><a href=3D"http://www.SonarSource.org" target=3D"_blank">www.= SonarSource.org</a><br><a href=3D"http://www.SonarSource.com" target=3D"_bl= ank">www.SonarSource.com</a></span><br> <br> <br><br></div><div><div></div><div><div class=3D"gmail_quote">On Mon, Sep 5= , 2011 at 10:49 PM, Freddy Mallet <span dir=3D"ltr"><<a href=3D"mailto:f= [email protected]" target=3D"_blank">[email protected]= om</a>></span> wrote:<br> <blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p= x #ccc solid;padding-left:1ex"> Hi Evgeny,<div><br></div><div>In fact Dinesh already tried to fix the java = grammar to handle this use case but that's a bit tricky so we decided t= o postpone this investigation.</div><div><br></div><font color=3D"#888888">= <div> Freddy =C2=A0</div></font><div><div> <br clear=3D"all">----------------------------------------<br>Freddy Mallet= <br><a href=3D"http://www.SonarSource.org" target=3D"_blank">www.SonarSourc= e.org</a><br><a href=3D"http://www.SonarSource.com" target=3D"_blank">www.S= onarSource.com</a><br> ----------------------------------------<br> <br><br></div><div><div></div><div><div class=3D"gmail_quote">On Mon, Sep 5= , 2011 at 10:30 PM, Evgeny Mandrikov <span dir=3D"ltr"><<a href=3D"mailt= o:[email protected]" target=3D"_blank">[email protected]</a>></span>= wrote:<br> <blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p= x #ccc solid;padding-left:1ex"> Dinesh FYI another interesting open issue is about analysis of Java 1.4 cod= e, where enum can be used as an identifier : <a href=3D"http://jira.codehau= s.org/browse/SONAR-1653" target=3D"_blank">http://jira.codehaus.org/browse/= SONAR-1653</a><div> <div></div><div><br> <br><div class=3D"gmail_quote">On Mon, Sep 5, 2011 at 19:56, Evgeny Mandrik= ov <span dir=3D"ltr"><<a href=3D"mailto:[email protected]" target=3D"_= blank">[email protected]</a>></span> wrote:<br><blockquote class=3D"gm= ail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-le= ft:1ex"> Hi all,<div><br></div><div>FYI: I tested this patch by applying it locally = on Checkstyle 5.5-SNAPSHOT and using this version in Sonar.</div><div>And i= t works like a charm for simple project, which uses all language features o= f Java 7 (=C2=A0<a href=3D"https://github.com/Godin/sonar-experiments/tree/= master/java7-language-features" target=3D"_blank">https://github.com/Godin/= sonar-experiments/tree/master/java7-language-features</a>=C2=A0).</div> <div>Congratulations Dinesh!</div><div><br></div><div>However Dinesh, could= you please also take a look on another parsing issue, which is still prese= nt in 5.5-SNAPSHOT : <a href=3D"http://sourceforge.net/tracker/?func=3Ddeta= il&atid=3D397078&aid=3D1667137&group_id=3D29721" target=3D"_bla= nk">http://sourceforge.net/tracker/?func=3Ddetail&atid=3D397078&aid= =3D1667137&group_id=3D29721</a></div> <div>Currently in Sonar we have a workaround - we simply ignore this error,= =C2=A0but IMO would be better to fix it, if you can ;)</div><div><div><div>= </div><div><br><div class=3D"gmail_quote">On Fri, Sep 2, 2011 at 17:42, Din= esh Bolkensteyn <span dir=3D"ltr"><<a href=3D"mailto:dinesh.bolkensteyn@= sonarsource.com" target=3D"_blank">[email protected]</a>&g= t;</span> wrote:<br> <blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p= x #ccc solid;padding-left:1ex">Dear Olivier,<br><br>The patch is provided h= ere: <a href=3D"https://sourceforge.net/tracker/?func=3Ddetail&aid=3D34= 03265&group_id=3D29721&atid=3D397080" target=3D"_blank">https://sou= rceforge.net/tracker/?func=3Ddetail&aid=3D3403265&group_id=3D29721&= amp;atid=3D397080</a><br> <br>Note that, because SourceForge does not preserve spaces in the comment,= the AST part is messed up, which is why I post the comment hereunder again= .<br><br>*** Original comment attached to the patch ***<br><br>This patch a= dds the support for Java 7 to Checkstyle's ANTLR grammar.<br> It comes with 1 unit test for each new Java 7 language feature.<br><br>This= patch should be backwards-compatible: AST for files which do not use Java = 7 features should be left unchanged.<br><br>Impact by Java 7 language featu= re:<br> <br>=C2=A01) String in switch: None, the grammar already supported this.<br= ><br>=C2=A02) Simplified variable arguments: None, the grammar should not b= e impacted by this feature.<br>=C2=A0<br>=C2=A03) Binary integer literals a= nd underscores in numerical literals: The tokens value in the AST will be i= dentical as the one written in the source code.<br> <br>=C2=A04) Diamond Generics: In presence of a diamond, the AST looks like= :<br><br>+--TYPE_ARGUMENTS<br>=C2=A0=C2=A0=C2=A0 |<br>=C2=A0=C2=A0=C2=A0 +-= -GENERIC_START<br>=C2=A0=C2=A0=C2=A0 +--GENERIC_END<br><br>=C2=A05) try-wit= h-resources: In presence of a try-with-resources, the AST looks like: <br> <br>+--try<br>=C2=A0=C2=A0=C2=A0 |<br>=C2=A0=C2=A0=C2=A0 +--LPAREN (new nod= e containing the "resource")<br>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0 |<br>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--MODIFIERS<br>= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--TYPE<br>=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |<br>=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ...<br>=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0 +--IDENT<br>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 += --ASSIGN<br> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--EXPR<br> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |<br>=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 ...<br>=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--RPAREN<br>=C2=A0=C2=A0=C2=A0 +--= SLIST (list of statements of the try block, just like a try/catch)<br>=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |<br>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0 ...<br>=C2=A0=C2=A0=C2=A0 +--LITERAL_CATCH (optionnally, if th= ere was a catch, just like a try/catch)<br> =C2=A0=C2=A0=C2=A0 +=E2=80=A6 (unchanged, just like a try/catch)<br><br>=C2= =A06) Multi-catch and more precise rethrow: In presence of a multi-catch, t= he AST looks like:<br>=C2=A0<br>+--try<br>=C2=A0=C2=A0=C2=A0 |<br>=C2=A0=C2= =A0=C2=A0 +--SLIST (list of statements of the try block)<br> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |<br>=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0 ...<br>=C2=A0=C2=A0=C2=A0 +--LITERAL_CATCH<br>=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |<br>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0 +--LPAREN<br>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--PARAMETER_DE= F<br>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |<b= r>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--MOD= IFIERS<br>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0 +--TYPE<br>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 |<br>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--IDENT (containing th= e first exception to catch, or a DOT node if it is a fully qualified type)<= br> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0 +--IDENT (containing the second exception to catch, or a DO= T node if it is a fully qualified type)<br>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--...<br>=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--IDENT (n= ame of the exception variable)<br>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0 +--RPAREN<br> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 +--SLIST (list of statements of = the catch block)<br>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0 |<br>=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0 ...<br><br>Kind regards,<br><font color=3D"#888888"> =C2=A0Dinesh Bolkensteyn</font><div><div></div><div><br><br><div class=3D"g= mail_quote">On Tue, Aug 16, 2011 at 10:07 AM, Freddy Mallet <span dir=3D"lt= r"><<a href=3D"mailto:[email protected]" target=3D"_blank">f= [email protected]</a>></span> wrote:<br> <blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p= x #ccc solid;padding-left:1ex"><div>Thanks for your answer Oliver ! So we&#= 39;ll start with the first baby step to patch the current Antlr grammar. We= should get back to you during the upcoming weeks.=C2=A0</div> <div><br></div><div>Kind regards,</div><div>Freddy<br clear=3D"all"> ----------------------------------------<br>Freddy Mallet<br><a href=3D"htt= p://www.SonarSource.org" target=3D"_blank">www.SonarSource.org</a><br><a hr= ef=3D"http://www.SonarSource.com" target=3D"_blank">www.SonarSource.com</a>= <br> ----------------------------------------<br> <br><br><div class=3D"gmail_quote">On Tue, Aug 16, 2011 at 4:34 AM, Oliver = Burn <span dir=3D"ltr"><<a href=3D"mailto:[email protected]" target= =3D"_blank">[email protected]</a>></span> wrote:<br><blockquote clas= s=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;pad= ding-left:1ex"> Hi Freddy,<br><br>Thanks for your kind offer.<br><br>My preference for a ne= w grammar is motivated by the following thoughts:<br><ul><li>Upgrade from A= NTLRv2 to ANTLRv3 - there a numerous benefits to not being left behind, inc= luding newer features and the awesome ANTLRworks</li> <li>The existing grammar has evolved along with the language - a fresh impl= ementation maybe cleaner</li><li>Hoping to find a ANTLR grammar out there t= hat somebody is maintaining. Bare in mind that when Java 8 comes out, where= will be a series of changes to the grammar required.</li> </ul>That all said, it would be easier to patch the existing grammar. I wou= ld happily take a patch that does that. :-)<br><br>Regards,<br>Oliver<br><b= r><div class=3D"gmail_quote"><div><div></div><div>On Tue, Aug 16, 2011 at 0= 1:57, Freddy Mallet <span dir=3D"ltr"><<a href=3D"mailto:freddy.mallet@g= mail.com" target=3D"_blank">[email protected]</a>></span> wrote:<b= r> </div></div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;bo= rder-left:1px #ccc solid;padding-left:1ex"><div><div></div><div>Hi Oliver,<= div><br></div><div>We would be happy to contribute to the support of java 7= [1]. Upgrading the current Antlr grammar should not be too complex (even i= f not simple) in order to support new java language enhancements :=C2=A0</d= iv> <div><div><ul><li>Strings in switch statements</li><li>try-with-resources s= tatements</li><li>improved type inference for generic instance creation (&q= uot;diamond")</li><li>better integral literals</li><li>and improved ex= ception handling (multi-catch)</li> </ul></div></div><div>In ticket=C2=A03328367 [1], you mention the option to= fully rewrite the Antlr grammar instead of simply updating the existing on= e. In few words, could you explain what would be the advantages of this sol= ution and why you seem to prefer this second solution ?</div> <div><br></div><div>Thanks</div><div>Freddy</div><div><br></div><div>[1] - = <a href=3D"http://sourceforge.net/tracker/?func=3Ddetail&aid=3D3328367&= amp;group_id=3D29721&atid=3D397078" target=3D"_blank">http://sourceforg= e.net/tracker/?func=3Ddetail&aid=3D3328367&group_id=3D29721&ati= d=3D397078</a> you seem to be=C2=A0<br clear=3D"all"> ----------------------------------------<br><font color=3D"#888888">Freddy = Mallet<br><a href=3D"http://www.SonarSource.org" target=3D"_blank">www.Sona= rSource.org</a><br><a href=3D"http://www.SonarSource.com" target=3D"_blank"= >www.SonarSource.com</a><br> ----------------------------------------<br> </font></div> <br></div></div>-----------------------------------------------------------= -------------------<br> uberSVN's rich system and user administration capabilities and model<br= > configuration take the hassle out of deploying and managing Subversion and<= br> the tools developers use with it. Learn more about uberSVN and get a free<b= r> download at: =C2=A0<a href=3D"http://p.sf.net/sfu/wandisco-dev2dev" target= =3D"_blank">http://p.sf.net/sfu/wandisco-dev2dev</a><br> <br>_______________________________________________<br> Checkstyle-user mailing list<br> <a href=3D"mailto:[email protected]" target=3D"_blank">= [email protected]</a><br> <a href=3D"https://lists.sourceforge.net/lists/listinfo/checkstyle-user" ta= rget=3D"_blank">https://lists.sourceforge.net/lists/listinfo/checkstyle-use= r</a><br> <br></blockquote></div><br> <br>-----------------------------------------------------------------------= -------<br> uberSVN's rich system and user administration capabilities and model<br= > configuration take the hassle out of deploying and managing Subversion and<= br> the tools developers use with it. Learn more about uberSVN and get a free<b= r> download at: =C2=A0<a href=3D"http://p.sf.net/sfu/wandisco-dev2dev" target= =3D"_blank">http://p.sf.net/sfu/wandisco-dev2dev</a><br> <br>_______________________________________________<br> Checkstyle-user mailing list<br> <a href=3D"mailto:[email protected]" target=3D"_blank">= [email protected]</a><br> <a href=3D"https://lists.sourceforge.net/lists/listinfo/checkstyle-user" ta= rget=3D"_blank">https://lists.sourceforge.net/lists/listinfo/checkstyle-use= r</a><br> <br></blockquote></div><br></div> </blockquote></div><br> </div></div></blockquote></div><br><br clear=3D"all"><div><br></div></div><= /div><font color=3D"#888888">-- <br>Best regards,<br>Evgeny Mandrikov aka G= odin <<a href=3D"http://godin.net.ru" target=3D"_blank">http://godin.net= .ru</a>><br> <a href=3D"http://twitter.com/_godin_" target=3D"_blank">http://twitter.com= /_godin_</a><br> </font></div> </blockquote></div><br><br clear=3D"all"><div><br></div>-- <br>Best regards= ,<br>Evgeny Mandrikov aka Godin <<a href=3D"http://godin.net.ru" target= =3D"_blank">http://godin.net.ru</a>><br><a href=3D"http://twitter.com/_g= odin_" target=3D"_blank">http://twitter.com/_godin_</a><br> </div></div></blockquote></div><br></div></div></div> </blockquote></div><br> </div></div><br></div></div><div class=3D"im">-----------------------------= -------------------------------------------------<br> Special Offer -- Download ArcSight Logger for FREE!<br> Finally, a world-class log management solution at an even better<br> price-free! And you'll get a free "Love Thy Logs" t-shirt whe= n you<br> download Logger. Secure your free ArcSight Logger TODAY!<br> </div><a href=3D"http://p.sf.net/sfu/arcsisghtdev2dev" target=3D"_blank">ht= tp://p.sf.net/sfu/arcsisghtdev2dev</a><div class=3D"im"><br>_______________= ________________________________<br> Checkstyle-user mailing list<br> <a href=3D"mailto:[email protected]" target=3D"_blank">= [email protected]</a><br> <a href=3D"https://lists.sourceforge.net/lists/listinfo/checkstyle-user" ta= rget=3D"_blank">https://lists.sourceforge.net/lists/listinfo/checkstyle-use= r</a><br> <br></div></blockquote></div><br> <br>-----------------------------------------------------------------------= -------<br> Special Offer -- Download ArcSight Logger for FREE!<br> Finally, a world-class log management solution at an even better<br> price-free! And you'll get a free "Love Thy Logs" t-shirt whe= n you<br> download Logger. Secure your free ArcSight Logger TODAY!<br> <a href=3D"http://p.sf.net/sfu/arcsisghtdev2dev" target=3D"_blank">http://p= .sf.net/sfu/arcsisghtdev2dev</a><br>_______________________________________= ________<br> Checkstyle-user mailing list<br> <a href=3D"mailto:[email protected]">Checkstyle-user@li= sts.sourceforge.net</a><br> <a href=3D"https://lists.sourceforge.net/lists/listinfo/checkstyle-user" ta= rget=3D"_blank">https://lists.sourceforge.net/lists/listinfo/checkstyle-use= r</a><br> <br></blockquote></div><br></div> --0015174789803a1ceb04ac558a3a-- --===============2190528874542175385== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline ------------------------------------------------------------------------------ Using storage to extend the benefits of virtualization and iSCSI Virtualization increases hardware utilization and delivers a new level of agility. Learn what those decisions are and how to modernize your storage and backup environments for virtualization. http://www.accelacomm.com/jaw/sfnl/114/51434361/ --===============2190528874542175385== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Checkstyle-user mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/checkstyle-user --===============2190528874542175385==--