Menu

#1429 [java] Parser Error: Cast in return expression

PMD-5.3.6
closed
PMD
3-Major
Bug
2016-06-25
2015-10-10
No

The following code produces a parser error:

 public Set<String> getAttributeTuples()
 {
     return (Set<String>) (this.attributes == null ? Collections.<String> emptySet() : new HashSet<String>(CollectionUtils.collect(this.attributes.keySet(), new Transformer()
     {
         @Override
         public Object transform(final Object obj) {
             final String key = (String) obj;
             final String value = HGXLIFFTypeConfiguration.this.attributes.get(key);

             String result = key;
             if(StringUtils.isNotEmpty(value))
             {
                 result = result.concat(":").concat(value);
             }
             return result;
         }
     })));
 }

Workaround:

Remove the cast ((Set<String>)) in the return expression.

Stack trace:

Exception stack trace:

14:51:55 Error while processing file: D:\Jenkins\workspace\10_compile_check\bin\custom\src\com\project\xliff\export\configuration\XLIFFTypeConfiguration.java
14:51:55 net.sourceforge.pmd.lang.java.ast.ParseException: Encountered " ">" "> "" at line 101, column 35.
14:51:55 Was expecting one of:
14:51:55     ")" ...
14:51:55     "++" ...
14:51:55     "--" ...
14:51:55     
14:51:55    at net.sourceforge.pmd.lang.java.ast.JavaParser.generateParseException(JavaParser.java:10783)
14:51:55    at net.sourceforge.pmd.lang.java.ast.JavaParser.jj_consume_token(JavaParser.java:10667)
14:51:55    at net.sourceforge.pmd.lang.java.ast.JavaParser.PrimaryPrefix(JavaParser.java:3720)
14:51:55    at net.sourceforge.pmd.lang.java.ast.JavaParser.PrimaryExpression(JavaParser.java:3569)
14:51:55    at net.sourceforge.pmd.lang.java.ast.JavaParser.PostfixExpression(JavaParser.java:3415)
14:51:55    at net.sourceforge.pmd.lang.java.ast.JavaParser.UnaryExpressionNotPlusMinus(JavaParser.java:3379)
14:51:55    at net.sourceforge.pmd.lang.java.ast.JavaParser.UnaryExpression(JavaParser.java:3240)
14:51:55    at net.sourceforge.pmd.lang.java.ast.JavaParser.MultiplicativeExpression(JavaParser.java:3136)
14:51:55    at net.sourceforge.pmd.lang.java.ast.JavaParser.AdditiveExpression(JavaParser.java:3085)
14:51:55    at net.sourceforge.pmd.lang.java.ast.JavaParser.ShiftExpression(JavaParser.java:3032)
14:51:55    at net.sourceforge.pmd.lang.java.ast.JavaParser.RelationalExpression(JavaParser.java:2973)
14:51:55    at net.sourceforge.pmd.lang.java.ast.JavaParser.InstanceOfExpression(JavaParser.java:2939)
14:51:55    at net.sourceforge.pmd.lang.java.ast.JavaParser.EqualityExpression(JavaParser.java:2888)
14:51:55    at net.sourceforge.pmd.lang.java.ast.JavaParser.AndExpression(JavaParser.java:2850)
14:51:55    at net.sourceforge.pmd.lang.java.ast.JavaParser.ExclusiveOrExpression(JavaParser.java:2812)
14:51:55    at net.sourceforge.pmd.lang.java.ast.JavaParser.InclusiveOrExpression(JavaParser.java:2774)
14:51:55    at net.sourceforge.pmd.lang.java.ast.JavaParser.ConditionalAndExpression(JavaParser.java:2736)
14:51:55    at net.sourceforge.pmd.lang.java.ast.JavaParser.ConditionalOrExpression(JavaParser.java:2698)
14:51:55    at net.sourceforge.pmd.lang.java.ast.JavaParser.ConditionalExpression(JavaParser.java:2661)
14:51:55    at net.sourceforge.pmd.lang.java.ast.JavaParser.Expression(JavaParser.java:2536)
14:51:55    at net.sourceforge.pmd.lang.java.ast.JavaParser.ReturnStatement(JavaParser.java:5392)
14:51:55    at net.sourceforge.pmd.lang.java.ast.JavaParser.Statement(JavaParser.java:4464)
14:51:55    at net.sourceforge.pmd.lang.java.ast.JavaParser.BlockStatement(JavaParser.java:4586)
14:51:55    at net.sourceforge.pmd.lang.java.ast.JavaParser.Block(JavaParser.java:4547)
14:51:55    at net.sourceforge.pmd.lang.java.ast.JavaParser.MethodDeclaration(JavaParser.java:1542)
14:51:55    at net.sourceforge.pmd.lang.java.ast.JavaParser.ClassOrInterfaceBodyDeclaration(JavaParser.java:1211)
14:51:55    at net.sourceforge.pmd.lang.java.ast.JavaParser.ClassOrInterfaceBody(JavaParser.java:1129)
14:51:55    at net.sourceforge.pmd.lang.java.ast.JavaParser.ClassOrInterfaceDeclaration(JavaParser.java:571)

Related

Issues: #1417

Discussion

  • Andreas Dangel

    Andreas Dangel - 2015-10-10
    • status: open --> closed
    • assigned_to: Andreas Dangel
    • Milestone: New Tickets --> PMD-5.3.6
     
  • Andreas Dangel

    Andreas Dangel - 2016-06-25
    • labels: --> java, parser
    • summary: Java - Parse Error: Cast in return expression --> [java] Parser Error: Cast in return expression
     

Log in to post a comment.