-
-
Notifications
You must be signed in to change notification settings - Fork 822
Closed
Description
Expected Behavior
Configuration without migration entry in changelog should work in next minor version.
Observed Behavior
Caused by: java.lang.IllegalStateException: Value "[equals]" set for config parameter "style > ReturnCount > excludedFunctions" is not of required type String.
When using --all-rules cli flag.
Unexpected error while running detekt analysis
java.lang.IllegalStateException: Analyzing <file.kt> led to an exception.
Location: io.gitlab.arturbosch.detekt.core.config.BaseConfigKt.valueOrDefaultInternal(BaseConfig.kt:30)
The original exception message was: Value "[equals]" set for config parameter "style > ReturnCount > excludedFunctions" is not of required type String.
Running detekt '1.22.0-RC1' on Java '17.0.4+7-b469.53' on OS 'Linux'
If the exception message does not help, please feel free to create an issue on our GitHub page.
at io.gitlab.arturbosch.detekt.core.AnalyzerKt.throwIllegalStateException(Analyzer.kt:184)
at io.gitlab.arturbosch.detekt.core.AnalyzerKt.access$throwIllegalStateException(Analyzer.kt:1)
at io.gitlab.arturbosch.detekt.core.Analyzer.runSync(Analyzer.kt:74)
at io.gitlab.arturbosch.detekt.core.Analyzer.run(Analyzer.kt:53)
at io.gitlab.arturbosch.detekt.core.tooling.Lifecycle$analyze$result$1.invoke(Lifecycle.kt:47)
at io.gitlab.arturbosch.detekt.core.tooling.Lifecycle$analyze$result$1.invoke(Lifecycle.kt:44)
at io.gitlab.arturbosch.detekt.core.util.PerformanceMonitor.measure(PerformanceMonitor.kt:42)
at io.gitlab.arturbosch.detekt.core.tooling.Lifecycle$DefaultImpls.measure(Lifecycle.kt:34)
at io.gitlab.arturbosch.detekt.core.tooling.Lifecycle$DefaultImpls.analyze(Lifecycle.kt:44)
at io.gitlab.arturbosch.detekt.core.tooling.DefaultLifecycle.analyze(Lifecycle.kt:61)
at io.gitlab.arturbosch.detekt.core.tooling.AnalysisFacade$runAnalysis$1.invoke(AnalysisFacade.kt:48)
at io.gitlab.arturbosch.detekt.core.tooling.AnalysisFacade$runAnalysis$1.invoke(AnalysisFacade.kt:47)
at io.gitlab.arturbosch.detekt.core.tooling.ProcessingSpecSettingsBridgeKt.withSettings(ProcessingSpecSettingsBridge.kt:26)
at io.gitlab.arturbosch.detekt.core.tooling.AnalysisFacade.runAnalysis$detekt_core(AnalysisFacade.kt:47)
at io.gitlab.arturbosch.detekt.core.tooling.AnalysisFacade.run(AnalysisFacade.kt:33)
at io.gitlab.arturbosch.detekt.idea.ConfiguredService.execute(ConfiguredService.kt:140)
at io.gitlab.arturbosch.detekt.idea.ConfiguredService.execute(ConfiguredService.kt:117)
at io.gitlab.arturbosch.detekt.idea.DetektAnnotator.doAnnotate(DetektAnnotator.kt:39)
at io.gitlab.arturbosch.detekt.idea.DetektAnnotator.doAnnotate(DetektAnnotator.kt:19)
at com.intellij.codeInsight.daemon.impl.ExternalToolPass.doAnnotate(ExternalToolPass.java:220)
at com.intellij.codeInsight.daemon.impl.ExternalToolPass.doAnnotate(ExternalToolPass.java:214)
at com.intellij.codeInsight.daemon.impl.ExternalToolPass$1.lambda$run$0(ExternalToolPass.java:192)
at com.intellij.codeInsight.daemon.impl.ExternalToolPass.runChangeAware(ExternalToolPass.java:289)
at com.intellij.codeInsight.daemon.impl.ExternalToolPass$1.lambda$run$2(ExternalToolPass.java:192)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:188)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$12(CoreProgressManager.java:608)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:683)
at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:639)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:607)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:60)
at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:175)
at com.intellij.openapi.progress.util.BackgroundTaskUtil.runUnderDisposeAwareIndicator(BackgroundTaskUtil.java:365)
at com.intellij.openapi.progress.util.BackgroundTaskUtil.runUnderDisposeAwareIndicator(BackgroundTaskUtil.java:343)
at com.intellij.codeInsight.daemon.impl.ExternalToolPass$1.run(ExternalToolPass.java:191)
at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:332)
at com.intellij.util.ui.update.MergingUpdateQueue.execute(MergingUpdateQueue.java:322)
at com.intellij.util.ui.update.MergingUpdateQueue.lambda$flush$1(MergingUpdateQueue.java:271)
at com.intellij.util.ui.update.MergingUpdateQueue.flush(MergingUpdateQueue.java:285)
at com.intellij.util.ui.update.MergingUpdateQueue.run(MergingUpdateQueue.java:240)
at com.intellij.util.concurrency.QueueProcessor.runSafely(QueueProcessor.java:241)
at com.intellij.util.Alarm$Request.runSafely(Alarm.java:388)
at com.intellij.util.Alarm$Request.run(Alarm.java:377)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at com.intellij.util.concurrency.SchedulingWrapper$MyScheduledFutureTask.run(SchedulingWrapper.java:223)
at com.intellij.util.concurrency.BoundedTaskExecutor.doRun(BoundedTaskExecutor.java:241)
at com.intellij.util.concurrency.BoundedTaskExecutor.access$200(BoundedTaskExecutor.java:31)
at com.intellij.util.concurrency.BoundedTaskExecutor$1.execute(BoundedTaskExecutor.java:214)
at com.intellij.util.ConcurrencyUtil.runUnderThreadName(ConcurrencyUtil.java:212)
at com.intellij.util.concurrency.BoundedTaskExecutor$1.run(BoundedTaskExecutor.java:203)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:702)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:699)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:699)
at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.lang.IllegalStateException: Value "[equals]" set for config parameter "style > ReturnCount > excludedFunctions" is not of required type String.
at io.gitlab.arturbosch.detekt.core.config.BaseConfigKt.valueOrDefaultInternal(BaseConfig.kt:30)
at io.gitlab.arturbosch.detekt.core.config.BaseConfigKt.valueOrDefaultInternal$default(BaseConfig.kt:11)
at io.gitlab.arturbosch.detekt.core.config.YamlConfig.valueOrDefault(YamlConfig.kt:33)
at io.gitlab.arturbosch.detekt.core.config.AllRulesConfig.valueOrDefault(AllRulesConfig.kt:19)
at io.gitlab.arturbosch.detekt.core.config.DisabledAutoCorrectConfig.valueOrDefault(DisabledAutoCorrectConfig.kt:15)
at io.gitlab.arturbosch.detekt.api.ConfigAware$DefaultImpls.valueOrDefault(ConfigAware.kt:65)
at io.gitlab.arturbosch.detekt.api.Rule.valueOrDefault(Rule.kt:20)
at io.gitlab.arturbosch.detekt.api.internal.PathFiltersKt.valueOrDefaultCommaSeparated$fallBack(PathFilters.kt:69)
at io.gitlab.arturbosch.detekt.api.internal.PathFiltersKt.valueOrDefaultCommaSeparated(PathFilters.kt:77)
at io.gitlab.arturbosch.detekt.api.ConfigPropertyKt.getListOrDefault(ConfigProperty.kt:130)
at io.gitlab.arturbosch.detekt.api.ConfigPropertyKt.getValueOrDefault(ConfigProperty.kt:115)
at io.gitlab.arturbosch.detekt.api.ConfigPropertyKt.access$getValueOrDefault(ConfigProperty.kt:1)
at io.gitlab.arturbosch.detekt.api.TransformedConfigProperty.doGetValue(ConfigProperty.kt:192)
at io.gitlab.arturbosch.detekt.api.MemoizedConfigProperty.getValue(ConfigProperty.kt:169)
at io.gitlab.arturbosch.detekt.api.MemoizedConfigProperty.getValue(ConfigProperty.kt:165)
at io.gitlab.arturbosch.detekt.rules.style.ReturnCount.getExcludedFunctions(ReturnCount.kt:63)
at io.gitlab.arturbosch.detekt.rules.style.ReturnCount.shouldBeIgnored(ReturnCount.kt:93)
at io.gitlab.arturbosch.detekt.rules.style.ReturnCount.visitNamedFunction(ReturnCount.kt:77)
at org.jetbrains.kotlin.psi.KtVisitorVoid.visitNamedFunction(KtVisitorVoid.java:491)
at org.jetbrains.kotlin.psi.KtVisitorVoid.visitNamedFunction(KtVisitorVoid.java:21)
at org.jetbrains.kotlin.psi.KtNamedFunction.accept(KtNamedFunction.java:51)
at org.jetbrains.kotlin.psi.KtElementImplStub.accept(KtElementImplStub.java:49)
at org.jetbrains.kotlin.com.intellij.psi.impl.PsiElementBase.acceptChildren(PsiElementBase.java:69)
at org.jetbrains.kotlin.psi.KtTreeVisitorVoid.visitElement(KtTreeVisitorVoid.java:25)
at org.jetbrains.kotlin.psi.KtVisitor.visitKtElement(KtVisitor.java:24)
at org.jetbrains.kotlin.psi.KtVisitorVoid.visitKtElement(KtVisitorVoid.java:25)
at org.jetbrains.kotlin.psi.KtVisitorVoid.visitKtElement(KtVisitorVoid.java:455)
at org.jetbrains.kotlin.psi.KtVisitorVoid.visitKtElement(KtVisitorVoid.java:21)
at org.jetbrains.kotlin.psi.KtVisitor.visitClassBody(KtVisitor.java:98)
at org.jetbrains.kotlin.psi.KtVisitorVoid.visitClassBody(KtVisitorVoid.java:89)
at org.jetbrains.kotlin.psi.KtVisitorVoid.visitClassBody(KtVisitorVoid.java:545)
at org.jetbrains.kotlin.psi.KtVisitorVoid.visitClassBody(KtVisitorVoid.java:21)
at org.jetbrains.kotlin.psi.KtClassBody.accept(KtClassBody.kt:38)
at org.jetbrains.kotlin.psi.KtElementImplStub.accept(KtElementImplStub.java:49)
at org.jetbrains.kotlin.com.intellij.psi.impl.PsiElementBase.acceptChildren(PsiElementBase.java:69)
at org.jetbrains.kotlin.psi.KtTreeVisitorVoid.visitElement(KtTreeVisitorVoid.java:25)
at org.jetbrains.kotlin.psi.KtVisitor.visitKtElement(KtVisitor.java:24)
at org.jetbrains.kotlin.psi.KtVisitorVoid.visitKtElement(KtVisitorVoid.java:25)
at org.jetbrains.kotlin.psi.KtVisitorVoid.visitKtElement(KtVisitorVoid.java:455)
at org.jetbrains.kotlin.psi.KtVisitorVoid.visitKtElement(KtVisitorVoid.java:21)
at org.jetbrains.kotlin.psi.KtVisitor.visitExpression(KtVisitor.java:186)
at org.jetbrains.kotlin.psi.KtVisitorVoid.visitExpression(KtVisitorVoid.java:173)
at org.jetbrains.kotlin.psi.KtVisitorVoid.visitExpression(KtVisitorVoid.java:667)
at org.jetbrains.kotlin.psi.KtVisitorVoid.visitExpression(KtVisitorVoid.java:21)
at org.jetbrains.kotlin.psi.KtVisitor.visitDeclaration(KtVisitor.java:29)
at org.jetbrains.kotlin.psi.KtVisitorVoid.visitDeclaration(KtVisitorVoid.java:29)
at org.jetbrains.kotlin.psi.KtVisitorVoid.visitDeclaration(KtVisitorVoid.java:461)
at org.jetbrains.kotlin.psi.KtVisitorVoid.visitDeclaration(KtVisitorVoid.java:21)
at org.jetbrains.kotlin.psi.KtVisitor.visitNamedDeclaration(KtVisitor.java:406)
at org.jetbrains.kotlin.psi.KtVisitorVoid.visitNamedDeclaration(KtVisitorVoid.java:385)
at org.jetbrains.kotlin.psi.KtVisitorVoid.visitNamedDeclaration(KtVisitorVoid.java:973)
at org.jetbrains.kotlin.psi.KtVisitorVoid.visitNamedDeclaration(KtVisitorVoid.java:21)
at org.jetbrains.kotlin.psi.KtVisitor.visitClassOrObject(KtVisitor.java:41)
at org.jetbrains.kotlin.psi.KtVisitorVoid.visitClassOrObject(KtVisitorVoid.java:37)
at org.jetbrains.kotlin.psi.KtVisitorVoid.visitClassOrObject(KtVisitorVoid.java:473)
at org.jetbrains.kotlin.psi.KtVisitorVoid.visitClassOrObject(KtVisitorVoid.java:21)
at org.jetbrains.kotlin.psi.KtVisitor.visitClass(KtVisitor.java:33)
at org.jetbrains.kotlin.psi.KtVisitorVoid.visitClass(KtVisitorVoid.java:33)
at org.jetbrains.kotlin.psi.KtVisitorVoid.visitClass(KtVisitorVoid.java:467)
at org.jetbrains.kotlin.psi.KtVisitorVoid.visitClass(KtVisitorVoid.java:21)
at org.jetbrains.kotlin.psi.KtClass.accept(KtClass.kt:20)
at org.jetbrains.kotlin.psi.KtElementImplStub.accept(KtElementImplStub.java:49)
at org.jetbrains.kotlin.com.intellij.psi.impl.source.tree.SharedImplUtil.acceptChildren(SharedImplUtil.java:185)
at org.jetbrains.kotlin.com.intellij.psi.impl.source.PsiFileImpl.acceptChildren(PsiFileImpl.java:754)
at org.jetbrains.kotlin.psi.KtTreeVisitorVoid.visitElement(KtTreeVisitorVoid.java:25)
at org.jetbrains.kotlin.com.intellij.psi.PsiElementVisitor.visitFile(PsiElementVisitor.java:35)
at org.jetbrains.kotlin.psi.KtVisitor.visitKtFile(KtVisitor.java:73)
at org.jetbrains.kotlin.psi.KtVisitorVoid.visitKtFile(KtVisitorVoid.java:69)
at org.jetbrains.kotlin.psi.KtVisitorVoid.visitKtFile(KtVisitorVoid.java:521)
at org.jetbrains.kotlin.psi.KtVisitorVoid.visitKtFile(KtVisitorVoid.java:21)
at org.jetbrains.kotlin.psi.KtFile.accept(KtFile.kt:249)
at org.jetbrains.kotlin.psi.KtFile.accept(KtFile.kt:236)
at io.gitlab.arturbosch.detekt.api.BaseRule.visit(BaseRule.kt:56)
at io.gitlab.arturbosch.detekt.api.BaseRule.visitFile(BaseRule.kt:46)
at io.gitlab.arturbosch.detekt.core.Analyzer.analyze$executeRules(Analyzer.kt:130)
at io.gitlab.arturbosch.detekt.core.Analyzer.analyze(Analyzer.kt:142)
at io.gitlab.arturbosch.detekt.core.Analyzer.runSync(Analyzer.kt:73)
... 54 more
Steps to Reproduce
# config.yaml
ReturnCount:
active: true
max: 2
excludedFunctions: 'equals'
excludeLabeled: false
excludeReturnFromLambda: true
excludeGuardClauses: falseCLI
java -jar detekt-cli/build/libs/detekt-cli-1.22.0-RC1-all.jar -c ~/dotfiles/detekt/detekt.yml -i detekt-cli/build/resources/test/cases/Poko.kt --all-rules
IJ plugin
- Build current IJ plugin main branch.
- Install plugin, enable all-rules and set the config
- Go to any file
Context
Testing 1.22.0-RC1
Your Environment
- Version of detekt used: 1.22.0-RC1
- Version of Gradle used (if applicable): 7.5.1
- Operating System and version: Fedora Linux 37