From f42b902bc8b08479893a50cc25412decb5b3604f Mon Sep 17 00:00:00 2001 From: Alexander Gorshenev Date: Sat, 14 Nov 2020 03:29:45 +0300 Subject: [PATCH] Made -Xfake-override-validator off by default Deprected -Xdisable-fake-override-validator --- .../kotlin/cli/common/arguments/K2JSCompilerArguments.kt | 6 +++++- .../src/org/jetbrains/kotlin/cli/js/K2JsIrCompiler.kt | 2 +- .../src/org/jetbrains/kotlin/ir/backend/js/klib.kt | 4 ++-- compiler/testData/cli/js/jsExtraHelp.out | 3 ++- .../org/jetbrains/kotlin/js/config/JSConfigurationKeys.java | 4 ++-- 5 files changed, 12 insertions(+), 7 deletions(-) diff --git a/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/arguments/K2JSCompilerArguments.kt b/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/arguments/K2JSCompilerArguments.kt index 964e397d962..0ca13d36aa2 100644 --- a/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/arguments/K2JSCompilerArguments.kt +++ b/compiler/cli/cli-common/src/org/jetbrains/kotlin/cli/common/arguments/K2JSCompilerArguments.kt @@ -172,9 +172,13 @@ class K2JSCompilerArguments : CommonCompilerArguments() { @Argument(value = "-Xenable-js-scripting", description = "Enable experimental support of .kts files using K/JS (with -Xir only)") var enableJsScripting: Boolean by FreezableVar(false) - @Argument(value = "-Xdisable-fake-override-validator", description = "Disable IR fake override validator") + @Argument(value = "-Xdisable-fake-override-validator", description = "This option is deprecated") var disableFakeOverrideValidator: Boolean by FreezableVar(false) + @Argument(value = "-Xfake-override-validator", description = "Enable IR fake override validator") + var fakeOverrideValidator: Boolean by FreezableVar(false) + + @Argument(value = "-Xerror-tolerance-policy", description = "Set up error tolerance policy (NONE, SEMANTIC, SYNTAX, ALL)") var errorTolerancePolicy: String? by NullableStringFreezableVar(null) diff --git a/compiler/cli/cli-js/src/org/jetbrains/kotlin/cli/js/K2JsIrCompiler.kt b/compiler/cli/cli-js/src/org/jetbrains/kotlin/cli/js/K2JsIrCompiler.kt index b537004fe84..75fdfead4a5 100644 --- a/compiler/cli/cli-js/src/org/jetbrains/kotlin/cli/js/K2JsIrCompiler.kt +++ b/compiler/cli/cli-js/src/org/jetbrains/kotlin/cli/js/K2JsIrCompiler.kt @@ -364,7 +364,7 @@ class K2JsIrCompiler : CLICompiler() { } configuration.put(JSConfigurationKeys.PRINT_REACHABILITY_INFO, arguments.irDcePrintReachabilityInfo) - configuration.put(JSConfigurationKeys.DISABLE_FAKE_OVERRIDE_VALIDATOR, arguments.disableFakeOverrideValidator) + configuration.put(JSConfigurationKeys.FAKE_OVERRIDE_VALIDATOR, arguments.fakeOverrideValidator) } override fun executableScriptFileName(): String { diff --git a/compiler/ir/serialization.js/src/org/jetbrains/kotlin/ir/backend/js/klib.kt b/compiler/ir/serialization.js/src/org/jetbrains/kotlin/ir/backend/js/klib.kt index 901b5126122..b71ee31d59c 100644 --- a/compiler/ir/serialization.js/src/org/jetbrains/kotlin/ir/backend/js/klib.kt +++ b/compiler/ir/serialization.js/src/org/jetbrains/kotlin/ir/backend/js/klib.kt @@ -170,7 +170,7 @@ fun generateKLib( val moduleFragment = psi2IrContext.generateModuleFragmentWithPlugins(project, files, irLinker, expectDescriptorToSymbol) moduleFragment.acceptVoid(ManglerChecker(JsManglerIr, Ir2DescriptorManglerAdapter(JsManglerDesc))) - if (!configuration.getBoolean(JSConfigurationKeys.DISABLE_FAKE_OVERRIDE_VALIDATOR)) { + if (configuration.getBoolean(JSConfigurationKeys.FAKE_OVERRIDE_VALIDATOR)) { val fakeOverrideChecker = FakeOverrideChecker(JsManglerIr, JsManglerDesc) irLinker.modules.forEach { fakeOverrideChecker.check(it) } } @@ -249,7 +249,7 @@ fun loadIr( val mangleChecker = ManglerChecker(JsManglerIr, Ir2DescriptorManglerAdapter(JsManglerDesc)) moduleFragment.acceptVoid(mangleChecker) - if (!configuration.getBoolean(JSConfigurationKeys.DISABLE_FAKE_OVERRIDE_VALIDATOR)) { + if (configuration.getBoolean(JSConfigurationKeys.FAKE_OVERRIDE_VALIDATOR)) { val fakeOverrideChecker = FakeOverrideChecker(JsManglerIr, JsManglerDesc) irLinker.modules.forEach { fakeOverrideChecker.check(it) } } diff --git a/compiler/testData/cli/js/jsExtraHelp.out b/compiler/testData/cli/js/jsExtraHelp.out index 134142ad9d0..985fcc47e64 100644 --- a/compiler/testData/cli/js/jsExtraHelp.out +++ b/compiler/testData/cli/js/jsExtraHelp.out @@ -1,9 +1,10 @@ Usage: kotlinc-js where advanced options include: -Xdisable-fake-override-validator - Disable IR fake override validator + This option is deprecated -Xenable-js-scripting Enable experimental support of .kts files using K/JS (with -Xir only) -Xerror-tolerance-policy Set up error tolerance policy (NONE, SEMANTIC, SYNTAX, ALL) + -Xfake-override-validator Enable IR fake override validator -Xfriend-modules= Paths to friend modules -Xfriend-modules-disabled Disable internal declaration export -Xgenerate-dts Generate TypeScript declarations .d.ts file alongside JS file. Available in IR backend only. diff --git a/js/js.frontend/src/org/jetbrains/kotlin/js/config/JSConfigurationKeys.java b/js/js.frontend/src/org/jetbrains/kotlin/js/config/JSConfigurationKeys.java index dba90aaf3e6..71a1ce9b29f 100644 --- a/js/js.frontend/src/org/jetbrains/kotlin/js/config/JSConfigurationKeys.java +++ b/js/js.frontend/src/org/jetbrains/kotlin/js/config/JSConfigurationKeys.java @@ -84,8 +84,8 @@ public class JSConfigurationKeys { public static final CompilerConfigurationKey PRINT_REACHABILITY_INFO = CompilerConfigurationKey.create("print declarations' reachability info during performing DCE"); - public static final CompilerConfigurationKey DISABLE_FAKE_OVERRIDE_VALIDATOR = - CompilerConfigurationKey.create("disable IR fake override validator"); + public static final CompilerConfigurationKey FAKE_OVERRIDE_VALIDATOR = + CompilerConfigurationKey.create("IR fake override validator"); public static final CompilerConfigurationKey ERROR_TOLERANCE_POLICY = CompilerConfigurationKey.create("set up policy to ignore compilation errors");