{"action":"created","issue":{"url":"https://api.github.com/repos/cobertura/cobertura/issues/176","repository_url":"https://api.github.com/repos/cobertura/cobertura","labels_url":"https://api.github.com/repos/cobertura/cobertura/issues/176/labels{/name}","comments_url":"https://api.github.com/repos/cobertura/cobertura/issues/176/comments","events_url":"https://api.github.com/repos/cobertura/cobertura/issues/176/events","html_url":"https://github.com/cobertura/cobertura/issues/176","id":38989398,"number":176,"title":"ParseException JavaNCSS got an error while parsing the java file","user":{"login":"mapo-job","id":5807748,"avatar_url":"https://avatars.githubusercontent.com/u/5807748?v=3","gravatar_id":"","url":"https://api.github.com/users/mapo-job","html_url":"https://github.com/mapo-job","followers_url":"https://api.github.com/users/mapo-job/followers","following_url":"https://api.github.com/users/mapo-job/following{/other_user}","gists_url":"https://api.github.com/users/mapo-job/gists{/gist_id}","starred_url":"https://api.github.com/users/mapo-job/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mapo-job/subscriptions","organizations_url":"https://api.github.com/users/mapo-job/orgs","repos_url":"https://api.github.com/users/mapo-job/repos","events_url":"https://api.github.com/users/mapo-job/events{/privacy}","received_events_url":"https://api.github.com/users/mapo-job/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/cobertura/cobertura/labels/Parsing%20Issue","name":"Parsing Issue","color":"eb6420"}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":56,"created_at":"2014-07-29T13:43:02Z","updated_at":"2016-08-24T07:49:19Z","closed_at":null,"body":"In Cobertura 2.0.3, with gradle, parsing this code gives the below error.\r\n   private ArrayList<String[][]> dUpdates = new ArrayList<String[][]>();\r\n   (...)\r\n   for (String row[][] : dUpdates) { //<-- error here\r\n\r\n:generateCoberturaReport\r\nCobertura 2.0.3 - GNU GPL License (NO WARRANTY) - See COPYRIGHT file\r\nnet.sourceforge.cobertura.javancss.parser.ParseException: Encountered \" \":\" \": \"\" at line 417, column 30.\r\nWas expecting one of:\r\n    \"[\" ...\r\n    \";\" ...\r\n    \",\" ...\r\n    \"=\" ...\r\n\r\n        at net.sourceforge.cobertura.javancss.parser.JavaParser.generateParseException(JavaParser.java:11869)\r\n        at net.sourceforge.cobertura.javancss.parser.JavaParser.jj_consume_token(JavaParser.java:11730)\r\n        at net.sourceforge.cobertura.javancss.parser.JavaParser.ForStatement(JavaParser.java:4292)\r\n        at net.sourceforge.cobertura.javancss.parser.JavaParser.Statement(JavaParser.java:3735)\r\n        at net.sourceforge.cobertura.javancss.parser.JavaParser.BlockStatement(JavaParser.java:3906)\r\n        at net.sourceforge.cobertura.javancss.parser.JavaParser.Block(JavaParser.java:3855)\r\n        at net.sourceforge.cobertura.javancss.parser.JavaParser.TryStatement(JavaParser.java:4534)\r\n        at net.sourceforge.cobertura.javancss.parser.JavaParser.Statement(JavaParser.java:3754)\r\n        at net.sourceforge.cobertura.javancss.parser.JavaParser.BlockStatement(JavaParser.java:3906)\r\n        at net.sourceforge.cobertura.javancss.parser.JavaParser.Block(JavaParser.java:3855)\r\n        at net.sourceforge.cobertura.javancss.parser.JavaParser.MethodDeclaration(JavaParser.java:1933)\r\n        at net.sourceforge.cobertura.javancss.parser.JavaParser.ClassBodyDeclaration(JavaParser.java:1012)\r\n        at net.sourceforge.cobertura.javancss.parser.JavaParser.ClassBody(JavaParser.java:874)\r\n        at net.sourceforge.cobertura.javancss.parser.JavaParser.UnmodifiedClassDeclaration(JavaParser.java:801)\r\n        at net.sourceforge.cobertura.javancss.parser.JavaParser.ClassDeclaration(JavaParser.java:706)\r\n        at net.sourceforge.cobertura.javancss.parser.JavaParser.TypeDeclaration(JavaParser.java:555)\r\n        at net.sourceforge.cobertura.javancss.parser.JavaParser.CompilationUnit(JavaParser.java:303)\r\n        at net.sourceforge.cobertura.javancss.parser.JavaParser.parse(JavaParser.java:100)\r\n        at net.sourceforge.cobertura.javancss.Javancss._measureSource(Javancss.java:192)\r\n        at net.sourceforge.cobertura.javancss.Javancss._measureRoot(Javancss.java:268)\r\n        at net.sourceforge.cobertura.javancss.Javancss.<init>(Javancss.java:346)\r\n        at net.sourceforge.cobertura.reporting.ComplexityCalculator.getAccumlatedCCNForSource(ComplexityCalculator.java:105)\r\n        at net.sourceforge.cobertura.reporting.ComplexityCalculator.getAccumlatedCCNForSingleFile(ComplexityCalculator.java:143)\r\n        at net.sourceforge.cobertura.reporting.ComplexityCalculator.getCCNForSourceFileNameInternal(ComplexityCalculator.java:234)\r\n        at net.sourceforge.cobertura.reporting.ComplexityCalculator.getCCNForPackageInternal(ComplexityCalculator.java:201)\r\n        at net.sourceforge.cobertura.reporting.ComplexityCalculator.getCCNForProject(ComplexityCalculator.java:167)\r\n        at net.sourceforge.cobertura.reporting.html.HTMLReport.generateTableRowForTotal(HTMLReport.java:603)\r\n        at net.sourceforge.cobertura.reporting.html.HTMLReport.generateOverview(HTMLReport.java:287)\r\n        at net.sourceforge.cobertura.reporting.html.HTMLReport.generateOverviews(HTMLReport.java:228)\r\n        at net.sourceforge.cobertura.reporting.html.HTMLReport.<init>(HTMLReport.java:71)\r\n        at net.sourceforge.cobertura.reporting.Main.parseArguments(Main.java:103)\r\n        at net.sourceforge.cobertura.reporting.Main.main(Main.java:169)\r\n        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)\r\n        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n        at java.lang.reflect.Method.invoke(Method.java:606)\r\n        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)\r\n        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n        at java.lang.reflect.Method.invoke(Method.java:606)\r\n        at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite$PojoCachedMethodSite.invoke(PojoMetaMethodSite.java:189)\r\n        at org.codehaus.groovy.runtime.callsite.PojoMetaMethodSite.call(PojoMetaMethodSite.java:53)\r\n        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:120)\r\n        at net.saliman.gradle.plugin.cobertura.CoberturaRunner.executeCobertura(CoberturaRunner.groovy:199)\r\n        at net.saliman.gradle.plugin.cobertura.CoberturaRunner.this$2$executeCobertura(CoberturaRunner.groovy)\r\n        at net.saliman.gradle.plugin.cobertura.CoberturaRunner$this$2$executeCobertura.callCurrent(Unknown Source)\r\n        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:46)\r\n        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:133)\r\n        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:153)\r\n        at net.saliman.gradle.plugin.cobertura.CoberturaRunner.generateCoverageReport(CoberturaRunner.groovy:100)\r\n        at net.saliman.gradle.plugin.cobertura.CoberturaRunner$generateCoverageReport.call(Unknown Source)\r\n        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:42)\r\n        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:108)\r\n        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:128)\r\n        at net.saliman.gradle.plugin.cobertura.GenerateReportTask.generateReports(GenerateReportTask.groovy:54)\r\n        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)\r\n        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n        at java.lang.reflect.Method.invoke(Method.java:606)\r\n        at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:63)\r\n        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.doExecute(AnnotationProcessingTaskFactory.java:219)\r\n        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:212)\r\n        at org.gradle.api.internal.project.taskfactory.AnnotationProcessingTaskFactory$StandardTaskAction.execute(AnnotationProcessingTaskFactory.java:201)\r\n        at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:533)\r\n        at org.gradle.api.internal.AbstractTask$TaskActionWrapper.execute(AbstractTask.java:516)\r\n        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:80)\r\n        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:61)\r\n        at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:46)\r\n        at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:35)\r\n        at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:64)\r\n        at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)\r\n        at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:42)\r\n        at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)\r\n        at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:53)\r\n        at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)\r\n        at org.gradle.api.internal.AbstractTask.executeWithoutThrowingTaskFailure(AbstractTask.java:289)\r\n        at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.executeTask(AbstractTaskPlanExecutor.java:79)\r\n        at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:63)\r\n        at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:51)\r\n        at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:23)\r\n        at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:86)\r\n        at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:29)\r\n        at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:61)\r\n        at org.gradle.execution.DefaultBuildExecuter.access$200(DefaultBuildExecuter.java:23)\r\n        at org.gradle.execution.DefaultBuildExecuter$2.proceed(DefaultBuildExecuter.java:67)\r\n        at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)\r\n        at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:61)\r\n        at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:54)\r\n        at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:166)\r\n        at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:113)\r\n        at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:81)\r\n        at org.gradle.launcher.exec.InProcessBuildActionExecuter$DefaultBuildController.run(InProcessBuildActionExecuter.java:64)\r\n        at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:33)\r\n        at org.gradle.launcher.cli.ExecuteBuildAction.run(ExecuteBuildAction.java:24)\r\n        at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:35)\r\n        at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:45)\r\n        at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:34)\r\n        at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:125)\r\n        at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:42)\r\n        at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:125)\r\n        at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:24)\r\n        at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:125)\r\n        at org.gradle.launcher.daemon.server.exec.StartStopIfBuildAndStop.execute(StartStopIfBuildAndStop.java:33)\r\n        at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:125)\r\n        at org.gradle.launcher.daemon.server.exec.ReturnResult.execute(ReturnResult.java:34)\r\n        at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:125)\r\n        at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:71)\r\n        at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:69)\r\n        at org.gradle.util.Swapper.swap(Swapper.java:38)\r\n        at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:69)\r\n        at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:125)\r\n        at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:60)\r\n        at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:34)\r\n        at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:125)\r\n        at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:60)\r\n        at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:34)\r\n        at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:125)\r\n        at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:45)\r\n        at org.gradle.launcher.daemon.server.DaemonStateCoordinator.runCommand(DaemonStateCoordinator.java:186)\r\n        at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy.doBuild(StartBuildOrRespondWithBusy.java:49)\r\n        at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:34)\r\n        at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:125)\r\n        at org.gradle.launcher.daemon.server.exec.HandleStop.execute(HandleStop.java:36)\r\n        at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:125)\r\n        at org.gradle.launcher.daemon.server.exec.DaemonHygieneAction.execute(DaemonHygieneAction.java:39)\r\n        at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:125)\r\n        at org.gradle.launcher.daemon.server.exec.CatchAndForwardDaemonFailure.execute(CatchAndForwardDaemonFailure.java:32)\r\n        at org.gradle.launcher.daemon.server.exec.DaemonCommandExecution.proceed(DaemonCommandExecution.java:125)\r\n        at org.gradle.launcher.daemon.server.exec.DefaultDaemonCommandExecuter.executeCommand(DefaultDaemonCommandExecuter.java:51)\r\n        at org.gradle.launcher.daemon.server.DefaultIncomingConnectionHandler$ConnectionWorker.handleCommand(DefaultIncomingConnectionHandler.java:155)\r\n        at org.gradle.launcher.daemon.server.DefaultIncomingConnectionHandler$ConnectionWorker.receiveAndHandleCommand(DefaultIncomingConnectionHandler.java:128)\r\n        at org.gradle.launcher.daemon.server.DefaultIncomingConnectionHandler$ConnectionWorker.run(DefaultIncomingConnectionHandler.java:116)\r\n        at org.gradle.internal.concurrent.DefaultExecutorFactory$StoppableExecutorImpl$1.run(DefaultExecutorFactory.java:64)\r\n        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)\r\n        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)\r\n        at java.lang.Thread.run(Thread.java:724)\r\nJavaNCSS got an error while parsing the java file C:\\(...)\\SyncTaskData.java\r\nParseException in STDINronize.getTarget(ColumnMapping.SWITCH_CODE) != null)\r\nLast useful checkpoint: \"(...).SyncTaskData.update(Tuple,PreparedStatement,PreparedStatement,PreparedStatement)\"\r\nEncountered \" \":\" \": \"\" at line 417, column 30\r\nWas expecting one of:\r\n    \"[\" ...\r\n    \";\" ...\r\n    \",\" ...\r\n    \"=\" ...\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/cobertura/cobertura/issues/comments/241984506","html_url":"https://github.com/cobertura/cobertura/issues/176#issuecomment-241984506","issue_url":"https://api.github.com/repos/cobertura/cobertura/issues/176","id":241984506,"user":{"login":"tveon","id":1783321,"avatar_url":"https://avatars.githubusercontent.com/u/1783321?v=3","gravatar_id":"","url":"https://api.github.com/users/tveon","html_url":"https://github.com/tveon","followers_url":"https://api.github.com/users/tveon/followers","following_url":"https://api.github.com/users/tveon/following{/other_user}","gists_url":"https://api.github.com/users/tveon/gists{/gist_id}","starred_url":"https://api.github.com/users/tveon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tveon/subscriptions","organizations_url":"https://api.github.com/users/tveon/orgs","repos_url":"https://api.github.com/users/tveon/repos","events_url":"https://api.github.com/users/tveon/events{/privacy}","received_events_url":"https://api.github.com/users/tveon/received_events","type":"User","site_admin":false},"created_at":"2016-08-24T07:49:19Z","updated_at":"2016-08-24T07:49:19Z","body":"+1 - still present in cobertura version 2.7. Just got bitten by it when migrating a project to Java 8..."}}
{"actor":{"display_login":"tveon"}}