diff --git a/compiler/cli/cli-base/src/org/jetbrains/kotlin/cli/jvm/compiler/DummyJavaFileCodeStyleFacadeFactory.kt b/compiler/cli/cli-base/src/org/jetbrains/kotlin/cli/jvm/compiler/DummyJavaFileCodeStyleFacadeFactory.kt new file mode 100644 index 00000000000..781a3acb3fc --- /dev/null +++ b/compiler/cli/cli-base/src/org/jetbrains/kotlin/cli/jvm/compiler/DummyJavaFileCodeStyleFacadeFactory.kt @@ -0,0 +1,31 @@ +/* + * Copyright 2010-2023 JetBrains s.r.o. and Kotlin Programming Language contributors. + * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file. + */ + +package org.jetbrains.kotlin.cli.jvm.compiler + +import com.intellij.lang.Language +import com.intellij.psi.PsiFile +import com.intellij.psi.codeStyle.CodeStyleSettingsFacade +import com.intellij.psi.codeStyle.JavaFileCodeStyleFacade +import com.intellij.psi.codeStyle.JavaFileCodeStyleFacadeFactory + +internal class DummyJavaFileCodeStyleFacadeFactory : JavaFileCodeStyleFacadeFactory { + private class DummyJavaFileCodeStyleFacade : JavaFileCodeStyleFacade { + override fun getNamesCountToUseImportOnDemand(): Int = 0 + override fun isToImportOnDemand(qualifiedName: String): Boolean = false + override fun useFQClassNames(): Boolean = false + override fun isJavaDocLeadingAsterisksEnabled(): Boolean = false + override fun isGenerateFinalParameters(): Boolean = false + override fun isGenerateFinalLocals(): Boolean = false + override fun withLanguage(language: Language): CodeStyleSettingsFacade = DummyJavaFileCodeStyleFacade() + override fun getTabSize(): Int = 4 + override fun getIndentSize(): Int = 4 + override fun isSpaceBeforeComma(): Boolean = false + override fun isSpaceAfterComma(): Boolean = false + override fun isSpaceAroundAssignmentOperators(): Boolean = false + } + + override fun createFacade(psiFile: PsiFile): JavaFileCodeStyleFacade = DummyJavaFileCodeStyleFacade() +} \ No newline at end of file diff --git a/compiler/cli/cli-base/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinCoreApplicationEnvironment.kt b/compiler/cli/cli-base/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinCoreApplicationEnvironment.kt index 6aa0cb03ba5..52686ab29ed 100644 --- a/compiler/cli/cli-base/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinCoreApplicationEnvironment.kt +++ b/compiler/cli/cli-base/src/org/jetbrains/kotlin/cli/jvm/compiler/KotlinCoreApplicationEnvironment.kt @@ -6,6 +6,8 @@ package org.jetbrains.kotlin.cli.jvm.compiler import com.intellij.DynamicBundle import com.intellij.codeInsight.ContainerProvider +import com.intellij.codeInsight.folding.JavaCodeFoldingSettings +import com.intellij.codeInsight.folding.impl.JavaCodeFoldingSettingsBase import com.intellij.codeInsight.runner.JavaMainMethodProvider import com.intellij.core.JavaCoreApplicationEnvironment import com.intellij.ide.highlighter.JavaClassFileType @@ -16,6 +18,8 @@ import com.intellij.openapi.util.Disposer import com.intellij.openapi.vfs.VirtualFileSystem import com.intellij.psi.FileContextProvider import com.intellij.psi.augment.PsiAugmentProvider +import com.intellij.psi.codeStyle.JavaFileCodeStyleFacade +import com.intellij.psi.codeStyle.JavaFileCodeStyleFacadeFactory import com.intellij.psi.impl.smartPointers.SmartPointerAnchorProvider import com.intellij.psi.meta.MetaDataContributor import org.jetbrains.kotlin.cli.jvm.compiler.IdeaExtensionPoints.registerVersionSpecificAppExtensionPoints @@ -28,6 +32,7 @@ class KotlinCoreApplicationEnvironment private constructor( JavaCoreApplicationEnvironment(parentDisposable, unitTestMode) { init { + registerApplicationService(JavaFileCodeStyleFacadeFactory::class.java, DummyJavaFileCodeStyleFacadeFactory()) registerFileType(JavaClassFileType.INSTANCE, "sig"); }