Disable JSR-305 annotations by default, introduce CLI argument
No package annotations are going to be loaded, and TypeQualifierDefault/TypeQualifierNickname are no longer recognized by default. Use the CLI argument "-Xload-jsr305-annotations" to enable this behavior back #KT-10942
This commit is contained in:
@@ -122,8 +122,8 @@ public abstract class CLICompiler<A extends CommonCompilerArguments> extends CLI
|
||||
}
|
||||
}
|
||||
|
||||
private static void setupCommonArgumentsAndServices(
|
||||
@NotNull CompilerConfiguration configuration, @NotNull CommonCompilerArguments arguments, @NotNull Services services
|
||||
private void setupCommonArgumentsAndServices(
|
||||
@NotNull CompilerConfiguration configuration, @NotNull A arguments, @NotNull Services services
|
||||
) {
|
||||
if (arguments.noInline) {
|
||||
configuration.put(CommonConfigurationKeys.DISABLE_INLINE, true);
|
||||
@@ -143,9 +143,7 @@ public abstract class CLICompiler<A extends CommonCompilerArguments> extends CLI
|
||||
setupLanguageVersionSettings(configuration, arguments);
|
||||
}
|
||||
|
||||
private static void setupLanguageVersionSettings(
|
||||
@NotNull CompilerConfiguration configuration, @NotNull CommonCompilerArguments arguments
|
||||
) {
|
||||
private void setupLanguageVersionSettings(@NotNull CompilerConfiguration configuration, @NotNull A arguments) {
|
||||
LanguageVersion languageVersion = parseVersion(configuration, arguments.languageVersion, "language");
|
||||
LanguageVersion apiVersion = parseVersion(configuration, arguments.apiVersion, "API");
|
||||
|
||||
@@ -195,9 +193,13 @@ public abstract class CLICompiler<A extends CommonCompilerArguments> extends CLI
|
||||
new LanguageVersionSettingsImpl(languageVersion, ApiVersion.createByLanguageVersion(apiVersion), extraLanguageFeatures);
|
||||
settings.switchFlag(AnalysisFlags.getSkipMetadataVersionCheck(), arguments.skipMetadataVersionCheck);
|
||||
settings.switchFlag(AnalysisFlags.getMultiPlatformDoNotCheckImpl(), arguments.noCheckImpl);
|
||||
configureAnalysisFlags(settings, arguments);
|
||||
CommonConfigurationKeysKt.setLanguageVersionSettings(configuration, settings);
|
||||
}
|
||||
|
||||
protected void configureAnalysisFlags(@NotNull LanguageVersionSettingsImpl settings, @NotNull A arguments) {
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private static LanguageFeature.State chooseCoroutinesApplicabilityLevel(
|
||||
@NotNull CompilerConfiguration configuration,
|
||||
|
||||
@@ -310,6 +310,10 @@ class K2JVMCompiler : CLICompiler<K2JVMCompilerArguments>() {
|
||||
}
|
||||
}
|
||||
|
||||
override fun configureAnalysisFlags(settings: LanguageVersionSettingsImpl, arguments: K2JVMCompilerArguments) {
|
||||
settings.switchFlag(AnalysisFlags.loadJsr305Annotations, arguments.loadJsr305annotations)
|
||||
}
|
||||
|
||||
override fun createArguments(): K2JVMCompilerArguments = K2JVMCompilerArguments().apply {
|
||||
if (System.getenv("KOTLIN_REPORT_PERF") != null) {
|
||||
reportPerf = true
|
||||
|
||||
Reference in New Issue
Block a user