mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-04-20 13:31:28 +07:00
createEditors - add NotNull
GitOrigin-RevId: 98a04ce6c91bd16f9ffee3f5b17d37b43e57e5e1
This commit is contained in:
committed by
intellij-monorepo-bot
parent
6cfd9eb094
commit
74279330fe
@@ -1,33 +1,19 @@
|
||||
/*
|
||||
* Copyright 2000-2009 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.openapi.roots.ui.configuration;
|
||||
|
||||
import com.intellij.openapi.module.*;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class DefaultModuleEditorsProvider implements ModuleConfigurationEditorProvider {
|
||||
final class DefaultModuleEditorsProvider implements ModuleConfigurationEditorProvider {
|
||||
@Override
|
||||
public ModuleConfigurationEditor[] createEditors(ModuleConfigurationState state) {
|
||||
public @NotNull ModuleConfigurationEditor @NotNull [] createEditors(@NotNull ModuleConfigurationState state) {
|
||||
Module module = state.getCurrentRootModel().getModule();
|
||||
ModuleType<?> moduleType = ModuleType.get(module);
|
||||
if (!(moduleType instanceof JavaModuleType) &&
|
||||
(!GeneralModuleType.INSTANCE.equals(moduleType))) {
|
||||
if (!(moduleType instanceof JavaModuleType) && !GeneralModuleType.INSTANCE.equals(moduleType)) {
|
||||
return ModuleConfigurationEditor.EMPTY;
|
||||
}
|
||||
|
||||
|
||||
@@ -158,9 +158,7 @@ public abstract class ModuleEditor implements Place.Navigator, Disposable {
|
||||
return false;
|
||||
}
|
||||
|
||||
private void createEditors(@Nullable Module module) {
|
||||
if (module == null) return;
|
||||
|
||||
private void createEditors(@NotNull Module module) {
|
||||
ModuleConfigurationState state = createModuleConfigurationState();
|
||||
for (ModuleConfigurationEditorProvider provider : EP_NAME.getExtensionList(module)) {
|
||||
ModuleConfigurationEditor[] editors = provider.createEditors(state);
|
||||
@@ -218,12 +216,16 @@ public abstract class ModuleEditor implements Place.Navigator, Disposable {
|
||||
}
|
||||
|
||||
private @NotNull JPanel createPanel() {
|
||||
getModifiableRootModel(); //initialize model if needed
|
||||
// initialize model if needed
|
||||
getModifiableRootModel();
|
||||
getModifiableRootModelProxy();
|
||||
|
||||
myGenericSettingsPanel = new ModuleEditorPanel();
|
||||
|
||||
createEditors(getModule());
|
||||
Module module = getModule();
|
||||
if (module != null) {
|
||||
createEditors(module);
|
||||
}
|
||||
|
||||
final JComponent component = createCenterPanel();
|
||||
myGenericSettingsPanel.add(component, BorderLayout.CENTER);
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
package com.intellij.openapi.roots.ui.configuration;
|
||||
|
||||
import com.intellij.openapi.module.ModuleConfigurationEditor;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
/**
|
||||
* Implement this interface to provide tabs for a module editor in 'Project Structure' dialog. The implementation should be registered in your {@code plugin.xml}:
|
||||
@@ -12,5 +13,5 @@ import com.intellij.openapi.module.ModuleConfigurationEditor;
|
||||
* </pre>
|
||||
*/
|
||||
public interface ModuleConfigurationEditorProvider {
|
||||
ModuleConfigurationEditor[] createEditors(ModuleConfigurationState state);
|
||||
@NotNull ModuleConfigurationEditor @NotNull [] createEditors(@NotNull ModuleConfigurationState state);
|
||||
}
|
||||
|
||||
@@ -1,15 +1,14 @@
|
||||
// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.openapi.module;
|
||||
|
||||
import com.intellij.openapi.roots.ui.configuration.CommonContentEntriesEditor;
|
||||
import com.intellij.openapi.roots.ui.configuration.ModuleConfigurationEditorProvider;
|
||||
import com.intellij.openapi.roots.ui.configuration.ModuleConfigurationState;
|
||||
import org.jetbrains.annotations.ApiStatus;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
@ApiStatus.Internal
|
||||
public final class WebModuleConfigurationEditorProvider implements ModuleConfigurationEditorProvider {
|
||||
final class WebModuleConfigurationEditorProvider implements ModuleConfigurationEditorProvider {
|
||||
@Override
|
||||
public ModuleConfigurationEditor[] createEditors(final ModuleConfigurationState state) {
|
||||
public @NotNull ModuleConfigurationEditor @NotNull [] createEditors(@NotNull ModuleConfigurationState state) {
|
||||
Module module = state.getCurrentRootModel().getModule();
|
||||
if (!ModuleTypeWithWebFeatures.isAvailable(module)) {
|
||||
return ModuleConfigurationEditor.EMPTY;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
@file:Suppress("UsePropertyAccessSyntax")
|
||||
|
||||
package com.intellij.ide.plugins
|
||||
@@ -843,7 +843,7 @@ class DynamicPluginsTest {
|
||||
val listenerDisposable = Disposer.newDisposable()
|
||||
|
||||
val checked = AtomicInteger()
|
||||
Configurable.PROJECT_CONFIGURABLE.addChangeListener(project, Runnable {
|
||||
Configurable.PROJECT_CONFIGURABLE.addChangeListener(project, {
|
||||
checked.incrementAndGet()
|
||||
}, listenerDisposable)
|
||||
|
||||
@@ -1134,7 +1134,7 @@ private class MyRunnable : Runnable {
|
||||
}
|
||||
|
||||
private class MyModuleConfigurationEditorProvider : ModuleConfigurationEditorProvider {
|
||||
override fun createEditors(state: ModuleConfigurationState?): Array<ModuleConfigurationEditor> = arrayOf()
|
||||
override fun createEditors(state: ModuleConfigurationState): Array<ModuleConfigurationEditor> = emptyArray()
|
||||
}
|
||||
|
||||
private inline fun runAndCheckThatNoNewPlugins(block: () -> Unit) {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// Copyright 2000-2023 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package org.jetbrains.idea.devkit.module;
|
||||
|
||||
import com.intellij.openapi.module.Module;
|
||||
@@ -7,6 +7,7 @@ import com.intellij.openapi.module.ModuleType;
|
||||
import com.intellij.openapi.roots.ui.configuration.DefaultModuleConfigurationEditorFactory;
|
||||
import com.intellij.openapi.roots.ui.configuration.ModuleConfigurationEditorProvider;
|
||||
import com.intellij.openapi.roots.ui.configuration.ModuleConfigurationState;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.idea.devkit.build.PluginModuleBuildConfEditor;
|
||||
|
||||
import java.util.ArrayList;
|
||||
@@ -15,7 +16,7 @@ import java.util.List;
|
||||
final class PluginModuleEditorsProvider implements ModuleConfigurationEditorProvider {
|
||||
|
||||
@Override
|
||||
public ModuleConfigurationEditor[] createEditors(ModuleConfigurationState state) {
|
||||
public @NotNull ModuleConfigurationEditor @NotNull [] createEditors(@NotNull ModuleConfigurationState state) {
|
||||
final Module module = state.getCurrentRootModel().getModule();
|
||||
if (ModuleType.get(module) != PluginModuleType.getInstance()) return ModuleConfigurationEditor.EMPTY;
|
||||
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
// Copyright 2000-2022 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package org.jetbrains.kotlin.idea.roots.ui
|
||||
|
||||
import com.intellij.openapi.module.ModuleConfigurationEditor
|
||||
@@ -11,7 +10,7 @@ import com.intellij.workspaceModel.ide.legacyBridge.impl.java.JAVA_MODULE_ENTITY
|
||||
import org.jetbrains.kotlin.idea.base.facet.platform.platform
|
||||
import org.jetbrains.kotlin.platform.jvm.isJvm
|
||||
|
||||
class NonJvmKotlinModuleEditorsProvider : ModuleConfigurationEditorProviderEx {
|
||||
private class NonJvmKotlinModuleEditorsProvider : ModuleConfigurationEditorProviderEx {
|
||||
override fun isCompleteEditorSet() = true
|
||||
|
||||
override fun createEditors(state: ModuleConfigurationState): Array<ModuleConfigurationEditor> {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// Copyright 2000-2024 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
// Copyright 2000-2025 JetBrains s.r.o. and contributors. Use of this source code is governed by the Apache 2.0 license.
|
||||
package com.intellij.python.community.plugin.java.facet;
|
||||
|
||||
import com.intellij.openapi.module.Module;
|
||||
@@ -8,19 +8,22 @@ import com.intellij.openapi.roots.ui.configuration.DefaultModuleConfigurationEdi
|
||||
import com.intellij.openapi.roots.ui.configuration.ModuleConfigurationEditorProvider;
|
||||
import com.intellij.openapi.roots.ui.configuration.ModuleConfigurationState;
|
||||
import com.jetbrains.python.module.PyContentEntriesEditor;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jps.model.java.JavaSourceRootType;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
|
||||
final class PythonModuleConfigurationEditorProvider implements ModuleConfigurationEditorProvider {
|
||||
@Override
|
||||
public ModuleConfigurationEditor[] createEditors(final ModuleConfigurationState state) {
|
||||
final Module module = state.getCurrentRootModel().getModule();
|
||||
if (!(ModuleType.get(module) instanceof PythonModuleType)) return ModuleConfigurationEditor.EMPTY;
|
||||
final DefaultModuleConfigurationEditorFactory editorFactory = DefaultModuleConfigurationEditorFactory.getInstance();
|
||||
final List<ModuleConfigurationEditor> editors = new ArrayList<>();
|
||||
public @NotNull ModuleConfigurationEditor @NotNull [] createEditors(@NotNull ModuleConfigurationState state) {
|
||||
Module module = state.getCurrentRootModel().getModule();
|
||||
if (!(ModuleType.get(module) instanceof PythonModuleType)) {
|
||||
return ModuleConfigurationEditor.EMPTY;
|
||||
}
|
||||
|
||||
DefaultModuleConfigurationEditorFactory editorFactory = DefaultModuleConfigurationEditorFactory.getInstance();
|
||||
List<ModuleConfigurationEditor> editors = new ArrayList<>();
|
||||
editors.add(new PyContentEntriesEditor(module, state, false, JavaSourceRootType.SOURCE));
|
||||
editors.add(editorFactory.createClasspathEditor(state));
|
||||
return editors.toArray(ModuleConfigurationEditor.EMPTY);
|
||||
|
||||
Reference in New Issue
Block a user