KT-36801 Added forgotten changes for 192 platform
#KT-39989 Fixed
This commit is contained in:
+21
-9
@@ -9,10 +9,10 @@ import com.intellij.icons.AllIcons;
|
|||||||
import com.intellij.openapi.application.ApplicationManager;
|
import com.intellij.openapi.application.ApplicationManager;
|
||||||
import com.intellij.openapi.fileChooser.FileChooserDescriptor;
|
import com.intellij.openapi.fileChooser.FileChooserDescriptor;
|
||||||
import com.intellij.openapi.module.ModuleManager;
|
import com.intellij.openapi.module.ModuleManager;
|
||||||
import com.intellij.openapi.options.Configurable;
|
|
||||||
import com.intellij.openapi.options.ConfigurationException;
|
import com.intellij.openapi.options.ConfigurationException;
|
||||||
import com.intellij.openapi.options.SearchableConfigurable;
|
import com.intellij.openapi.options.SearchableConfigurable;
|
||||||
import com.intellij.openapi.project.Project;
|
import com.intellij.openapi.project.Project;
|
||||||
|
import com.intellij.openapi.ui.ComboBox;
|
||||||
import com.intellij.openapi.ui.TextComponentAccessor;
|
import com.intellij.openapi.ui.TextComponentAccessor;
|
||||||
import com.intellij.openapi.ui.TextFieldWithBrowseButton;
|
import com.intellij.openapi.ui.TextFieldWithBrowseButton;
|
||||||
import com.intellij.openapi.util.text.StringUtil;
|
import com.intellij.openapi.util.text.StringUtil;
|
||||||
@@ -33,9 +33,8 @@ import org.jetbrains.kotlin.cli.common.arguments.K2JSCompilerArguments;
|
|||||||
import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments;
|
import org.jetbrains.kotlin.cli.common.arguments.K2JVMCompilerArguments;
|
||||||
import org.jetbrains.kotlin.cli.common.arguments.K2JsArgumentConstants;
|
import org.jetbrains.kotlin.cli.common.arguments.K2JsArgumentConstants;
|
||||||
import org.jetbrains.kotlin.config.*;
|
import org.jetbrains.kotlin.config.*;
|
||||||
import org.jetbrains.kotlin.idea.PluginStartupComponent;
|
|
||||||
import org.jetbrains.kotlin.idea.configuration.ProjectUtilsKt;
|
|
||||||
import org.jetbrains.kotlin.idea.KotlinBundle;
|
import org.jetbrains.kotlin.idea.KotlinBundle;
|
||||||
|
import org.jetbrains.kotlin.idea.PluginStartupComponent;
|
||||||
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.roots.RootUtilsKt;
|
import org.jetbrains.kotlin.idea.roots.RootUtilsKt;
|
||||||
@@ -43,12 +42,11 @@ import org.jetbrains.kotlin.idea.util.CidrUtil;
|
|||||||
import org.jetbrains.kotlin.idea.util.application.ApplicationUtilsKt;
|
import org.jetbrains.kotlin.idea.util.application.ApplicationUtilsKt;
|
||||||
import org.jetbrains.kotlin.platform.IdePlatformKind;
|
import org.jetbrains.kotlin.platform.IdePlatformKind;
|
||||||
import org.jetbrains.kotlin.platform.PlatformUtilKt;
|
import org.jetbrains.kotlin.platform.PlatformUtilKt;
|
||||||
|
import org.jetbrains.kotlin.platform.TargetPlatform;
|
||||||
import org.jetbrains.kotlin.platform.impl.JsIdePlatformUtil;
|
import org.jetbrains.kotlin.platform.impl.JsIdePlatformUtil;
|
||||||
import org.jetbrains.kotlin.platform.impl.JvmIdePlatformKind;
|
import org.jetbrains.kotlin.platform.impl.JvmIdePlatformKind;
|
||||||
import org.jetbrains.kotlin.platform.impl.JvmIdePlatformUtil;
|
import org.jetbrains.kotlin.platform.impl.JvmIdePlatformUtil;
|
||||||
import org.jetbrains.kotlin.config.JvmTarget;
|
|
||||||
import org.jetbrains.kotlin.platform.jvm.JdkPlatform;
|
import org.jetbrains.kotlin.platform.jvm.JdkPlatform;
|
||||||
import org.jetbrains.kotlin.platform.TargetPlatform;
|
|
||||||
|
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
@@ -327,7 +325,8 @@ public class KotlinCompilerConfigurableTab implements SearchableConfigurable {
|
|||||||
return VersionComparatorUtil.compare(version.getVersionString(), upperBound.getVersionString()) <= 0;
|
return VersionComparatorUtil.compare(version.getVersionString(), upperBound.getVersionString()) <= 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onLanguageLevelChanged(VersionView languageLevel) {
|
public void onLanguageLevelChanged(@Nullable VersionView languageLevel) {
|
||||||
|
if (languageLevel == null) return;
|
||||||
restrictAPIVersions(languageLevel);
|
restrictAPIVersions(languageLevel);
|
||||||
coroutinesPanel.setVisible(languageLevel.getVersion().compareTo(LanguageVersion.KOTLIN_1_3) < 0);
|
coroutinesPanel.setVisible(languageLevel.getVersion().compareTo(LanguageVersion.KOTLIN_1_3) < 0);
|
||||||
}
|
}
|
||||||
@@ -585,9 +584,9 @@ public class KotlinCompilerConfigurableTab implements SearchableConfigurable {
|
|||||||
@Override
|
@Override
|
||||||
public void reset() {
|
public void reset() {
|
||||||
reportWarningsCheckBox.setSelected(!commonCompilerArguments.getSuppressWarnings());
|
reportWarningsCheckBox.setSelected(!commonCompilerArguments.getSuppressWarnings());
|
||||||
languageVersionComboBox.setSelectedItem(KotlinFacetSettingsKt.getLanguageVersionView(commonCompilerArguments));
|
setSelectedItem(languageVersionComboBox, KotlinFacetSettingsKt.getLanguageVersionView(commonCompilerArguments));
|
||||||
onLanguageLevelChanged(getSelectedLanguageVersionView());
|
onLanguageLevelChanged((VersionView) languageVersionComboBox.getSelectedItem()); // getSelectedLanguageVersionView() replaces null
|
||||||
apiVersionComboBox.setSelectedItem(KotlinFacetSettingsKt.getApiVersionView(commonCompilerArguments));
|
setSelectedItem(apiVersionComboBox, KotlinFacetSettingsKt.getApiVersionView(commonCompilerArguments));
|
||||||
coroutineSupportComboBox.setSelectedItem(CoroutineSupport.byCompilerArguments(commonCompilerArguments));
|
coroutineSupportComboBox.setSelectedItem(CoroutineSupport.byCompilerArguments(commonCompilerArguments));
|
||||||
additionalArgsOptionsField.setText(compilerSettings.getAdditionalArguments());
|
additionalArgsOptionsField.setText(compilerSettings.getAdditionalArguments());
|
||||||
scriptTemplatesField.setText(compilerSettings.getScriptTemplates());
|
scriptTemplatesField.setText(compilerSettings.getScriptTemplates());
|
||||||
@@ -613,6 +612,15 @@ public class KotlinCompilerConfigurableTab implements SearchableConfigurable {
|
|||||||
jvmVersionComboBox.setSelectedItem(getJvmVersionOrDefault(k2jvmCompilerArguments.getJvmTarget()));
|
jvmVersionComboBox.setSelectedItem(getJvmVersionOrDefault(k2jvmCompilerArguments.getJvmTarget()));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static void setSelectedItem(JComboBox<VersionView> comboBox, VersionView versionView) {
|
||||||
|
// Imported projects might have outdated language/api versions - we display them as well (see createVersionValidator() for details)
|
||||||
|
int index = ((DefaultComboBoxModel<VersionView>) comboBox.getModel()).getIndexOf(versionView);
|
||||||
|
if (index == -1)
|
||||||
|
comboBox.addItem(versionView);
|
||||||
|
|
||||||
|
comboBox.setSelectedItem(versionView);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void disposeUIResources() {
|
public void disposeUIResources() {
|
||||||
}
|
}
|
||||||
@@ -727,6 +735,10 @@ public class KotlinCompilerConfigurableTab implements SearchableConfigurable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void createUIComponents() {
|
private void createUIComponents() {
|
||||||
|
// Explicit use of DefaultComboBoxModel guarantees that setSelectedItem() can make safe cast.
|
||||||
|
languageVersionComboBox = new ComboBox<>(new DefaultComboBoxModel<>());
|
||||||
|
apiVersionComboBox = new ComboBox<>(new DefaultComboBoxModel<>());
|
||||||
|
|
||||||
// Workaround: ThreeStateCheckBox doesn't send suitable notification on state change
|
// Workaround: ThreeStateCheckBox doesn't send suitable notification on state change
|
||||||
// TODO: replace with PropertyChangerListener after fix is available in IDEA
|
// TODO: replace with PropertyChangerListener after fix is available in IDEA
|
||||||
copyRuntimeFilesCheckBox = new ThreeStateCheckBox() {
|
copyRuntimeFilesCheckBox = new ThreeStateCheckBox() {
|
||||||
|
|||||||
Reference in New Issue
Block a user