Skip to content

Commit 188f41f

Browse files
committed
Only generate code if codegen is enabled
1 parent 8b3eafc commit 188f41f

File tree

5 files changed

+10
-3
lines changed

5 files changed

+10
-3
lines changed

server/src/main/kotlin/org/javacs/kt/CompilerClassPath.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import java.nio.file.Path
1818
class CompilerClassPath(
1919
private val config: CompilerConfiguration,
2020
private val scriptsConfig: ScriptsConfiguration,
21+
private val codegenConfig: CodegenConfiguration,
2122
private val databaseService: DatabaseService
2223
) : Closeable {
2324
val workspaceRoots = mutableSetOf<Path>()
@@ -33,6 +34,7 @@ class CompilerClassPath(
3334
classPath.map { it.compiledJar }.toSet(),
3435
buildScriptClassPath,
3536
scriptsConfig,
37+
codegenConfig,
3638
outputDirectory
3739
)
3840
private set
@@ -87,6 +89,7 @@ class CompilerClassPath(
8789
classPath.map { it.compiledJar }.toSet(),
8890
buildScriptClassPath,
8991
scriptsConfig,
92+
codegenConfig,
9093
outputDirectory
9194
)
9295
updateCompilerConfiguration()

server/src/main/kotlin/org/javacs/kt/KotlinLanguageServer.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ class KotlinLanguageServer(
2626
val config: Configuration = Configuration()
2727
) : LanguageServer, LanguageClientAware, Closeable {
2828
val databaseService = DatabaseService()
29-
val classPath = CompilerClassPath(config.compiler, config.scripts, databaseService)
29+
val classPath = CompilerClassPath(config.compiler, config.scripts, config.codegen, databaseService)
3030

3131
private val tempDirectory = TemporaryDirectory()
3232
private val uriContentProvider = URIContentProvider(ClassContentProvider(config.externalSources, classPath, tempDirectory, CompositeSourceArchiveProvider(JdkSourceArchiveProvider(classPath), ClassPathSourceArchiveProvider(classPath))))

server/src/main/kotlin/org/javacs/kt/compiler/Compiler.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ import kotlin.script.experimental.host.configurationDependencies
5757
import kotlin.script.experimental.jvm.defaultJvmScriptingHostConfiguration
5858
import kotlin.script.experimental.jvm.JvmDependency
5959
import org.javacs.kt.LOG
60+
import org.javacs.kt.CodegenConfiguration
6061
import org.javacs.kt.CompilerConfiguration
6162
import org.javacs.kt.ScriptsConfiguration
6263
import org.javacs.kt.util.KotlinLSException
@@ -460,6 +461,7 @@ class Compiler(
460461
classPath: Set<Path>,
461462
buildScriptClassPath: Set<Path> = emptySet(),
462463
scriptsConfig: ScriptsConfiguration,
464+
private val codegenConfig: CodegenConfiguration,
463465
private val outputDirectory: File,
464466
) : Closeable {
465467
private var closed = false
@@ -584,7 +586,7 @@ class Compiler(
584586
}
585587

586588
fun generateCode(module: ModuleDescriptor, bindingContext: BindingContext, files: Collection<KtFile>) {
587-
outputDirectory.let {
589+
outputDirectory.takeIf { codegenConfig.enabled }?.let {
588590
compileLock.withLock {
589591
val compileEnv = compileEnvironmentFor(CompilationKind.DEFAULT)
590592
val state = GenerationState.Builder(

server/src/test/kotlin/org/javacs/kt/CompiledFileTest.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,13 @@ class CompiledFileTest {
3030
javaSourcePath = setOf(),
3131
classPath = setOf(),
3232
scriptsConfig = ScriptsConfiguration(),
33+
codegenConfig = CodegenConfiguration(),
3334
outputDirectory = outputDirectory
3435
).use { compiler ->
3536
val file = testResourcesRoot().resolve("compiledFile/CompiledFileExample.kt")
3637
val content = Files.readAllLines(file).joinToString("\n")
3738
val parse = compiler.createKtFile(content, file)
38-
val classPath = CompilerClassPath(CompilerConfiguration(), ScriptsConfiguration(), DatabaseService())
39+
val classPath = CompilerClassPath(CompilerConfiguration(), ScriptsConfiguration(), CodegenConfiguration(), DatabaseService())
3940
val sourcePath = listOf(parse)
4041
val (context, container) = compiler.compileKtFiles(sourcePath, sourcePath)
4142
CompiledFile(content, parse, context, container, sourcePath, classPath)

server/src/test/kotlin/org/javacs/kt/CompilerTest.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ private class FileToEdit {
3333
javaSourcePath = setOf(),
3434
classPath = setOf(),
3535
scriptsConfig = ScriptsConfiguration(),
36+
codegenConfig = CodegenConfiguration(),
3637
outputDirectory = outputDirectory
3738
)
3839
}

0 commit comments

Comments
 (0)