Make CompilerSettings open to add listeners on IJ side
Workspace Model will return a copy of CompilerSettings instead of reference to the original one. Thats why we need to add listeners on it on IJ side
Relates to KTIJ-24647
(cherry picked from commit ea85b30f8827f7264197ad20297970484c94b616)
diff --git a/jps/jps-common/src/org/jetbrains/kotlin/config/CompilerSettings.kt b/jps/jps-common/src/org/jetbrains/kotlin/config/CompilerSettings.kt
index e301c73..49e8cce 100644
--- a/jps/jps-common/src/org/jetbrains/kotlin/config/CompilerSettings.kt
+++ b/jps/jps-common/src/org/jetbrains/kotlin/config/CompilerSettings.kt
@@ -19,28 +19,28 @@
import com.intellij.openapi.util.text.StringUtil
import org.jetbrains.kotlin.cli.common.arguments.Freezable
-class CompilerSettings : Freezable() {
- var additionalArguments: String = DEFAULT_ADDITIONAL_ARGUMENTS
+open class CompilerSettings : Freezable() {
+ open var additionalArguments: String = DEFAULT_ADDITIONAL_ARGUMENTS
set(value) {
checkFrozen()
field = value
}
- var scriptTemplates: String = ""
+ open var scriptTemplates: String = ""
set(value) {
checkFrozen()
field = value
}
- var scriptTemplatesClasspath: String = ""
+ open var scriptTemplatesClasspath: String = ""
set(value) {
checkFrozen()
field = value
}
- var copyJsLibraryFiles = true
+ open var copyJsLibraryFiles = true
set(value) {
checkFrozen()
field = value
}
- var outputDirectoryForJsLibraryFiles: String = DEFAULT_OUTPUT_DIRECTORY
+ open var outputDirectoryForJsLibraryFiles: String = DEFAULT_OUTPUT_DIRECTORY
set(value) {
checkFrozen()
field = value
@@ -48,7 +48,7 @@
companion object {
val DEFAULT_ADDITIONAL_ARGUMENTS = ""
- private val DEFAULT_OUTPUT_DIRECTORY = "lib"
+ val DEFAULT_OUTPUT_DIRECTORY = "lib"
}
override fun copyOf(): Freezable = copyCompilerSettings(this, CompilerSettings())