Fix NPE in Kotlin facets tab
This commit is contained in:
+8
-14
@@ -54,10 +54,7 @@ import java.util.List;
|
|||||||
|
|
||||||
public class KotlinCompilerConfigurableTab implements SearchableConfigurable {
|
public class KotlinCompilerConfigurableTab implements SearchableConfigurable {
|
||||||
private static final Map<String, String> moduleKindDescriptions = new LinkedHashMap<>();
|
private static final Map<String, String> moduleKindDescriptions = new LinkedHashMap<>();
|
||||||
private static final Map<String, String> soruceMapSourceEmbeddingDescriptions = new LinkedHashMap<>();
|
private static final Map<String, String> sourceMapSourceEmbeddingDescriptions = new LinkedHashMap<>();
|
||||||
private static final List<LanguageFeature.State> languageFeatureStates = Arrays.asList(
|
|
||||||
LanguageFeature.State.ENABLED, LanguageFeature.State.ENABLED_WITH_WARNING, LanguageFeature.State.ENABLED_WITH_ERROR
|
|
||||||
);
|
|
||||||
private static final int MAX_WARNING_SIZE = 75;
|
private static final int MAX_WARNING_SIZE = 75;
|
||||||
|
|
||||||
private static final Disposable validatorsDisposable = Disposer.newDisposable();
|
private static final Disposable validatorsDisposable = Disposer.newDisposable();
|
||||||
@@ -68,9 +65,11 @@ public class KotlinCompilerConfigurableTab implements SearchableConfigurable {
|
|||||||
moduleKindDescriptions.put(K2JsArgumentConstants.MODULE_COMMONJS, KotlinBundle.message("configuration.description.commonjs"));
|
moduleKindDescriptions.put(K2JsArgumentConstants.MODULE_COMMONJS, KotlinBundle.message("configuration.description.commonjs"));
|
||||||
moduleKindDescriptions.put(K2JsArgumentConstants.MODULE_UMD, KotlinBundle.message("configuration.description.umd.detect.amd.or.commonjs.if.available.fallback.to.plain"));
|
moduleKindDescriptions.put(K2JsArgumentConstants.MODULE_UMD, KotlinBundle.message("configuration.description.umd.detect.amd.or.commonjs.if.available.fallback.to.plain"));
|
||||||
|
|
||||||
soruceMapSourceEmbeddingDescriptions.put(K2JsArgumentConstants.SOURCE_MAP_SOURCE_CONTENT_NEVER, KotlinBundle.message("configuration.description.never"));
|
sourceMapSourceEmbeddingDescriptions
|
||||||
soruceMapSourceEmbeddingDescriptions.put(K2JsArgumentConstants.SOURCE_MAP_SOURCE_CONTENT_ALWAYS, KotlinBundle.message("configuration.description.always"));
|
.put(K2JsArgumentConstants.SOURCE_MAP_SOURCE_CONTENT_NEVER, KotlinBundle.message("configuration.description.never"));
|
||||||
soruceMapSourceEmbeddingDescriptions.put(K2JsArgumentConstants.SOURCE_MAP_SOURCE_CONTENT_INLINING, KotlinBundle.message("configuration.description.when.inlining.a.function.from.other.module.with.embedded.sources"));
|
sourceMapSourceEmbeddingDescriptions
|
||||||
|
.put(K2JsArgumentConstants.SOURCE_MAP_SOURCE_CONTENT_ALWAYS, KotlinBundle.message("configuration.description.always"));
|
||||||
|
sourceMapSourceEmbeddingDescriptions.put(K2JsArgumentConstants.SOURCE_MAP_SOURCE_CONTENT_INLINING, KotlinBundle.message("configuration.description.when.inlining.a.function.from.other.module.with.embedded.sources"));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
@@ -97,8 +96,6 @@ public class KotlinCompilerConfigurableTab implements SearchableConfigurable {
|
|||||||
private JComboBox moduleKindComboBox;
|
private JComboBox moduleKindComboBox;
|
||||||
private JTextField scriptTemplatesField;
|
private JTextField scriptTemplatesField;
|
||||||
private JTextField scriptTemplatesClasspathField;
|
private JTextField scriptTemplatesClasspathField;
|
||||||
private JLabel scriptTemplatesLabel;
|
|
||||||
private JLabel scriptTemplatesClasspathLabel;
|
|
||||||
private JPanel k2jvmPanel;
|
private JPanel k2jvmPanel;
|
||||||
private JPanel k2jsPanel;
|
private JPanel k2jsPanel;
|
||||||
private JComboBox jvmVersionComboBox;
|
private JComboBox jvmVersionComboBox;
|
||||||
@@ -109,9 +106,7 @@ public class KotlinCompilerConfigurableTab implements SearchableConfigurable {
|
|||||||
private JLabel labelForOutputPostfixFile;
|
private JLabel labelForOutputPostfixFile;
|
||||||
private JLabel warningLabel;
|
private JLabel warningLabel;
|
||||||
private JTextField sourceMapPrefix;
|
private JTextField sourceMapPrefix;
|
||||||
private JLabel labelForSourceMapPrefix;
|
|
||||||
private JComboBox sourceMapEmbedSources;
|
private JComboBox sourceMapEmbedSources;
|
||||||
private JPanel coroutinesPanel;
|
|
||||||
private boolean isEnabled = true;
|
private boolean isEnabled = true;
|
||||||
|
|
||||||
public KotlinCompilerConfigurableTab(
|
public KotlinCompilerConfigurableTab(
|
||||||
@@ -266,7 +261,7 @@ public class KotlinCompilerConfigurableTab implements SearchableConfigurable {
|
|||||||
@NotNull
|
@NotNull
|
||||||
private static String getSourceMapSourceEmbeddingDescription(@Nullable String sourceMapSourceEmbeddingId) {
|
private static String getSourceMapSourceEmbeddingDescription(@Nullable String sourceMapSourceEmbeddingId) {
|
||||||
if (sourceMapSourceEmbeddingId == null) return "";
|
if (sourceMapSourceEmbeddingId == null) return "";
|
||||||
String result = soruceMapSourceEmbeddingDescriptions.get(sourceMapSourceEmbeddingId);
|
String result = sourceMapSourceEmbeddingDescriptions.get(sourceMapSourceEmbeddingId);
|
||||||
assert result != null : "Source map source embedding mode " + sourceMapSourceEmbeddingId +
|
assert result != null : "Source map source embedding mode " + sourceMapSourceEmbeddingId +
|
||||||
" was not added to combobox, therefore it should not be here";
|
" was not added to combobox, therefore it should not be here";
|
||||||
return result;
|
return result;
|
||||||
@@ -329,7 +324,6 @@ public class KotlinCompilerConfigurableTab implements SearchableConfigurable {
|
|||||||
public void onLanguageLevelChanged(@Nullable VersionView languageLevel) {
|
public void onLanguageLevelChanged(@Nullable VersionView languageLevel) {
|
||||||
if (languageLevel == null) return;
|
if (languageLevel == null) return;
|
||||||
restrictAPIVersions(languageLevel);
|
restrictAPIVersions(languageLevel);
|
||||||
coroutinesPanel.setVisible(languageLevel.getVersion().compareTo(LanguageVersion.KOTLIN_1_3) < 0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
@@ -400,7 +394,7 @@ public class KotlinCompilerConfigurableTab implements SearchableConfigurable {
|
|||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
private void fillSourceMapSourceEmbeddingList() {
|
private void fillSourceMapSourceEmbeddingList() {
|
||||||
for (String moduleKind : soruceMapSourceEmbeddingDescriptions.keySet()) {
|
for (String moduleKind : sourceMapSourceEmbeddingDescriptions.keySet()) {
|
||||||
sourceMapEmbedSources.addItem(moduleKind);
|
sourceMapEmbedSources.addItem(moduleKind);
|
||||||
}
|
}
|
||||||
sourceMapEmbedSources.setRenderer(new ListCellRendererWrapper<String>() {
|
sourceMapEmbedSources.setRenderer(new ListCellRendererWrapper<String>() {
|
||||||
|
|||||||
Reference in New Issue
Block a user