[antlr-interest] An issue with label method references in actions

Gerald Rosenberg gerald at certiv.net
Fri Jan 16 13:05:33 PST 2009


Bug in the Java target code generation? -- possibly related to 
<http://www.antlr.org/jira/browse/ANTLR-357>ANTLR-357

Given the rule:

statement
   @init {
       gDecl = new Statement($statement.start.getStartIndex());
   }
   :  k=id { gDecl.setName($k.start.getStartIndex()); } ';'
   ;

The reference $statement.start.getStartIndex() generates the code, 
with correct parens placement:

gDecl = new Statement(((CommonToken) retval.start).getStartIndex());


The reference $k.start.getStartIndex() generates different, NPE 
vulnerable code:

gDecl.setName((k != null ? ((CommonToken) k.start) : null).getStartIndex()); 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.antlr.org/pipermail/antlr-interest/attachments/20090116/2f32631a/attachment.html 


More information about the antlr-interest mailing list