Show LV=1.2 in IDE only in internal mode
This commit is contained in:
@@ -253,7 +253,7 @@ public abstract class CLICompiler<A extends CommonCompilerArguments> {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (languageVersion.compareTo(LanguageVersion.LATEST_STABLE) > 0) {
|
if (!languageVersion.isStable()) {
|
||||||
configuration.getNotNull(CLIConfigurationKeys.MESSAGE_COLLECTOR_KEY).report(
|
configuration.getNotNull(CLIConfigurationKeys.MESSAGE_COLLECTOR_KEY).report(
|
||||||
CompilerMessageSeverity.STRONG_WARNING,
|
CompilerMessageSeverity.STRONG_WARNING,
|
||||||
"Language version " + languageVersion.getVersionString() + " is experimental, there are " +
|
"Language version " + languageVersion.getVersionString() + " is experimental, there are " +
|
||||||
|
|||||||
@@ -83,11 +83,14 @@ enum class LanguageVersion(val major: Int, val minor: Int) : DescriptionAware {
|
|||||||
KOTLIN_1_1(1, 1),
|
KOTLIN_1_1(1, 1),
|
||||||
KOTLIN_1_2(1, 2);
|
KOTLIN_1_2(1, 2);
|
||||||
|
|
||||||
|
val isStable: Boolean
|
||||||
|
get() = this <= LATEST_STABLE
|
||||||
|
|
||||||
val versionString: String
|
val versionString: String
|
||||||
get() = "$major.$minor"
|
get() = "$major.$minor"
|
||||||
|
|
||||||
override val description: String
|
override val description: String
|
||||||
get() = if (this > LATEST_STABLE) "$versionString (EXPERIMENTAL)" else versionString
|
get() = if (isStable) versionString else "$versionString (EXPERIMENTAL)"
|
||||||
|
|
||||||
override fun toString() = versionString
|
override fun toString() = versionString
|
||||||
|
|
||||||
|
|||||||
+5
@@ -50,6 +50,7 @@ import org.jetbrains.kotlin.cli.common.arguments.K2JsArgumentConstants;
|
|||||||
import org.jetbrains.kotlin.config.*;
|
import org.jetbrains.kotlin.config.*;
|
||||||
import org.jetbrains.kotlin.idea.KotlinBundle;
|
import org.jetbrains.kotlin.idea.KotlinBundle;
|
||||||
import org.jetbrains.kotlin.idea.PluginStartupComponent;
|
import org.jetbrains.kotlin.idea.PluginStartupComponent;
|
||||||
|
import org.jetbrains.kotlin.idea.actions.internal.KotlinInternalMode;
|
||||||
import org.jetbrains.kotlin.idea.facet.DescriptionListCellRenderer;
|
import org.jetbrains.kotlin.idea.facet.DescriptionListCellRenderer;
|
||||||
import org.jetbrains.kotlin.idea.facet.KotlinFacet;
|
import org.jetbrains.kotlin.idea.facet.KotlinFacet;
|
||||||
import org.jetbrains.kotlin.idea.util.application.ApplicationUtilsKt;
|
import org.jetbrains.kotlin.idea.util.application.ApplicationUtilsKt;
|
||||||
@@ -334,6 +335,10 @@ public class KotlinCompilerConfigurableTab implements SearchableConfigurable, Co
|
|||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
private void fillLanguageAndAPIVersionList() {
|
private void fillLanguageAndAPIVersionList() {
|
||||||
for (LanguageVersion version : LanguageVersion.values()) {
|
for (LanguageVersion version : LanguageVersion.values()) {
|
||||||
|
if (!version.isStable() && !KotlinInternalMode.Instance.getEnabled()) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
languageVersionComboBox.addItem(version.getDescription());
|
languageVersionComboBox.addItem(version.getDescription());
|
||||||
apiVersionComboBox.addItem(version.getDescription());
|
apiVersionComboBox.addItem(version.getDescription());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ import org.jetbrains.kotlin.config.LanguageVersion
|
|||||||
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
import org.jetbrains.kotlin.diagnostics.Diagnostic
|
||||||
import org.jetbrains.kotlin.diagnostics.Errors
|
import org.jetbrains.kotlin.diagnostics.Errors
|
||||||
import org.jetbrains.kotlin.idea.KotlinPluginUtil
|
import org.jetbrains.kotlin.idea.KotlinPluginUtil
|
||||||
|
import org.jetbrains.kotlin.idea.actions.internal.KotlinInternalMode
|
||||||
import org.jetbrains.kotlin.idea.compiler.configuration.KotlinCommonCompilerArgumentsHolder
|
import org.jetbrains.kotlin.idea.compiler.configuration.KotlinCommonCompilerArgumentsHolder
|
||||||
import org.jetbrains.kotlin.idea.configuration.KotlinWithGradleConfigurator
|
import org.jetbrains.kotlin.idea.configuration.KotlinWithGradleConfigurator
|
||||||
import org.jetbrains.kotlin.idea.facet.KotlinFacet
|
import org.jetbrains.kotlin.idea.facet.KotlinFacet
|
||||||
@@ -146,6 +147,10 @@ sealed class EnableUnsupportedFeatureFix(
|
|||||||
val apiVersionOnly = sinceVersion <= languageFeatureSettings.languageVersion &&
|
val apiVersionOnly = sinceVersion <= languageFeatureSettings.languageVersion &&
|
||||||
feature.sinceApiVersion > languageFeatureSettings.apiVersion
|
feature.sinceApiVersion > languageFeatureSettings.apiVersion
|
||||||
|
|
||||||
|
if (!sinceVersion.isStable && !KotlinInternalMode.enabled) {
|
||||||
|
return null
|
||||||
|
}
|
||||||
|
|
||||||
val module = ModuleUtilCore.findModuleForPsiElement(diagnostic.psiElement) ?: return null
|
val module = ModuleUtilCore.findModuleForPsiElement(diagnostic.psiElement) ?: return null
|
||||||
if (KotlinPluginUtil.isMavenModule(module)) return null
|
if (KotlinPluginUtil.isMavenModule(module)) return null
|
||||||
if (!KotlinPluginUtil.isGradleModule(module)) {
|
if (!KotlinPluginUtil.isGradleModule(module)) {
|
||||||
|
|||||||
Reference in New Issue
Block a user