Uploaded image for project: 'Clover'
  1. Clover
  2. CLOV-1979

com.atlassian.clover.api.CloverException: unexpected token: @ for type arguments with annoations

    • Icon: Bug Bug
    • Resolution: Tracked Elsewhere
    • Icon: Low Low
    • n/a
    • 4.1.2
    • None
    • None
    • Severity 2 - Major

      If a type argument for a parameterized type has an annotation, clover fails with the following error:

       

      22-Dec-2016 23:45:34	com.atlassian.clover.api.CloverException: ...Test.java:43:56:unexpected token: @
      22-Dec-2016 23:45:34	        at com.atlassian.clover.instr.java.Instrumenter.instrument(Instrumenter.java:161)
      22-Dec-2016 23:45:34	        at com.atlassian.clover.CloverInstr.execute(CloverInstr.java:76)
      22-Dec-2016 23:45:34	        at com.atlassian.clover.CloverInstr.mainImpl(CloverInstr.java:54)
      22-Dec-2016 23:45:34	        at com.atlassian.maven.plugin.clover.internal.instrumentation.AbstractInstrumenter.instrumentSources(AbstractInstrumenter.java:197)
      22-Dec-2016 23:45:34	        at com.atlassian.maven.plugin.clover.internal.instrumentation.AbstractInstrumenter.instrument(AbstractInstrumenter.java:72)
      22-Dec-2016 23:45:34	        at com.atlassian.maven.plugin.clover.CloverInstrumentInternalMojo.execute(CloverInstrumentInternalMojo.java:291)
      22-Dec-2016 23:45:34	        at com.atlassian.maven.plugin.clover.CloverSetupMojo.execute(CloverSetupMojo.java:31)
      22-Dec-2016 23:45:34	        at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
      22-Dec-2016 23:45:34	        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
      22-Dec-2016 23:45:34	        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
      22-Dec-2016 23:45:34	        at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
      22-Dec-2016 23:45:34	        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
      22-Dec-2016 23:45:34	        at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
      22-Dec-2016 23:45:34	        at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
      22-Dec-2016 23:45:34	        at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
      22-Dec-2016 23:45:34	        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
      22-Dec-2016 23:45:34	        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
      22-Dec-2016 23:45:34	        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
      22-Dec-2016 23:45:34	        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
      22-Dec-2016 23:45:34	        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
      22-Dec-2016 23:45:34	        at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
      22-Dec-2016 23:45:34	        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      22-Dec-2016 23:45:34	        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      22-Dec-2016 23:45:34	        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      22-Dec-2016 23:45:34	        at java.lang.reflect.Method.invoke(Method.java:498)
      22-Dec-2016 23:45:34	        at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
      22-Dec-2016 23:45:34	        at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
      22-Dec-2016 23:45:34	        at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
      22-Dec-2016 23:45:34	        at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
      22-Dec-2016 23:45:34	Caused by: line 43:56: unexpected token: @
      22-Dec-2016 23:45:34	        at com.atlassian.clover.instr.java.JavaRecognizer.typeArguments(JavaRecognizer.java:1227)
      22-Dec-2016 23:45:34	        at com.atlassian.clover.instr.java.JavaRecognizer.classOrInterfaceType(JavaRecognizer.java:1154)
      22-Dec-2016 23:45:34	        at com.atlassian.clover.instr.java.JavaRecognizer.classTypeSpec(JavaRecognizer.java:1086)
      22-Dec-2016 23:45:34	        at com.atlassian.clover.instr.java.JavaRecognizer.typeSpec(JavaRecognizer.java:1048)
      22-Dec-2016 23:45:34	        at com.atlassian.clover.instr.java.JavaRecognizer.parameterDeclaration(JavaRecognizer.java:3536)
      22-Dec-2016 23:45:34	        at com.atlassian.clover.instr.java.JavaRecognizer.parameterDeclarationList(JavaRecognizer.java:2706)
      22-Dec-2016 23:45:34	        at com.atlassian.clover.instr.java.JavaRecognizer.field(JavaRecognizer.java:2370)
      22-Dec-2016 23:45:34	        at com.atlassian.clover.instr.java.JavaRecognizer.classBlock(JavaRecognizer.java:1857)
      22-Dec-2016 23:45:34	        at com.atlassian.clover.instr.java.JavaRecognizer.classDefinition(JavaRecognizer.java:865)
      22-Dec-2016 23:45:34	        at com.atlassian.clover.instr.java.JavaRecognizer.typeDefinition2(JavaRecognizer.java:795)
      22-Dec-2016 23:45:34	        at com.atlassian.clover.instr.java.JavaRecognizer.typeDefinition(JavaRecognizer.java:648)
      22-Dec-2016 23:45:34	        at com.atlassian.clover.instr.java.JavaRecognizer.compilationUnit(JavaRecognizer.java:566)
      22-Dec-2016 23:45:34	        at com.atlassian.clover.instr.java.Instrumenter.instrument(Instrumenter.java:213)
      22-Dec-2016 23:45:34	        at com.atlassian.clover.instr.java.Instrumenter.instrument(Instrumenter.java:126)
      22-Dec-2016 23:45:34	        ... 28 more
      
      

      The code causing this is:

      @Property
      public void testFooBar(ArrayList<@From(Files.class) File> files) throws Exception {
      

       

            [CLOV-1979] com.atlassian.clover.api.CloverException: unexpected token: @ for type arguments with annoations

            Marek Parfianowicz made changes -
            Link New: This issue duplicates CLOV-1839 [ CLOV-1839 ]
            Marek Parfianowicz made changes -
            Security Original: Reporter and Atlassian Staff [ 10751 ]
            Marek Parfianowicz made changes -
            Fix Version/s New: n/a [ 56133 ]
            Resolution New: Tracked Elsewhere [ 15 ]
            Status Original: Open [ 1 ] New: Closed [ 6 ]

            Hi Stefan,

            Thank you for reporting this bug. This is a duplicate of a feature request:

            https://jira.atlassian.com/browse/CLOV-1839

            As you can see in the linked issue, I've already made some progress in it (all items marked are ready), but it still requires polishing extensive testing for side-effects and performance. But you may want to try to build Clover from a branch, if you need this.

            Marek Parfianowicz added a comment - Hi Stefan, Thank you for reporting this bug. This is a duplicate of a feature request: https://jira.atlassian.com/browse/CLOV-1839 As you can see in the linked issue, I've already made some progress in it (all items marked are ready), but it still requires polishing extensive testing for side-effects and performance. But you may want to try to build Clover from a branch, if you need this.
            Stefan Saasen (Inactive) made changes -
            Description Original: If a type argument for a parameterized type has an annotation, clover fails with the following error:

             
            New: If a type argument for a parameterized type has an annotation, clover fails with the following error:

             
            {code:java}
            22-Dec-2016 23:45:34 com.atlassian.clover.api.CloverException: ...Test.java:43:56:unexpected token: @
            22-Dec-2016 23:45:34         at com.atlassian.clover.instr.java.Instrumenter.instrument(Instrumenter.java:161)
            22-Dec-2016 23:45:34         at com.atlassian.clover.CloverInstr.execute(CloverInstr.java:76)
            22-Dec-2016 23:45:34         at com.atlassian.clover.CloverInstr.mainImpl(CloverInstr.java:54)
            22-Dec-2016 23:45:34         at com.atlassian.maven.plugin.clover.internal.instrumentation.AbstractInstrumenter.instrumentSources(AbstractInstrumenter.java:197)
            22-Dec-2016 23:45:34         at com.atlassian.maven.plugin.clover.internal.instrumentation.AbstractInstrumenter.instrument(AbstractInstrumenter.java:72)
            22-Dec-2016 23:45:34         at com.atlassian.maven.plugin.clover.CloverInstrumentInternalMojo.execute(CloverInstrumentInternalMojo.java:291)
            22-Dec-2016 23:45:34         at com.atlassian.maven.plugin.clover.CloverSetupMojo.execute(CloverSetupMojo.java:31)
            22-Dec-2016 23:45:34         at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
            22-Dec-2016 23:45:34         at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
            22-Dec-2016 23:45:34         at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
            22-Dec-2016 23:45:34         at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
            22-Dec-2016 23:45:34         at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
            22-Dec-2016 23:45:34         at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
            22-Dec-2016 23:45:34         at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
            22-Dec-2016 23:45:34         at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
            22-Dec-2016 23:45:34         at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
            22-Dec-2016 23:45:34         at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
            22-Dec-2016 23:45:34         at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
            22-Dec-2016 23:45:34         at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
            22-Dec-2016 23:45:34         at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
            22-Dec-2016 23:45:34         at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
            22-Dec-2016 23:45:34         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            22-Dec-2016 23:45:34         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
            22-Dec-2016 23:45:34         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
            22-Dec-2016 23:45:34         at java.lang.reflect.Method.invoke(Method.java:498)
            22-Dec-2016 23:45:34         at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
            22-Dec-2016 23:45:34         at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
            22-Dec-2016 23:45:34         at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
            22-Dec-2016 23:45:34         at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
            22-Dec-2016 23:45:34 Caused by: line 43:56: unexpected token: @
            22-Dec-2016 23:45:34         at com.atlassian.clover.instr.java.JavaRecognizer.typeArguments(JavaRecognizer.java:1227)
            22-Dec-2016 23:45:34         at com.atlassian.clover.instr.java.JavaRecognizer.classOrInterfaceType(JavaRecognizer.java:1154)
            22-Dec-2016 23:45:34         at com.atlassian.clover.instr.java.JavaRecognizer.classTypeSpec(JavaRecognizer.java:1086)
            22-Dec-2016 23:45:34         at com.atlassian.clover.instr.java.JavaRecognizer.typeSpec(JavaRecognizer.java:1048)
            22-Dec-2016 23:45:34         at com.atlassian.clover.instr.java.JavaRecognizer.parameterDeclaration(JavaRecognizer.java:3536)
            22-Dec-2016 23:45:34         at com.atlassian.clover.instr.java.JavaRecognizer.parameterDeclarationList(JavaRecognizer.java:2706)
            22-Dec-2016 23:45:34         at com.atlassian.clover.instr.java.JavaRecognizer.field(JavaRecognizer.java:2370)
            22-Dec-2016 23:45:34         at com.atlassian.clover.instr.java.JavaRecognizer.classBlock(JavaRecognizer.java:1857)
            22-Dec-2016 23:45:34         at com.atlassian.clover.instr.java.JavaRecognizer.classDefinition(JavaRecognizer.java:865)
            22-Dec-2016 23:45:34         at com.atlassian.clover.instr.java.JavaRecognizer.typeDefinition2(JavaRecognizer.java:795)
            22-Dec-2016 23:45:34         at com.atlassian.clover.instr.java.JavaRecognizer.typeDefinition(JavaRecognizer.java:648)
            22-Dec-2016 23:45:34         at com.atlassian.clover.instr.java.JavaRecognizer.compilationUnit(JavaRecognizer.java:566)
            22-Dec-2016 23:45:34         at com.atlassian.clover.instr.java.Instrumenter.instrument(Instrumenter.java:213)
            22-Dec-2016 23:45:34         at com.atlassian.clover.instr.java.Instrumenter.instrument(Instrumenter.java:126)
            22-Dec-2016 23:45:34         ... 28 more

            {code}

            The code causing this is:

            {code:java}
            @Property
            public void testFooBar(ArrayList<@From(Files.class) File> files) throws Exception {
            {code}
             
            Stefan Saasen (Inactive) made changes -
            Affects Version/s New: 4.1.2 [ 62198 ]
            Stefan Saasen (Inactive) made changes -
            Description New: If a type argument for a parameterized type has an annotation, clover fails with the following error:

             
            Spam Detector Bot made changes -
            Security New: Reporter and Atlassian Staff [ 10751 ]
            Stefan Saasen (Inactive) created issue -

              Unassigned Unassigned
              ssaasen Stefan Saasen (Inactive)
              Affected customers:
              0 This affects my team
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: