首页 > 其他分享 >sonar扫描kotlin 代码报错 Cannot analyse 'XXXXServiceImpl.kt' with 'KtChecksVisitor': n

sonar扫描kotlin 代码报错 Cannot analyse 'XXXXServiceImpl.kt' with 'KtChecksVisitor': n

时间:2023-04-07 15:48:29浏览次数:46  
标签:KtChecksVisitor java kotlin analyse 报错 kt sonar org sonarsource

  • 问题现象:
// sonar 扫描控制台报错,有可能会导致代码覆盖率等指标不准确
16:56:47.623 ERROR: Cannot analyse 'XXXXServiceImpl.kt' with 'KtChecksVisitor': null java.lang.NullPointerException: null at org.sonarsource.kotlin.checks.ConditionalStructure.<init>(AbstractBranchDuplication.kt:62) at org.sonarsource.kotlin.checks.AbstractBranchDuplication.visitIfExpression(AbstractBranchDuplication.kt:40) at org.sonarsource.kotlin.checks.AbstractBranchDuplication.visitIfExpression(AbstractBranchDuplication.kt:29) at org.jetbrains.kotlin.psi.KtIfExpression.accept(KtIfExpression.java:33) at org.sonarsource.kotlin.visiting.KtChecksVisitor$visit$1$1$1.invoke(KtChecksVisitor.kt:39) at org.sonarsource.kotlin.visiting.KtChecksVisitor$visit$1$1$1.invoke(KtChecksVisitor.kt:34) at org.sonarsource.kotlin.plugin.MetricsUtilsKt.measureDuration(MetricsUtils.kt:26) at org.sonarsource.kotlin.visiting.KtChecksVisitor.visit(KtChecksVisitor.kt:34) at org.sonarsource.kotlin.visiting.KotlinFileVisitor.scan(KotlinFileVisitor.kt:28) at org.sonarsource.kotlin.plugin.KotlinSensor$visitFile$1.invoke(KotlinSensor.kt:230) at org.sonarsource.kotlin.plugin.KotlinSensor$visitFile$1.invoke(KotlinSensor.kt:229) at org.sonarsource.kotlin.plugin.MetricsUtilsKt.measureDuration(MetricsUtils.kt:26) at org.sonarsource.kotlin.plugin.KotlinSensor.visitFile(KotlinSensor.kt:229) at org.sonarsource.kotlin.plugin.KotlinSensor.analyseFile(KotlinSensor.kt:217) at org.sonarsource.kotlin.plugin.KotlinSensor.access$analyseFile(KotlinSensor.kt:64) at org.sonarsource.kotlin.plugin.KotlinSensor$analyseFiles$1.invoke(KotlinSensor.kt:192) at org.sonarsource.kotlin.plugin.KotlinSensor$analyseFiles$1.invoke(KotlinSensor.kt:191) at org.sonarsource.kotlin.plugin.MetricsUtilsKt.measureDuration(MetricsUtils.kt:26) at org.sonarsource.kotlin.plugin.KotlinSensor.analyseFiles(KotlinSensor.kt:191) at org.sonarsource.kotlin.plugin.KotlinSensor.execute(KotlinSensor.kt:119) at org.sonar.scanner.sensor.AbstractSensorWrapper.analyse(AbstractSensorWrapper.java:64) at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:88) at org.sonar.scanner.sensor.ModuleSensorsExecutor.lambda$execute$1(ModuleSensorsExecutor.java:61) at org.sonar.scanner.sensor.ModuleSensorsExecutor.withModuleStrategy(ModuleSensorsExecutor.java:79) at org.sonar.scanner.sensor.ModuleSensorsExecutor.execute(ModuleSensorsExecutor.java:61) at org.sonar.scanner.scan.SpringModuleScanContainer.doAfterStart(SpringModuleScanContainer.java:82) at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:188) at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:167) at org.sonar.scanner.scan.SpringProjectScanContainer.scan(SpringProjectScanContainer.java:403) at org.sonar.scanner.scan.SpringProjectScanContainer.scanRecursively(SpringProjectScanContainer.java:399) at org.sonar.scanner.scan.SpringProjectScanContainer.doAfterStart(SpringProjectScanContainer.java:368) at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:188) at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:167) at org.sonar.scanner.bootstrap.SpringGlobalContainer.doAfterStart(SpringGlobalContainer.java:137) at org.sonar.core.platform.SpringComponentContainer.startComponents(SpringComponentContainer.java:188) at org.sonar.core.platform.SpringComponentContainer.execute(SpringComponentContainer.java:167) at org.sonar.batch.bootstrapper.Batch.doExecute(Batch.java:72) at org.sonar.batch.bootstrapper.Batch.execute(Batch.java:66) at org.sonarsource.scanner.api.internal.batch.BatchIsolatedLauncher.execute(BatchIsolatedLauncher.java:46) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.sonarsource.scanner.api.internal.IsolatedLauncherProxy.invoke(IsolatedLauncherProxy.java:60) at com.sun.proxy.$Proxy0.execute(Unknown Source) at org.sonarsource.scanner.api.EmbeddedScanner.doExecute(EmbeddedScanner.java:189) at org.sonarsource.scanner.api.EmbeddedScanner.execute(EmbeddedScanner.java:138) at org.sonarsource.scanner.cli.Main.execute(Main.java:112) at org.sonarsource.scanner.cli.Main.execute(Main.java:75) at org.sonarsource.scanner.cli.Main.main(Main.java:61)
  • 问题原因分析:
 // 问题代码片段
override fun xxxxTravel(xxx: XXXDTO) { if (xxx.type == "1" || xxx.type == "2" || xxx.type == "3" || xxx.type == "4" ) else { return } }
// sonar扫描 识别不了 if(xx)else{} 语法
// sonar kotlin源码
// 解析条件分支,ifTree,这个ifTree是null

 

  • 问题修复
override fun xxxxTravel(xxx: XXXDTO) {
        val types = listOf("1", "2", "3", "4")
        if (!types.contains(xxx.type)) {
            return
        }
    }

 

标签:KtChecksVisitor,java,kotlin,analyse,报错,kt,sonar,org,sonarsource
From: https://www.cnblogs.com/start-fxw/p/17296364.html

相关文章

  • 【IDEA】IDEA打包时clean报错Failed to delete......
    现象:控制台报Failedtocleanproject:Failedtodelete原因:target文件可能时编译的文件被其他程序占用,导致资源无法回收,网络上找到的解决办法,在此做一下记录。解决方案:1.在开始搜索框中输入“资源监视器”----切换到CPU页面-----在关联的句柄的输入框中----输入target,回车,就能找......
  • postman安装报错System.IO.DirectoryNotFoundException: 未能找到路径
    报这个错误   解决方案:1.在C:\Users\Administrator\AppData\Local\Postman\packages目录下找到Postman-8.0.8-full.nupkg文件,更名为Postman-8.0.8-full.zip,并解压到当前文件夹,如下图:  2.删除桌面postman快捷图标,发送C:\Users\Administrator\AppData\Local\Postman......
  • vcenter的一个报错“数据存储与数据中心具有相同的url”
     解决方案:1、虚拟机应该不是全新安装的,尝试新安装一个虚拟机,试试看2、应该是主机数据中心有重复,我重新创建了个数据中心,在另一个数据中心,可以将此主机进行添加!我感觉应该是主机所在的数据中心有数据重复了,也就是那个url。3、原来添加过这个节点,如果该vc里注册过模版,就会保......
  • ARM账号注册报错解决方案
    为了下载一些文件,最近需要注册一个arm官网的账号。注册归注册,在登录时需要updateprofile。更新就更新呗,填一些却发生了报错:Theclaimsexchange'Salesforce-UserWriteUsingEmail'specifiedinstep'14'returnedHTTPerrorresponsewithCode'BadRequest'andReason'Ba......
  • 报错:‘VUE-CLI-SERVICE‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。
    启动前端的项目,命输入npmrundev时,报错:'vue-cli-service'不是内部或外部命令,也不是可运行的程序或批处理文件。如图:1、管理员身份打开 2.输入set-ExecutionPolicyRemoteSigned 3、选择A4、Pycharm-Terminal执行命令:npminstall需要安装一会儿,稍安勿躁,安装完成......
  • tnsping 报错TNS-12545
     使用tnsping配置好的tnsnams.ora中的别名,出现TNS-12545错误,通过网上查找资料,经过自己的分析结果如下:是由于在配置tnsnams.ora连接的时候host填写的主机名称,解决这种方法有两种:1、把host修改成主机ip。2、配置hosts文件在文件中添加ip对应的主机名称。以上两种方法格有利弊,可......
  • 自增ID相同时报错: Database operation expected to affect 1 row(s) but actually aff
    数据库操作预计会影响1行,但实际上影响了2行。自加载实体以来,数据可能已被修改或删除。有关理解和处理乐观并发异常的信息,请参阅http://go.microsoft.com/fwlink/?LinkId=527962。项目场景:使用EF进行数据修改并保存_dbContext.SaveChanges();的时候出现错误问题描述:在EF里......
  • docker启动报错the backing xfs filesystem is formatted without d_type support
    WARNING:overlay2:thebackingxfsfilesystemisformattedwithoutd_typesupport,whichleadstoincorrectbehavior.Reformatthefilesystemwithftype=1toenabled_typesupport.Runningwithoutd_typesupportwillnotbesupportedinfu......
  • 项目中没有依赖Kotlin,结果报错Kotlin版本问题
    ​ 背景:使用intellij-idea工具,springboot项目,使用的maven问题:项目中没有依赖Kotlin,结果报错Kotlin版本问题,如下Kotlin:ModulewascompiledwithanincompatibleversionofKotlin.Thebinaryversionofitsmetadatais1.7.1,expectedversionis1.1.15.解决方案:......
  • 建模copy时报错[lsFrozen Field is not found in the CDO xxxxChanges] 的解决方法
    报错如图  日志报错如下  根据日志内容查找问题原因:由于SetIsFrozen逻辑导致异常。解决办法:重写Maint的SaveAs方法,去掉SetIsFrozen逻辑。  ......