api: annotate classes and interfaces from project model API as NonExtendable
authornik <Nikolay.Chashnikov@jetbrains.com>
Fri, 24 May 2019 09:02:52 +0000 (12:02 +0300)
committerintellij-monorepo-bot <intellij-monorepo-bot-no-reply@jetbrains.com>
Fri, 24 May 2019 10:44:00 +0000 (13:44 +0300)
Plugins aren't supposed to provide their own implementations of these classes, and such implementations may cause problems when we start using different storage for project model.

GitOrigin-RevId: 33a4a0062a7e765a491fadc272bee21f87c34481

25 files changed:
platform/projectModel-api/src/com/intellij/openapi/roots/ContentEntry.java
platform/projectModel-api/src/com/intellij/openapi/roots/ContentFolder.java
platform/projectModel-api/src/com/intellij/openapi/roots/ExcludeFolder.java
platform/projectModel-api/src/com/intellij/openapi/roots/ExportableOrderEntry.java
platform/projectModel-api/src/com/intellij/openapi/roots/FileIndex.java
platform/projectModel-api/src/com/intellij/openapi/roots/InheritedJdkOrderEntry.java
platform/projectModel-api/src/com/intellij/openapi/roots/JavaModuleExternalPaths.java
platform/projectModel-api/src/com/intellij/openapi/roots/JdkOrderEntry.java
platform/projectModel-api/src/com/intellij/openapi/roots/LibraryOrSdkOrderEntry.java
platform/projectModel-api/src/com/intellij/openapi/roots/LibraryOrderEntry.java
platform/projectModel-api/src/com/intellij/openapi/roots/ModifiableRootModel.java
platform/projectModel-api/src/com/intellij/openapi/roots/ModuleFileIndex.java
platform/projectModel-api/src/com/intellij/openapi/roots/ModuleJdkOrderEntry.java
platform/projectModel-api/src/com/intellij/openapi/roots/ModuleOrderEntry.java
platform/projectModel-api/src/com/intellij/openapi/roots/ModuleRootManager.java
platform/projectModel-api/src/com/intellij/openapi/roots/ModuleRootModel.java
platform/projectModel-api/src/com/intellij/openapi/roots/ModuleSourceOrderEntry.java
platform/projectModel-api/src/com/intellij/openapi/roots/OrderEntry.java
platform/projectModel-api/src/com/intellij/openapi/roots/OrderEnumerator.java
platform/projectModel-api/src/com/intellij/openapi/roots/OrderEnumeratorSettings.java
platform/projectModel-api/src/com/intellij/openapi/roots/OrderRootsEnumerator.java
platform/projectModel-api/src/com/intellij/openapi/roots/ProjectFileIndex.java
platform/projectModel-api/src/com/intellij/openapi/roots/ProjectRootManager.java
platform/projectModel-api/src/com/intellij/openapi/roots/RootProvider.java
platform/projectModel-api/src/com/intellij/openapi/roots/SourceFolder.java

index cdb3091a61cec0613340c8708a1d63f1d12a69cc..2b83ffc4f55a9c981375cd88ec505021434bf78b 100644 (file)
@@ -16,6 +16,7 @@
 package com.intellij.openapi.roots;
 
 import com.intellij.openapi.vfs.VirtualFile;
 package com.intellij.openapi.roots;
 
 import com.intellij.openapi.vfs.VirtualFile;
+import org.jetbrains.annotations.ApiStatus;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 import org.jetbrains.jps.model.JpsElement;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 import org.jetbrains.jps.model.JpsElement;
@@ -33,6 +34,7 @@ import java.util.Set;
  * @see ModuleRootModel#getContentEntries()
  * @see ModifiableRootModel#addContentEntry(VirtualFile)
  */
  * @see ModuleRootModel#getContentEntries()
  * @see ModifiableRootModel#addContentEntry(VirtualFile)
  */
+@ApiStatus.NonExtendable
 public interface ContentEntry extends Synthetic {
   /**
    * Returns the root file or directory for the content root, if it is valid.
 public interface ContentEntry extends Synthetic {
   /**
    * Returns the root file or directory for the content root, if it is valid.
index eb7f1cc236f0efc5ed0d20a0813ecfbdaade8f98..fed89508dc843c27486001441c6374c5d9abff2b 100644 (file)
@@ -16,6 +16,7 @@
 package com.intellij.openapi.roots;
 
 import com.intellij.openapi.vfs.VirtualFile;
 package com.intellij.openapi.roots;
 
 import com.intellij.openapi.vfs.VirtualFile;
+import org.jetbrains.annotations.ApiStatus;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
@@ -26,6 +27,7 @@ import org.jetbrains.annotations.Nullable;
  * @see ContentEntry#getExcludeFolders()
  * @author dsl
  */
  * @see ContentEntry#getExcludeFolders()
  * @author dsl
  */
+@ApiStatus.NonExtendable
 public interface ContentFolder extends Synthetic {
   /**
    * Returns the root file or directory for this root.
 public interface ContentFolder extends Synthetic {
   /**
    * Returns the root file or directory for this root.
index 6da65c420a4b1e4734324b51f1a029cb0dbab1d6..a1a525994a2d0a286925601f986cae1878d7e3a8 100644 (file)
  */
 package com.intellij.openapi.roots;
 
  */
 package com.intellij.openapi.roots;
 
+import org.jetbrains.annotations.ApiStatus;
+
 /**
  * Represents an exclude root under the content root of a module.
  *
  * @see ContentEntry#getExcludeFolders()  
  * @author dsl
  */
 /**
  * Represents an exclude root under the content root of a module.
  *
  * @see ContentEntry#getExcludeFolders()  
  * @author dsl
  */
+@ApiStatus.NonExtendable
 public interface ExcludeFolder extends ContentFolder {
 }
 public interface ExcludeFolder extends ContentFolder {
 }
index a485971339457982f5e8109086d4bda2a5c51153..bebd58f0834a3aee701af1871ed96c89896ad3aa 100644 (file)
  */
 package com.intellij.openapi.roots;
 
  */
 package com.intellij.openapi.roots;
 
+import org.jetbrains.annotations.ApiStatus;
 import org.jetbrains.annotations.NotNull;
 
 import org.jetbrains.annotations.NotNull;
 
-/**
- * @author dsl
- */
+@ApiStatus.NonExtendable
 public interface ExportableOrderEntry extends OrderEntry {
   boolean isExported();
   void setExported(boolean value);
 public interface ExportableOrderEntry extends OrderEntry {
   boolean isExported();
   void setExported(boolean value);
index f1a66f000f0304bf74d5817afdb06892ced204be..678948e0f428b5e38315d6b9dc0b0c2794a166a8 100644 (file)
@@ -18,6 +18,7 @@ package com.intellij.openapi.roots;
 import com.intellij.openapi.project.Project;
 import com.intellij.openapi.vfs.VirtualFile;
 import com.intellij.openapi.vfs.VirtualFileFilter;
 import com.intellij.openapi.project.Project;
 import com.intellij.openapi.vfs.VirtualFile;
 import com.intellij.openapi.vfs.VirtualFileFilter;
+import org.jetbrains.annotations.ApiStatus;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 import org.jetbrains.jps.model.module.JpsModuleSourceRootType;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 import org.jetbrains.jps.model.module.JpsModuleSourceRootType;
@@ -33,6 +34,7 @@ import java.util.Set;
  * @see ProjectRootManager#getFileIndex()
  * @see ModuleRootManager#getFileIndex()
  */
  * @see ProjectRootManager#getFileIndex()
  * @see ModuleRootManager#getFileIndex()
  */
+@ApiStatus.NonExtendable
 public interface FileIndex {
   /**
    * Processes all files and directories under content roots skipping excluded and ignored files and directories.
 public interface FileIndex {
   /**
    * Processes all files and directories under content roots skipping excluded and ignored files and directories.
index 6ca02da031d922b45ce3529c07f666b986631724..185e290740ccd529ba962f6f5bead3a1b221eb6c 100644 (file)
  */
 package com.intellij.openapi.roots;
 
  */
 package com.intellij.openapi.roots;
 
+import org.jetbrains.annotations.ApiStatus;
+
 /**
  * @author dsl
  */
 /**
  * @author dsl
  */
+@ApiStatus.NonExtendable
 public interface InheritedJdkOrderEntry extends JdkOrderEntry {
 }
 public interface InheritedJdkOrderEntry extends JdkOrderEntry {
 }
index fa43700adc94d23057d30b5a92bc2912e814c36d..c8823ca26dfe50eabe48b8a1a3ce645c5410c35d 100644 (file)
@@ -17,11 +17,10 @@ package com.intellij.openapi.roots;
 
 import com.intellij.openapi.module.Module;
 import com.intellij.openapi.vfs.VirtualFile;
 
 import com.intellij.openapi.module.Module;
 import com.intellij.openapi.vfs.VirtualFile;
+import org.jetbrains.annotations.ApiStatus;
 import org.jetbrains.annotations.NotNull;
 
 import org.jetbrains.annotations.NotNull;
 
-/**
- * @author nik
- */
+@ApiStatus.NonExtendable
 public abstract class JavaModuleExternalPaths extends ModuleExtension {
 
   public static JavaModuleExternalPaths getInstance(Module module) {
 public abstract class JavaModuleExternalPaths extends ModuleExtension {
 
   public static JavaModuleExternalPaths getInstance(Module module) {
index ede8d3386e88599f629703d99667922166be965b..c2b742e8f80cc0185f2020613db204ffcc982f2f 100644 (file)
@@ -16,8 +16,9 @@
 package com.intellij.openapi.roots;
 
 import com.intellij.openapi.projectRoots.Sdk;
 package com.intellij.openapi.roots;
 
 import com.intellij.openapi.projectRoots.Sdk;
-import com.intellij.openapi.vfs.VirtualFile;
+import org.jetbrains.annotations.ApiStatus;
 
 
+@ApiStatus.NonExtendable
 public interface JdkOrderEntry extends LibraryOrSdkOrderEntry {
   Sdk getJdk();
   String getJdkName();
 public interface JdkOrderEntry extends LibraryOrSdkOrderEntry {
   Sdk getJdk();
   String getJdkName();
index 30f904462c5cda811861fc26136aaedbaca4748b..dfb0e91d3c4e6236e0ebdaee88d199d39c490932 100644 (file)
 package com.intellij.openapi.roots;
 
 import com.intellij.openapi.vfs.VirtualFile;
 package com.intellij.openapi.roots;
 
 import com.intellij.openapi.vfs.VirtualFile;
+import org.jetbrains.annotations.ApiStatus;
 import org.jetbrains.annotations.NotNull;
 
 import org.jetbrains.annotations.NotNull;
 
-/**
- * @author nik
- */
+@ApiStatus.NonExtendable
 public interface LibraryOrSdkOrderEntry extends OrderEntry {
   @NotNull
   VirtualFile[] getRootFiles(@NotNull OrderRootType type);
 public interface LibraryOrSdkOrderEntry extends OrderEntry {
   @NotNull
   VirtualFile[] getRootFiles(@NotNull OrderRootType type);
index e09353c674d0df6bfa83bc71247fc6d9ea2505ee..03cba191fbe8db4cf3905ba93a472b77b86a52e6 100644 (file)
 package com.intellij.openapi.roots;
 
 import com.intellij.openapi.roots.libraries.Library;
 package com.intellij.openapi.roots;
 
 import com.intellij.openapi.roots.libraries.Library;
+import org.jetbrains.annotations.ApiStatus;
 import org.jetbrains.annotations.Nullable;
 
 /**
  *  @author dsl
  */
 import org.jetbrains.annotations.Nullable;
 
 /**
  *  @author dsl
  */
+@ApiStatus.NonExtendable
 public interface LibraryOrderEntry extends LibraryOrSdkOrderEntry, ExportableOrderEntry {
   @Nullable
   Library getLibrary();
 public interface LibraryOrderEntry extends LibraryOrSdkOrderEntry, ExportableOrderEntry {
   @Nullable
   Library getLibrary();
index 345a043dd4e7c0d89629dc1eb37af65569c03203..e023132e9eb32855c710f411b86ad33da80b84ed 100644 (file)
@@ -21,6 +21,7 @@ import com.intellij.openapi.projectRoots.Sdk;
 import com.intellij.openapi.roots.libraries.Library;
 import com.intellij.openapi.roots.libraries.LibraryTable;
 import com.intellij.openapi.vfs.VirtualFile;
 import com.intellij.openapi.roots.libraries.Library;
 import com.intellij.openapi.roots.libraries.LibraryTable;
 import com.intellij.openapi.vfs.VirtualFile;
+import org.jetbrains.annotations.ApiStatus;
 import org.jetbrains.annotations.NonNls;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 import org.jetbrains.annotations.NonNls;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
@@ -31,6 +32,7 @@ import org.jetbrains.annotations.Nullable;
  * @author dsl
  * @see ModuleRootManager#getModifiableModel()
  */
  * @author dsl
  * @see ModuleRootManager#getModifiableModel()
  */
+@ApiStatus.NonExtendable
 public interface ModifiableRootModel extends ModuleRootModel {
   @NotNull
   Project getProject();
 public interface ModifiableRootModel extends ModuleRootModel {
   @NotNull
   Project getProject();
index fc825865bee1029d22b120d53a64560e116cb1ba..56967f9c365ba6134db576f0a10a721b4053f24d 100644 (file)
@@ -16,6 +16,7 @@
 package com.intellij.openapi.roots;
 
 import com.intellij.openapi.vfs.VirtualFile;
 package com.intellij.openapi.roots;
 
 import com.intellij.openapi.vfs.VirtualFile;
+import org.jetbrains.annotations.ApiStatus;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
@@ -28,6 +29,7 @@ import java.util.List;
  *
  * @author dsl
  */
  *
  * @author dsl
  */
+@ApiStatus.NonExtendable
 public interface ModuleFileIndex extends FileIndex {
   /**
    * Returns the order entry to which the specified file or directory
 public interface ModuleFileIndex extends FileIndex {
   /**
    * Returns the order entry to which the specified file or directory
index 464005b85b1ac1229d8e5cdedeb024b86f23984b..cf2a03b6bee54b65bd58d429253d687badbfc5a8 100644 (file)
  */
 package com.intellij.openapi.roots;
 
  */
 package com.intellij.openapi.roots;
 
+import org.jetbrains.annotations.ApiStatus;
+
 /**
  * @author dsl
  */
 /**
  * @author dsl
  */
+@ApiStatus.NonExtendable
 public interface ModuleJdkOrderEntry extends JdkOrderEntry {
 }
 public interface ModuleJdkOrderEntry extends JdkOrderEntry {
 }
index 8b2512b2c7be4ae76e7dd0384dd3848ed1670fd4..efd2880ff2887087f8ec68436d4832a0305a7ac2 100644 (file)
 package com.intellij.openapi.roots;
 
 import com.intellij.openapi.module.Module;
 package com.intellij.openapi.roots;
 
 import com.intellij.openapi.module.Module;
+import org.jetbrains.annotations.ApiStatus;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
 /**
  *  @author dsl
  */
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
 /**
  *  @author dsl
  */
+@ApiStatus.NonExtendable
 public interface ModuleOrderEntry extends ExportableOrderEntry {
   @Nullable
   Module getModule();
 public interface ModuleOrderEntry extends ExportableOrderEntry {
   @Nullable
   Module getModule();
index f815fe79cccfd07532d6ce195828c57d992e9d94..7508ce0b0c692fe43f5199d918fa0c7a57bac55b 100644 (file)
@@ -16,6 +16,7 @@
 package com.intellij.openapi.roots;
 
 import com.intellij.openapi.module.Module;
 package com.intellij.openapi.roots;
 
 import com.intellij.openapi.module.Module;
+import org.jetbrains.annotations.ApiStatus;
 import org.jetbrains.annotations.NotNull;
 
 /**
 import org.jetbrains.annotations.NotNull;
 
 /**
@@ -24,6 +25,7 @@ import org.jetbrains.annotations.NotNull;
  * @author dsl
  * @see CompilerModuleExtension
  */
  * @author dsl
  * @see CompilerModuleExtension
  */
+@ApiStatus.NonExtendable
 public abstract class ModuleRootManager implements ModuleRootModel, ProjectModelElement {
   /**
    * Returns the module root manager instance for the specified module.
 public abstract class ModuleRootManager implements ModuleRootModel, ProjectModelElement {
   /**
    * Returns the module root manager instance for the specified module.
index c9e27cd608982a58619be9641641e21d6c057767..81740acd3f746a37d02aa457dd6a81588ae16f82 100644 (file)
@@ -18,6 +18,7 @@ package com.intellij.openapi.roots;
 import com.intellij.openapi.module.Module;
 import com.intellij.openapi.projectRoots.Sdk;
 import com.intellij.openapi.vfs.VirtualFile;
 import com.intellij.openapi.module.Module;
 import com.intellij.openapi.projectRoots.Sdk;
 import com.intellij.openapi.vfs.VirtualFile;
+import org.jetbrains.annotations.ApiStatus;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 import org.jetbrains.jps.model.module.JpsModuleSourceRootType;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 import org.jetbrains.jps.model.module.JpsModuleSourceRootType;
@@ -31,6 +32,7 @@ import java.util.Set;
  *
  * @author dsl
  */
  *
  * @author dsl
  */
+@ApiStatus.NonExtendable
 public interface ModuleRootModel {
   /**
    * Returns the module to which the model belongs.
 public interface ModuleRootModel {
   /**
    * Returns the module to which the model belongs.
index c9fa50ff496ef26f3a264610db8345eef5fb4033..971810db669c8309afdb2e6679e27f84da9229b8 100644 (file)
  */
 package com.intellij.openapi.roots;
 
  */
 package com.intellij.openapi.roots;
 
+import org.jetbrains.annotations.ApiStatus;
 import org.jetbrains.annotations.NotNull;
 
 /**
  * Order entry for content source folders
  *  @author dsl
  */
 import org.jetbrains.annotations.NotNull;
 
 /**
  * Order entry for content source folders
  *  @author dsl
  */
+@ApiStatus.NonExtendable
 public interface ModuleSourceOrderEntry extends OrderEntry {
   @NotNull
   ModuleRootModel getRootModel();
 public interface ModuleSourceOrderEntry extends OrderEntry {
   @NotNull
   ModuleRootModel getRootModel();
index fb9ed5e06c2674bad8697859e5506f2f6ac38f1d..a2e219bbf9025479e5ba427f7723e3cc39984521 100644 (file)
@@ -17,6 +17,7 @@ package com.intellij.openapi.roots;
 
 import com.intellij.openapi.module.Module;
 import com.intellij.openapi.vfs.VirtualFile;
 
 import com.intellij.openapi.module.Module;
 import com.intellij.openapi.vfs.VirtualFile;
+import org.jetbrains.annotations.ApiStatus;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
@@ -26,6 +27,7 @@ import org.jetbrains.annotations.Nullable;
  *
  * @author dsl
  */
  *
  * @author dsl
  */
+@ApiStatus.NonExtendable
 public interface OrderEntry extends Synthetic, Comparable<OrderEntry> {
   /**
    * The empty array of order entries which can be reused to avoid unnecessary allocations.
 public interface OrderEntry extends Synthetic, Comparable<OrderEntry> {
   /**
    * The empty array of order entries which can be reused to avoid unnecessary allocations.
index a2e62062c90dd51f33927ecbd5cf3fbaa0a990ae..3b1ddf8dc55dc67d551cc37bce2ad64d536ff642 100644 (file)
@@ -23,6 +23,7 @@ import com.intellij.openapi.vfs.VirtualFile;
 import com.intellij.util.NotNullFunction;
 import com.intellij.util.PathsList;
 import com.intellij.util.Processor;
 import com.intellij.util.NotNullFunction;
 import com.intellij.util.PathsList;
 import com.intellij.util.Processor;
+import org.jetbrains.annotations.ApiStatus;
 import org.jetbrains.annotations.NotNull;
 
 import java.util.List;
 import org.jetbrains.annotations.NotNull;
 
 import java.util.List;
@@ -38,6 +39,7 @@ import java.util.List;
  *
  * @author nik
  */
  *
  * @author nik
  */
+@ApiStatus.NonExtendable
 public abstract class OrderEnumerator {
   /**
    * Skip test dependencies
 public abstract class OrderEnumerator {
   /**
    * Skip test dependencies
index 509be0860b41ef675fcf9a7f62f626b4fb854647..5d44d9256f71839e60c342e80efca17effbc1859 100644 (file)
@@ -15,6 +15,9 @@
  */
 package com.intellij.openapi.roots;
 
  */
 package com.intellij.openapi.roots;
 
+import org.jetbrains.annotations.ApiStatus;
+
+@ApiStatus.NonExtendable
 public interface OrderEnumeratorSettings {
   boolean isProductionOnly();
   boolean isCompileOnly();
 public interface OrderEnumeratorSettings {
   boolean isProductionOnly();
   boolean isCompileOnly();
index db9cb2276063be5850cd347dbea8df5d8bb304ed..66f793879e522abf62ccbb9c0161d64ba1e12c5e 100644 (file)
@@ -18,6 +18,7 @@ package com.intellij.openapi.roots;
 import com.intellij.openapi.vfs.VirtualFile;
 import com.intellij.util.NotNullFunction;
 import com.intellij.util.PathsList;
 import com.intellij.openapi.vfs.VirtualFile;
 import com.intellij.util.NotNullFunction;
 import com.intellij.util.PathsList;
+import org.jetbrains.annotations.ApiStatus;
 import org.jetbrains.annotations.NotNull;
 
 /**
 import org.jetbrains.annotations.NotNull;
 
 /**
@@ -28,6 +29,7 @@ import org.jetbrains.annotations.NotNull;
  *
  * @author nik
  */
  *
  * @author nik
  */
+@ApiStatus.NonExtendable
 public interface OrderRootsEnumerator {
   /**
    * @return all roots processed by this enumerator
 public interface OrderRootsEnumerator {
   /**
    * @return all roots processed by this enumerator
index 6561ace8f736a658b39899a76bbb9f632a67a8a1..9e3a4327139286fb29a8ef09a2f7d28ea786ea7c 100644 (file)
@@ -20,6 +20,7 @@ import com.intellij.openapi.fileTypes.FileTypeRegistry;
 import com.intellij.openapi.module.Module;
 import com.intellij.openapi.project.Project;
 import com.intellij.openapi.vfs.VirtualFile;
 import com.intellij.openapi.module.Module;
 import com.intellij.openapi.project.Project;
 import com.intellij.openapi.vfs.VirtualFile;
+import org.jetbrains.annotations.ApiStatus;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 
@@ -30,6 +31,7 @@ import java.util.List;
  *
  * @see ProjectRootManager#getFileIndex()
  */
  *
  * @see ProjectRootManager#getFileIndex()
  */
+@ApiStatus.NonExtendable
 public interface ProjectFileIndex extends FileIndex {
   class SERVICE {
     private SERVICE() { }
 public interface ProjectFileIndex extends FileIndex {
   class SERVICE {
     private SERVICE() { }
index c08e4b8585adaa7eea3339f8f66ec704b4dc69bc..6c4da4f4995076b1ac4fdf413559b273cea38c37 100644 (file)
@@ -20,6 +20,7 @@ import com.intellij.openapi.project.Project;
 import com.intellij.openapi.projectRoots.Sdk;
 import com.intellij.openapi.util.SimpleModificationTracker;
 import com.intellij.openapi.vfs.VirtualFile;
 import com.intellij.openapi.projectRoots.Sdk;
 import com.intellij.openapi.util.SimpleModificationTracker;
 import com.intellij.openapi.vfs.VirtualFile;
+import org.jetbrains.annotations.ApiStatus;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 import org.jetbrains.jps.model.module.JpsModuleSourceRootType;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.annotations.Nullable;
 import org.jetbrains.jps.model.module.JpsModuleSourceRootType;
@@ -31,6 +32,7 @@ import java.util.Set;
 /**
  * Allows to query and modify the list of root files and directories belonging to a project.
  */
 /**
  * Allows to query and modify the list of root files and directories belonging to a project.
  */
+@ApiStatus.NonExtendable
 public abstract class ProjectRootManager extends SimpleModificationTracker {
   /**
    * Returns the project root manager instance for the specified project.
 public abstract class ProjectRootManager extends SimpleModificationTracker {
   /**
    * Returns the project root manager instance for the specified project.
index b2561cad3098da0635c8e739e6329c95396f4719..34cf94cd7d0c6ff544ed743a8cfd2a16cc204e39 100644 (file)
@@ -17,6 +17,7 @@ package com.intellij.openapi.roots;
 
 import com.intellij.openapi.Disposable;
 import com.intellij.openapi.vfs.VirtualFile;
 
 import com.intellij.openapi.Disposable;
 import com.intellij.openapi.vfs.VirtualFile;
+import org.jetbrains.annotations.ApiStatus;
 import org.jetbrains.annotations.NotNull;
 
 import java.util.EventListener;
 import org.jetbrains.annotations.NotNull;
 
 import java.util.EventListener;
@@ -25,6 +26,7 @@ import java.util.EventListener;
  *  Root provider for order entry
  *  @author dsl
  */
  *  Root provider for order entry
  *  @author dsl
  */
+@ApiStatus.NonExtendable
 public interface RootProvider {
   @NotNull String[] getUrls(@NotNull OrderRootType rootType);
   @NotNull VirtualFile[] getFiles(@NotNull OrderRootType rootType);
 public interface RootProvider {
   @NotNull String[] getUrls(@NotNull OrderRootType rootType);
   @NotNull VirtualFile[] getFiles(@NotNull OrderRootType rootType);
index a8388a96985c4d55809d9b56c02e49928321edd5..ba3da63e1596e691c570de90e2bda88265067e21 100644 (file)
@@ -15,6 +15,7 @@
  */
 package com.intellij.openapi.roots;
 
  */
 package com.intellij.openapi.roots;
 
+import org.jetbrains.annotations.ApiStatus;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.jps.model.module.JpsModuleSourceRoot;
 import org.jetbrains.jps.model.module.JpsModuleSourceRootType;
 import org.jetbrains.annotations.NotNull;
 import org.jetbrains.jps.model.module.JpsModuleSourceRoot;
 import org.jetbrains.jps.model.module.JpsModuleSourceRootType;
@@ -25,6 +26,7 @@ import org.jetbrains.jps.model.module.JpsModuleSourceRootType;
  * @author dsl
  * @see ContentEntry#getSourceFolders()
  */
  * @author dsl
  * @see ContentEntry#getSourceFolders()
  */
+@ApiStatus.NonExtendable
 public interface SourceFolder extends ContentFolder {
   /**
    * Checks if this root is a production or test source root.
 public interface SourceFolder extends ContentFolder {
   /**
    * Checks if this root is a production or test source root.