Menu

#1417 Anonymous Inner Class: ParseException: Encountered " "." ". ""

PMD-5.3.5
duplicate
None
PMD
3-Major
Bug
5.4.0
2015-10-10
2015-09-29
No

I get the following error when I use anonymous inner classes like this:

70  @Override
71  public void doCreateContext(final Context context)
72  {
73      executeInLocalView(new SessionExecutionBody()
74      {
75          @Override
76          public void executeWithoutResult()
77          {
78              HGCmsElementSyncAction.super.doCreateContext(context);
79          }
80      });
81  }
Processing file D:\workspace\custom\cockpit\web\src\com\myapp\components\actions\CmsElementSyncAction.java
13:09:29       [pmd] Error while processing file
13:09:29       [pmd] net.sourceforge.pmd.lang.java.ast.ParseException: Encountered " "." ". "" at line 78, column 55.
13:09:29       [pmd] Was expecting one of:
13:09:29       [pmd]     ";" ...
13:09:29       [pmd]     "=" ...
13:09:29       [pmd]     "+=" ...
13:09:29       [pmd]     "-=" ...
13:09:29       [pmd]     "*=" ...
13:09:29       [pmd]     "/=" ...
13:09:29       [pmd]     "&=" ...
13:09:29       [pmd]     "|=" ...
13:09:29       [pmd]     "^=" ...
13:09:29       [pmd]     "%=" ...
13:09:29       [pmd]     "<<=" ...
13:09:29       [pmd]     ">>=" ...
13:09:29       [pmd]     ">>>=" ...
13:09:29       [pmd]     ";" ...
13:09:29       [pmd]     ";" ...
13:09:29       [pmd]     ";" ...
13:09:29       [pmd]     ";" ...
13:09:29       [pmd]     ";" ...
13:09:29       [pmd]     ";" ...
13:09:29       [pmd]     ";" ...
13:09:29       [pmd]     ";" ...
13:09:29       [pmd]     ";" ...
13:09:29       [pmd]     ";" ...
13:09:29       [pmd]     ";" ...
13:09:29       [pmd]     ";" ...
13:09:29       [pmd]     ";" ...
13:09:29       [pmd]     ";" ...
13:09:29       [pmd]     ";" ...
13:09:29       [pmd]     ";" ...
13:09:29       [pmd]     ";" ...
13:09:29       [pmd]     ";" ...
13:09:29       [pmd]     ";" ...
13:09:29       [pmd]     ";" ...
13:09:29       [pmd]     ";" ...
13:09:29       [pmd]     ";" ...
13:09:29       [pmd]     ";" ...
13:09:29       [pmd]     ";" ...
13:09:29       [pmd]     ";" ...
13:09:29       [pmd]     ";" ...
13:09:29       [pmd]     ";" ...
13:09:29       [pmd]     ";" ...
13:09:29       [pmd]     ";" ...
13:09:29       [pmd]     ";" ...
13:09:29       [pmd]     ";" ...
13:09:29       [pmd]     ";" ...
13:09:29       [pmd]     ";" ...
13:09:29       [pmd]     ";" ...
13:09:29       [pmd]     ";" ...
13:09:29       [pmd]     ";" ...
13:09:29       [pmd]     ";" ...
13:09:29       [pmd]     ";" ...
13:09:29       [pmd]     ";" ...
13:09:29       [pmd]     ";" ...
13:09:29       [pmd]     ";" ...
13:09:29       [pmd]     ";" ...
13:09:29       [pmd]     ";" ...
13:09:29       [pmd]     
13:09:29       [pmd]    at net.sourceforge.pmd.lang.java.ast.JavaParser.generateParseException(JavaParser.java:9867)
13:09:29       [pmd]    at net.sourceforge.pmd.lang.java.ast.JavaParser.jj_consume_token(JavaParser.java:9751)
13:09:29       [pmd]    at net.sourceforge.pmd.lang.java.ast.JavaParser.Statement(JavaParser.java:4062)
13:09:29       [pmd]    at net.sourceforge.pmd.lang.java.ast.JavaParser.BlockStatement(JavaParser.java:4208)
13:09:29       [pmd]    at net.sourceforge.pmd.lang.java.ast.JavaParser.Block(JavaParser.java:4169)
13:09:29       [pmd]    at net.sourceforge.pmd.lang.java.ast.JavaParser.MethodDeclaration(JavaParser.java:1425)
13:09:29       [pmd]    at net.sourceforge.pmd.lang.java.ast.JavaParser.ClassOrInterfaceBodyDeclaration(JavaParser.java:1094)
13:09:29       [pmd]    at net.sourceforge.pmd.lang.java.ast.JavaParser.ClassOrInterfaceBody(JavaParser.java:1013)
13:09:29       [pmd]    at net.sourceforge.pmd.lang.java.ast.JavaParser.AllocationExpression(JavaParser.java:3899)
13:09:29       [pmd]    at net.sourceforge.pmd.lang.java.ast.JavaParser.PrimaryPrefix(JavaParser.java:3545)
13:09:29       [pmd]    at net.sourceforge.pmd.lang.java.ast.JavaParser.PrimaryExpression(JavaParser.java:3446)
13:09:29       [pmd]    at net.sourceforge.pmd.lang.java.ast.JavaParser.PostfixExpression(JavaParser.java:3350)
13:09:29       [pmd]    at net.sourceforge.pmd.lang.java.ast.JavaParser.UnaryExpressionNotPlusMinus(JavaParser.java:3249)
13:09:29       [pmd]    at net.sourceforge.pmd.lang.java.ast.JavaParser.UnaryExpression(JavaParser.java:3110)
13:09:29       [pmd]    at net.sourceforge.pmd.lang.java.ast.JavaParser.MultiplicativeExpression(JavaParser.java:3001)
13:09:29       [pmd]    at net.sourceforge.pmd.lang.java.ast.JavaParser.AdditiveExpression(JavaParser.java:2946)
13:09:29       [pmd]    at net.sourceforge.pmd.lang.java.ast.JavaParser.ShiftExpression(JavaParser.java:2893)
13:09:29       [pmd]    at net.sourceforge.pmd.lang.java.ast.JavaParser.RelationalExpression(JavaParser.java:2828)
13:09:29       [pmd]    at net.sourceforge.pmd.lang.java.ast.JavaParser.InstanceOfExpression(JavaParser.java:2791)
13:09:29       [pmd]    at net.sourceforge.pmd.lang.java.ast.JavaParser.EqualityExpression(JavaParser.java:2736)
13:09:29       [pmd]    at net.sourceforge.pmd.lang.java.ast.JavaParser.AndExpression(JavaParser.java:2695)
13:09:29       [pmd]    at net.sourceforge.pmd.lang.java.ast.JavaParser.ExclusiveOrExpression(JavaParser.java:2654)
13:09:29       [pmd]    at net.sourceforge.pmd.lang.java.ast.JavaParser.InclusiveOrExpression(JavaParser.java:2613)
13:09:29       [pmd]    at net.sourceforge.pmd.lang.java.ast.JavaParser.ConditionalAndExpression(JavaParser.java:2572)
13:09:29       [pmd]    at net.sourceforge.pmd.lang.java.ast.JavaParser.ConditionalOrExpression(JavaParser.java:2531)
13:09:29       [pmd]    at net.sourceforge.pmd.lang.java.ast.JavaParser.ConditionalExpression(JavaParser.java:2491)
13:09:29       [pmd]    at net.sourceforge.pmd.lang.java.ast.JavaParser.Expression(JavaParser.java:2352)
13:09:29       [pmd]    at net.sourceforge.pmd.lang.java.ast.JavaParser.ArgumentList(JavaParser.java:3833)
13:09:29       [pmd]    at net.sourceforge.pmd.lang.java.ast.JavaParser.Arguments(JavaParser.java:3799)
13:09:29       [pmd]    at net.sourceforge.pmd.lang.java.ast.JavaParser.PrimarySuffix(JavaParser.java:3618)
13:09:29       [pmd]    at net.sourceforge.pmd.lang.java.ast.JavaParser.PrimaryExpression(JavaParser.java:3454)
13:09:29       [pmd]    at net.sourceforge.pmd.lang.java.ast.JavaParser.StatementExpression(JavaParser.java:4366)
13:09:29       [pmd]    at net.sourceforge.pmd.lang.java.ast.JavaParser.Statement(JavaParser.java:4061)
13:09:29       [pmd]    at net.sourceforge.pmd.lang.java.ast.JavaParser.BlockStatement(JavaParser.java:4208)
13:09:29       [pmd]    at net.sourceforge.pmd.lang.java.ast.JavaParser.Block(JavaParser.java:4169)
13:09:29       [pmd]    at net.sourceforge.pmd.lang.java.ast.JavaParser.MethodDeclaration(JavaParser.java:1425)
13:09:29       [pmd]    at net.sourceforge.pmd.lang.java.ast.JavaParser.ClassOrInterfaceBodyDeclaration(JavaParser.java:1094)
13:09:29       [pmd]    at net.sourceforge.pmd.lang.java.ast.JavaParser.ClassOrInterfaceBody(JavaParser.java:1013)
13:09:29       [pmd]    at net.sourceforge.pmd.lang.java.ast.JavaParser.ClassOrInterfaceDeclaration(JavaParser.java:522)
13:09:29       [pmd]    at net.sourceforge.pmd.lang.java.ast.JavaParser.TypeDeclaration(JavaParser.java:414)
13:09:29       [pmd]    at net.sourceforge.pmd.lang.java.ast.JavaParser.CompilationUnit(JavaParser.java:172)
13:09:29       [pmd]    at net.sourceforge.pmd.lang.java.AbstractJavaParser.parse(AbstractJavaParser.java:56)
13:09:29       [pmd]    at net.sourceforge.pmd.SourceCodeProcessor.parse(SourceCodeProcessor.java:90)
13:09:29       [pmd]    at net.sourceforge.pmd.SourceCodeProcessor.processSource(SourceCodeProcessor.java:136)
13:09:29       [pmd]    at net.sourceforge.pmd.SourceCodeProcessor.processSourceCode(SourceCodeProcessor.java:75)
13:09:29       [pmd]    at net.sourceforge.pmd.SourceCodeProcessor.processSourceCode(SourceCodeProcessor.java:42)
13:09:29       [pmd]    at net.sourceforge.pmd.processor.PmdRunnable.call(PmdRunnable.java:75)
13:09:29       [pmd]    at net.sourceforge.pmd.processor.PmdRunnable.call(PmdRunnable.java:22)
13:09:29       [pmd]    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
13:09:29       [pmd]    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
13:09:29       [pmd]    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
13:09:29       [pmd]    at java.lang.Thread.run(Thread.java:745)

I'm using Java 1.7

Discussion

  • Andreas Dangel

    Andreas Dangel - 2015-10-03
    • status: open --> duplicate
    • assigned_to: Andreas Dangel
    • Milestone: PMD-5.4.0 --> PMD-5.3.5
     
  • Andreas Dangel

    Andreas Dangel - 2015-10-03

    Thanks for reporting this bug.
    This bug has already been fixed with PMD 5.0.5 - see [#1107].

    Please upgrade to at least PMD 5.0.5.

     

    Related

    Issues: #1107

  • Christopher Jung

    Hi Andreas,

    thanks for that advice! I have upgraded to PMD 5.4.0 but now I get this parser error for another class:

    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)
    14:51:55    at net.sourceforge.pmd.lang.java.ast.JavaParser.TypeDeclaration(JavaParser.java:463)
    14:51:55    at net.sourceforge.pmd.lang.java.ast.JavaParser.CompilationUnit(JavaParser.java:216)
    14:51:55    at net.sourceforge.pmd.lang.java.AbstractJavaParser.parse(AbstractJavaParser.java:56)
    14:51:55    at net.sourceforge.pmd.SourceCodeProcessor.parse(SourceCodeProcessor.java:91)
    14:51:55    at net.sourceforge.pmd.SourceCodeProcessor.processSource(SourceCodeProcessor.java:138)
    14:51:55    at net.sourceforge.pmd.SourceCodeProcessor.processSourceCode(SourceCodeProcessor.java:76)
    14:51:55    at net.sourceforge.pmd.SourceCodeProcessor.processSourceCode(SourceCodeProcessor.java:43)
    14:51:55    at net.sourceforge.pmd.processor.MonoThreadProcessor.processFiles(MonoThreadProcessor.java:61)
    14:51:55    at net.sourceforge.pmd.PMD.processFiles(PMD.java:354)
    14:51:55    at net.sourceforge.pmd.ant.internal.PMDTaskImpl.doTask(PMDTaskImpl.java:182)
    14:51:55    at net.sourceforge.pmd.ant.internal.PMDTaskImpl.execute(PMDTaskImpl.java:263)
    14:51:55    at net.sourceforge.pmd.ant.PMDTask.execute(PMDTask.java:46)
    14:51:55    at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
    14:51:55    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    14:51:55    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    14:51:55    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    14:51:55    at java.lang.reflect.Method.invoke(Method.java:606)
    14:51:55    at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
    14:51:55    at org.apache.tools.ant.Task.perform(Task.java:348)
    14:51:55    at org.apache.tools.ant.Target.execute(Target.java:435)
    14:51:55    at org.apache.tools.ant.Target.performTasks(Target.java:456)
    14:51:55    at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393)
    14:51:55    at org.apache.tools.ant.Project.executeTarget(Project.java:1364)
    14:51:55    at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
    14:51:55    at org.apache.tools.ant.Project.executeTargets(Project.java:1248)
    14:51:55    at org.apache.tools.ant.Main.runBuild(Main.java:851)
    14:51:55    at org.apache.tools.ant.Main.startAnt(Main.java:235)
    14:51:55    at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
    14:51:55    at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
    

    The class looks like this:

     99 public Set<String> getAttributeTuples()
    100 {
    101     return (Set<String>) (this.attributes == null ? Collections.<String> emptySet() : new HashSet<String>(CollectionUtils.collect(this.attributes.keySet(), new Transformer()
    102     {
    103         @Override
    104         public Object transform(final Object obj) {
    105             final String key = (String) obj;
    106             final String value = HGXLIFFTypeConfiguration.this.attributes.get(key);
    107             
    108             String result = key;
    109             if(StringUtils.isNotEmpty(value))
    110             {
    111                 result = result.concat(":").concat(value);
    112             }
    113             return result;
    114         }
    115     })));
    116 }
    
     
  • Andreas Dangel

    Andreas Dangel - 2015-10-10

    Thanks for testing.

    I've created a new bug for this new parse error -> [#1429]

    As a workaround, you can remove the cast ((Set<String>)) as this is unnecessary anyway in this case.

     

    Related

    Issues: #1429


Log in to post a comment.

Monday.com Logo