[platform] get rid of some raw types in facets API and impl
authornik <Nikolay.Chashnikov@jetbrains.com>
Fri, 17 Jan 2020 07:57:01 +0000 (10:57 +0300)
committerintellij-monorepo-bot <intellij-monorepo-bot-no-reply@jetbrains.com>
Fri, 17 Jan 2020 08:06:46 +0000 (08:06 +0000)
GitOrigin-RevId: c8e00157e6223207cad1ebaf990c0e6eb2391a86

15 files changed:
platform/lang-api/src/com/intellij/facet/FacetFinder.java
platform/lang-api/src/com/intellij/facet/FacetManager.java
platform/lang-api/src/com/intellij/facet/FacetModificationTrackingService.java
platform/lang-api/src/com/intellij/facet/FacetTypeRegistry.java
platform/lang-api/src/com/intellij/facet/ModifiableFacetModel.java
platform/lang-api/src/com/intellij/facet/ProjectFacetManager.java
platform/lang-api/src/com/intellij/facet/ProjectWideFacetListenersRegistry.java
platform/lang-impl/src/com/intellij/facet/FacetManagerBase.java
platform/lang-impl/src/com/intellij/facet/impl/FacetFinderImpl.java
platform/lang-impl/src/com/intellij/facet/impl/FacetModelBase.java
platform/lang-impl/src/com/intellij/facet/impl/FacetModelImpl.java
platform/lang-impl/src/com/intellij/facet/impl/FacetModificationTrackingServiceImpl.java
platform/lang-impl/src/com/intellij/facet/impl/FacetTypeRegistryImpl.java
platform/lang-impl/src/com/intellij/facet/impl/ProjectFacetManagerImpl.java
platform/lang-impl/src/com/intellij/facet/impl/ProjectWideFacetListenersRegistryImpl.java

index 51ee6fa10923f2f001377a789ff8eb3fff6d223d..5e1eae7fd91ebc1e405513a540f143ecfe5670d4 100644 (file)
@@ -34,10 +34,10 @@ public abstract class FacetFinder {
   }
 
   @Nullable
-  public abstract <F extends Facet & FacetRootsProvider> F findFacet(VirtualFile file, FacetTypeId<F> type);
+  public abstract <F extends Facet<?> & FacetRootsProvider> F findFacet(VirtualFile file, FacetTypeId<F> type);
 
   @NotNull
-  public abstract <F extends Facet & FacetRootsProvider> Collection<F> findFacets(VirtualFile file, FacetTypeId<F> type);
+  public abstract <F extends Facet<?> & FacetRootsProvider> Collection<F> findFacets(VirtualFile file, FacetTypeId<F> type);
 
-  public abstract <F extends Facet> ModificationTracker getAllFacetsOfTypeModificationTracker(FacetTypeId<F> type);
+  public abstract <F extends Facet<?>> ModificationTracker getAllFacetsOfTypeModificationTracker(FacetTypeId<F> type);
 }
index 512add56b7611de0b50e0b756a2112afef49d672..63f76f12d0b9633ba3c0cf24f77c8bf021593390 100644 (file)
@@ -39,5 +39,5 @@ public abstract class FacetManager implements FacetModel {
   /**
    * This method must be called when configuration of {@code facet} is changed via its API.
    */
-  public abstract void facetConfigurationChanged(@NotNull Facet facet);
+  public abstract void facetConfigurationChanged(@NotNull Facet<?> facet);
 }
index 8674fcbaf5aac3ccb2fa2195de200f569aa20926..c8403cd751d69decd2e6e95e456b105d30bcd620 100644 (file)
@@ -31,16 +31,16 @@ public abstract class FacetModificationTrackingService {
     return ModuleServiceManager.getService(module, FacetModificationTrackingService.class);
   }
 
-  public static FacetModificationTrackingService getInstance(@NotNull Facet facet) {
+  public static FacetModificationTrackingService getInstance(@NotNull Facet<?> facet) {
     return ModuleServiceManager.getService(facet.getModule(), FacetModificationTrackingService.class);
   }
 
   @NotNull
-  public abstract ModificationTracker getFacetModificationTracker(@NotNull Facet facet);
+  public abstract ModificationTracker getFacetModificationTracker(@NotNull Facet<?> facet);
 
-  public abstract void incFacetModificationTracker(@NotNull Facet facet);
+  public abstract void incFacetModificationTracker(@NotNull Facet<?> facet);
 
-  public abstract <T extends Facet> void addModificationTrackerListener(final T facet, final ModificationTrackerListener<? super T> listener, final Disposable parent);
+  public abstract <T extends Facet<?>> void addModificationTrackerListener(final T facet, final ModificationTrackerListener<? super T> listener, final Disposable parent);
 
-  public abstract void removeModificationTrackerListener(final Facet facet, final ModificationTrackerListener<?> listener);
+  public abstract void removeModificationTrackerListener(final Facet<?> facet, final ModificationTrackerListener<?> listener);
 }
index 637269367fb4339916c101124705f9ee89bdf616..084e5a8beca688397d4c6aaba57978250d2f3601 100644 (file)
@@ -30,19 +30,19 @@ public abstract class FacetTypeRegistry {
    * @deprecated register {@code facetType} as an extension instead
    */
   @Deprecated
-  public abstract void registerFacetType(FacetType facetType);
+  public abstract void registerFacetType(FacetType<?, ?> facetType);
 
   /**
    * @deprecated register {@code facetType} as an extension instead
    */
   @Deprecated
-  public abstract void unregisterFacetType(FacetType facetType);
+  public abstract void unregisterFacetType(FacetType<?, ?> facetType);
 
-  public abstract FacetTypeId @NotNull [] getFacetTypeIds();
+  public abstract FacetTypeId<?> @NotNull [] getFacetTypeIds();
 
-  public abstract FacetType @NotNull [] getFacetTypes();
+  public abstract FacetType<?, ?> @NotNull [] getFacetTypes();
 
-  public abstract FacetType @NotNull [] getSortedFacetTypes();
+  public abstract FacetType<?, ?> @NotNull [] getSortedFacetTypes();
 
   @Nullable
   public abstract FacetType findFacetType(String id);
index da2fc7275132bd1f7228d4d74e2fbfd28ab45443..aabd7c4a099d4bcf9bed8eac9f22bef450fac90c 100644 (file)
@@ -25,20 +25,20 @@ import org.jetbrains.annotations.Nullable;
 @ApiStatus.NonExtendable
 public interface ModifiableFacetModel extends FacetModel {
 
-  void addFacet(Facet facet);
-  void addFacet(Facet facet, @Nullable ProjectModelExternalSource externalSource);
-  void removeFacet(Facet facet);
+  void addFacet(Facet<?> facet);
+  void addFacet(Facet<?> facet, @Nullable ProjectModelExternalSource externalSource);
+  void removeFacet(Facet<?> facet);
 
-  void rename(Facet facet, String newName);
+  void rename(Facet<?> facet, String newName);
 
   @Nullable
-  String getNewName(Facet facet);
+  String getNewName(Facet<?> facet);
 
   void commit();
 
   boolean isModified();
 
-  boolean isNewFacet(Facet facet);
+  boolean isNewFacet(Facet<?> facet);
 
   void addListener(@NotNull Listener listener, @NotNull Disposable parentDisposable);
 
index d9b2693eda547bc4ad4290dc81a8ed8c616264bf..c90be82f177519bcc0e141d3cf7204d160e773f8 100644 (file)
@@ -33,10 +33,10 @@ public abstract class ProjectFacetManager {
 
   public abstract boolean hasFacets(@NotNull FacetTypeId<?> typeId);
 
-  public abstract <F extends Facet> List<F> getFacets(@NotNull FacetTypeId<F> typeId, final Module[] modules);
+  public abstract <F extends Facet<?>> List<F> getFacets(@NotNull FacetTypeId<F> typeId, final Module[] modules);
 
   @NotNull
-  public abstract <F extends Facet> List<F> getFacets(@NotNull FacetTypeId<F> typeId);
+  public abstract <F extends Facet<?>> List<F> getFacets(@NotNull FacetTypeId<F> typeId);
 
   @NotNull
   public abstract List<Module> getModulesWithFacet(@NotNull FacetTypeId<?> typeId);
index 6203f99461ea21d7736e2c33163df397db33f6b3..5b0a7a6f8291bd21097b46a526185fd5f2bc7036 100644 (file)
@@ -29,10 +29,10 @@ public abstract class ProjectWideFacetListenersRegistry {
     return ServiceManager.getService(project, ProjectWideFacetListenersRegistry.class);
   }
 
-  public abstract <F extends Facet> void registerListener(@NotNull FacetTypeId<F> typeId, @NotNull ProjectWideFacetListener<? extends F> listener);
-  public abstract <F extends Facet> void registerListener(@NotNull FacetTypeId<F> typeId, @NotNull ProjectWideFacetListener<? extends F> listener,
+  public abstract <F extends Facet<?>> void registerListener(@NotNull FacetTypeId<F> typeId, @NotNull ProjectWideFacetListener<? extends F> listener);
+  public abstract <F extends Facet<?>> void registerListener(@NotNull FacetTypeId<F> typeId, @NotNull ProjectWideFacetListener<? extends F> listener,
                                                           @NotNull Disposable parentDisposable);
-  public abstract <F extends Facet> void unregisterListener(@NotNull FacetTypeId<F> typeId, @NotNull ProjectWideFacetListener<? extends F> listener);
+  public abstract <F extends Facet<?>> void unregisterListener(@NotNull FacetTypeId<F> typeId, @NotNull ProjectWideFacetListener<? extends F> listener);
 
   public abstract void registerListener(@NotNull ProjectWideFacetListener<Facet> listener);
   public abstract void unregisterListener(@NotNull ProjectWideFacetListener<Facet> listener);
index 36e2e089050f8f86ab1a3cfb0a8353b263f2ddce..ad32997d9ea5fb3ddcf3418cfdcc27a6070cf278 100644 (file)
@@ -68,7 +68,7 @@ public abstract class FacetManagerBase extends FacetManager {
   }
 
   @Override
-  public void facetConfigurationChanged(@NotNull Facet facet) {
+  public void facetConfigurationChanged(@NotNull Facet<?> facet) {
     getModule().getMessageBus().syncPublisher(FacetManager.FACETS_TOPIC).facetConfigurationChanged(facet);
   }
 
index fbab50d981271bca36e4fdf14b5cb75f575abbfd..9d72bf4e6cdf9fbf067e13c435e857a93a53f062 100644 (file)
@@ -51,7 +51,7 @@ public class FacetFinderImpl extends FacetFinder {
   }
 
   @Override
-  public <F extends Facet> ModificationTracker getAllFacetsOfTypeModificationTracker(FacetTypeId<F> type) {
+  public <F extends Facet<?>> ModificationTracker getAllFacetsOfTypeModificationTracker(FacetTypeId<F> type) {
     AllFacetsOfTypeModificationTracker tracker = myAllFacetTrackers.get(type);
     if (tracker == null) {
       tracker = new AllFacetsOfTypeModificationTracker<>(myProject, type);
@@ -61,7 +61,7 @@ public class FacetFinderImpl extends FacetFinder {
     return tracker;
   }
 
-  private <F extends Facet & FacetRootsProvider> Map<VirtualFile, List<Facet>> getRootToFacetsMap(final FacetTypeId<F> type) {
+  private <F extends Facet<?> & FacetRootsProvider> Map<VirtualFile, List<Facet>> getRootToFacetsMap(final FacetTypeId<F> type) {
     CachedValue<Map<VirtualFile, List<Facet>>> cachedValue = myCachedMaps.get(type);
     if (cachedValue == null) {
       cachedValue = myCachedValuesManager.createCachedValue(() -> {
@@ -97,18 +97,19 @@ public class FacetFinderImpl extends FacetFinder {
 
   @Override
   @Nullable
-  public <F extends Facet & FacetRootsProvider> F findFacet(VirtualFile file, FacetTypeId<F> type) {
+  public <F extends Facet<?> & FacetRootsProvider> F findFacet(VirtualFile file, FacetTypeId<F> type) {
     final List<F> list = findFacets(file, type);
     return list.size() > 0 ? list.get(0) : null;
   }
 
   @Override
   @NotNull
-  public <F extends Facet & FacetRootsProvider> List<F> findFacets(VirtualFile file, FacetTypeId<F> type) {
+  public <F extends Facet<?> & FacetRootsProvider> List<F> findFacets(VirtualFile file, FacetTypeId<F> type) {
     final Map<VirtualFile, List<Facet>> map = getRootToFacetsMap(type);
     if (!map.isEmpty()) {
       while (file != null) {
-        final List<F> list = (List<F>)((List)map.get(file));
+        @SuppressWarnings("unchecked")
+        List<F> list = (List<F>)((List)map.get(file));
         if (list != null) {
           return list;
         }
index eeeeafb56e7b31cf736ee42a350f46a7952c5f0a..6477519429ef226a29b91a9fc042bc5ec5b5df23 100644 (file)
@@ -69,7 +69,7 @@ public abstract class FacetModelBase implements FacetModel {
 
   @Override
   @NotNull
-  public String getFacetName(@NotNull Facet facet) {
+  public String getFacetName(@NotNull Facet<?> facet) {
     return facet.getName();
   }
 
index f2475dee7050d84bf1d0640665d34300fe2e6fb6..c205fcfd2eac65504e8cad23f30e6b0b56189c74 100644 (file)
@@ -32,8 +32,8 @@ import java.util.*;
 
 public class FacetModelImpl extends FacetModelBase implements ModifiableFacetModel {
   private static final Logger LOG = Logger.getInstance(FacetModelImpl.class);
-  private final List<Facet> myFacets = new ArrayList<>();
-  private final Map<Facet, String> myFacet2NewName = new HashMap<>();
+  private final List<Facet<?>> myFacets = new ArrayList<>();
+  private final Map<Facet<?>, String> myFacet2NewName = new HashMap<>();
   private final FacetManagerImpl myManager;
   private final List<Listener> myListeners = ContainerUtil.createLockFreeCopyOnWriteList();
 
@@ -42,13 +42,13 @@ public class FacetModelImpl extends FacetModelBase implements ModifiableFacetMod
   }
 
   public void addFacetsFromManager() {
-    for (Facet facet : myManager.getAllFacets()) {
+    for (Facet<?> facet : myManager.getAllFacets()) {
       addFacet(facet);
     }
   }
 
   @Override
-  public void addFacet(Facet facet) {
+  public void addFacet(Facet<?> facet) {
     if (myFacets.contains(facet)) {
       LOG.error("Facet " + facet + " [" + facet.getTypeId() + "] is already added");
     }
@@ -58,13 +58,13 @@ public class FacetModelImpl extends FacetModelBase implements ModifiableFacetMod
   }
 
   @Override
-  public void addFacet(Facet facet, @Nullable ProjectModelExternalSource externalSource) {
+  public void addFacet(Facet<?> facet, @Nullable ProjectModelExternalSource externalSource) {
     addFacet(facet);
     myManager.setExternalSource(facet, externalSource);
   }
 
   @Override
-  public void removeFacet(Facet facet) {
+  public void removeFacet(Facet<?> facet) {
     if (!myFacets.remove(facet)) {
       LOG.error("Facet " + facet + " [" + facet.getTypeId() + "] not found");
     }
@@ -73,7 +73,7 @@ public class FacetModelImpl extends FacetModelBase implements ModifiableFacetMod
   }
 
   @Override
-  public void rename(final Facet facet, final String newName) {
+  public void rename(final Facet<?> facet, final String newName) {
     if (!newName.equals(facet.getName())) {
       myFacet2NewName.put(facet, newName);
     } else {
@@ -84,7 +84,7 @@ public class FacetModelImpl extends FacetModelBase implements ModifiableFacetMod
 
   @Override
   @Nullable
-  public String getNewName(final Facet facet) {
+  public String getNewName(final Facet<?> facet) {
     return myFacet2NewName.get(facet);
   }
 
@@ -99,18 +99,18 @@ public class FacetModelImpl extends FacetModelBase implements ModifiableFacetMod
   }
 
   @Override
-  public boolean isNewFacet(final Facet facet) {
+  public boolean isNewFacet(final Facet<?> facet) {
     return myFacets.contains(facet) && ArrayUtil.find(myManager.getAllFacets(), facet) == -1;
   }
 
   @Override
-  public Facet @NotNull [] getAllFacets() {
+  public Facet<?> @NotNull [] getAllFacets() {
     return myFacets.toArray(Facet.EMPTY_ARRAY);
   }
 
   @Override
   @NotNull
-  public String getFacetName(@NotNull final Facet facet) {
+  public String getFacetName(@NotNull final Facet<?> facet) {
     return myFacet2NewName.containsKey(facet) ? myFacet2NewName.get(facet) : facet.getName();
   }
 
index ffdabd43b6a0e8a67141b8cc85991968e0a1bd58..019c6ade35d6c230da828e95c3b61ad67f2a929d 100644 (file)
@@ -33,7 +33,7 @@ import org.jetbrains.annotations.NotNull;
 import java.util.concurrent.ConcurrentMap;
 
 public class FacetModificationTrackingServiceImpl extends FacetModificationTrackingService {
-  private final ConcurrentMap<Facet, Pair<SimpleModificationTracker, EventDispatcher<ModificationTrackerListener>>> myModificationsTrackers =
+  private final ConcurrentMap<Facet<?>, Pair<SimpleModificationTracker, EventDispatcher<ModificationTrackerListener>>> myModificationsTrackers =
     ContainerUtil.newConcurrentMap();
 
   public FacetModificationTrackingServiceImpl(final Module module) {
@@ -42,11 +42,11 @@ public class FacetModificationTrackingServiceImpl extends FacetModificationTrack
 
   @Override
   @NotNull
-  public ModificationTracker getFacetModificationTracker(@NotNull final Facet facet) {
+  public ModificationTracker getFacetModificationTracker(@NotNull final Facet<?> facet) {
     return getFacetInfo(facet).first;
   }
 
-  private Pair<SimpleModificationTracker, EventDispatcher<ModificationTrackerListener>> getFacetInfo(final Facet facet) {
+  private Pair<SimpleModificationTracker, EventDispatcher<ModificationTrackerListener>> getFacetInfo(final Facet<?> facet) {
     Pair<SimpleModificationTracker, EventDispatcher<ModificationTrackerListener>> pair = myModificationsTrackers.get(facet);
     if (pair != null) return pair;
 
@@ -55,7 +55,7 @@ public class FacetModificationTrackingServiceImpl extends FacetModificationTrack
   }
 
   @Override
-  public void incFacetModificationTracker(@NotNull final Facet facet) {
+  public void incFacetModificationTracker(@NotNull final Facet<?> facet) {
     final Pair<SimpleModificationTracker, EventDispatcher<ModificationTrackerListener>> pair = getFacetInfo(facet);
     pair.first.incModificationCount();
     //noinspection unchecked
@@ -63,12 +63,12 @@ public class FacetModificationTrackingServiceImpl extends FacetModificationTrack
   }
 
   @Override
-  public <T extends Facet> void addModificationTrackerListener(final T facet, final ModificationTrackerListener<? super T> listener, final Disposable parent) {
+  public <T extends Facet<?>> void addModificationTrackerListener(final T facet, final ModificationTrackerListener<? super T> listener, final Disposable parent) {
     getFacetInfo(facet).second.addListener(listener, parent);
   }
 
   @Override
-  public void removeModificationTrackerListener(final Facet facet, final ModificationTrackerListener<?> listener) {
+  public void removeModificationTrackerListener(final Facet<?> facet, final ModificationTrackerListener<?> listener) {
     getFacetInfo(facet).second.removeListener(listener);
   }
 
index 807010b13c1005518ec6c4b2f3f52f97482b7ceb..c8576a05f1d956319a1794e5c2b816c7e2f219c8 100644 (file)
@@ -12,15 +12,15 @@ import java.util.*;
 
 public class FacetTypeRegistryImpl extends FacetTypeRegistry {
   private static final Logger LOG = Logger.getInstance(FacetTypeRegistryImpl.class);
-  private static final Comparator<FacetType> FACET_TYPE_COMPARATOR =
+  private static final Comparator<FacetType<?, ?>> FACET_TYPE_COMPARATOR =
     (o1, o2) -> o1.getPresentableName().compareToIgnoreCase(o2.getPresentableName());
-  private final Map<String, FacetTypeId> myTypeIds = new HashMap<>();
-  private final Map<FacetTypeId, FacetType> myFacetTypes = new HashMap<>();
+  private final Map<String, FacetTypeId<?>> myTypeIds = new HashMap<>();
+  private final Map<FacetTypeId<?>, FacetType<?, ?>> myFacetTypes = new HashMap<>();
   private boolean myExtensionsLoaded = false;
 
   @Override
-  public synchronized void registerFacetType(FacetType facetType) {
-    final FacetTypeId typeId = facetType.getId();
+  public synchronized void registerFacetType(FacetType<?, ?> facetType) {
+    final FacetTypeId<?> typeId = facetType.getId();
     String id = facetType.getStringId();
     LOG.assertTrue(!id.contains("/"), "Facet type id '" + id + "' contains illegal character '/'");
     LOG.assertTrue(!myFacetTypes.containsKey(typeId), "Facet type '" + id + "' is already registered");
@@ -31,8 +31,8 @@ public class FacetTypeRegistryImpl extends FacetTypeRegistry {
   }
 
   @Override
-  public synchronized void unregisterFacetType(FacetType facetType) {
-    final FacetTypeId id = facetType.getId();
+  public synchronized void unregisterFacetType(FacetType<?, ?> facetType) {
+    final FacetTypeId<?> id = facetType.getId();
     final String stringId = facetType.getStringId();
     LOG.assertTrue(myFacetTypes.remove(id) != null, "Facet type '" + stringId + "' is not registered");
     myFacetTypes.remove(id);
@@ -40,24 +40,24 @@ public class FacetTypeRegistryImpl extends FacetTypeRegistry {
   }
 
   @Override
-  public synchronized FacetTypeId @NotNull [] getFacetTypeIds() {
+  public synchronized FacetTypeId<?> @NotNull [] getFacetTypeIds() {
     loadExtensions();
-    final Set<FacetTypeId> ids = myFacetTypes.keySet();
+    final Set<FacetTypeId<?>> ids = myFacetTypes.keySet();
     return ids.toArray(new FacetTypeId[0]);
   }
 
   @Override
-  public synchronized FacetType @NotNull [] getFacetTypes() {
+  public synchronized FacetType<?, ?> @NotNull [] getFacetTypes() {
     loadExtensions();
-    final Collection<FacetType> types = myFacetTypes.values();
-    final FacetType[] facetTypes = types.toArray(new FacetType[0]);
+    final Collection<FacetType<?, ?>> types = myFacetTypes.values();
+    final FacetType<?, ?>[] facetTypes = types.toArray(new FacetType[0]);
     Arrays.sort(facetTypes, FACET_TYPE_COMPARATOR);
     return facetTypes;
   }
 
   @Override
-  public FacetType @NotNull [] getSortedFacetTypes() {
-    final FacetType[] types = getFacetTypes();
+  public FacetType<?, ?> @NotNull [] getSortedFacetTypes() {
+    final FacetType<?, ?>[] types = getFacetTypes();
     Arrays.sort(types, FACET_TYPE_COMPARATOR);
     return types;
   }
@@ -66,7 +66,7 @@ public class FacetTypeRegistryImpl extends FacetTypeRegistry {
   @Nullable
   public synchronized FacetType findFacetType(String id) {
     loadExtensions();
-    final FacetTypeId typeId = myTypeIds.get(id);
+    final FacetTypeId<?> typeId = myTypeIds.get(id);
     return typeId == null ? null : myFacetTypes.get(typeId);
   }
 
@@ -74,9 +74,9 @@ public class FacetTypeRegistryImpl extends FacetTypeRegistry {
   @Override
   public synchronized <F extends Facet<C>, C extends FacetConfiguration> FacetType<F, C> findFacetType(@NotNull FacetTypeId<F> typeId) {
     loadExtensions();
-    FacetType type = myFacetTypes.get(typeId);
+    @SuppressWarnings("unchecked")
+    FacetType<F, C> type = (FacetType<F, C>)myFacetTypes.get(typeId);
     LOG.assertTrue(type != null, "Cannot find facet by id '" + typeId + "'");
-    //noinspection unchecked
     return type;
   }
 
index 5b0afbbd86568b4ee3d6d93eb20c16dffcd7e837..983b04a0a966f0ab52bae3405093063b26681656 100644 (file)
@@ -85,7 +85,7 @@ public class ProjectFacetManagerImpl extends ProjectFacetManagerEx implements Pe
 
   @NotNull
   @Override
-  public <F extends Facet> List<F> getFacets(@NotNull FacetTypeId<F> typeId) {
+  public <F extends Facet<?>> List<F> getFacets(@NotNull FacetTypeId<F> typeId) {
     return ContainerUtil.concat(getIndex().get(typeId), module -> FacetManager.getInstance(module).getFacetsByType(typeId));
   }
 
@@ -102,7 +102,7 @@ public class ProjectFacetManagerImpl extends ProjectFacetManagerEx implements Pe
   }
 
   @Override
-  public <F extends Facet> List<F> getFacets(@NotNull FacetTypeId<F> typeId, final Module[] modules) {
+  public <F extends Facet<?>> List<F> getFacets(@NotNull FacetTypeId<F> typeId, final Module[] modules) {
     final List<F> result = new ArrayList<>();
     for (Module module : modules) {
       result.addAll(FacetManager.getInstance(module).getFacetsByType(typeId));
index 056e40da5eddb6c227de8152711e1c8f4ecbe66e..985d9fd0246e5cf5d8e1ca95f73b4bba8850ec8d 100644 (file)
@@ -19,8 +19,8 @@ import java.util.HashMap;
 import java.util.Map;
 
 public final class ProjectWideFacetListenersRegistryImpl extends ProjectWideFacetListenersRegistry {
-  private final Map<FacetTypeId, EventDispatcher<ProjectWideFacetListener>> myDispatchers = new HashMap<>();
-  private final Map<FacetTypeId, Map<Facet, Boolean>> myFacetsByType = new HashMap<>();
+  private final Map<FacetTypeId<?>, EventDispatcher<ProjectWideFacetListener>> myDispatchers = new HashMap<>();
+  private final Map<FacetTypeId<?>, Map<Facet<?>, Boolean>> myFacetsByType = new HashMap<>();
   private final Map<Module, MessageBusConnection> myModule2Connection = new HashMap<>();
   private final FacetManagerAdapter myFacetListener;
   private final EventDispatcher<ProjectWideFacetListener> myAllFacetsListener = EventDispatcher.create(ProjectWideFacetListener.class);
@@ -35,8 +35,8 @@ public final class ProjectWideFacetListenersRegistryImpl extends ProjectWideFace
 
       @Override
       public void beforeModuleRemoved(@NotNull final Project project, @NotNull final Module module) {
-        Facet[] allFacets = FacetManager.getInstance(module).getAllFacets();
-        for (Facet facet : allFacets) {
+        Facet<?>[] allFacets = FacetManager.getInstance(module).getAllFacets();
+        for (Facet<?> facet : allFacets) {
           onFacetRemoved(facet, true);
         }
       }
@@ -59,16 +59,16 @@ public final class ProjectWideFacetListenersRegistryImpl extends ProjectWideFace
     }
 
     final FacetManager facetManager = FacetManager.getInstance(module);
-    final Facet[] facets = facetManager.getAllFacets();
-    for (Facet facet : facets) {
+    final Facet<?>[] facets = facetManager.getAllFacets();
+    for (Facet<?> facet : facets) {
       onFacetRemoved(facet, false);
     }
   }
 
   private void onModuleAdded(final Module module) {
     final FacetManager facetManager = FacetManager.getInstance(module);
-    final Facet[] facets = facetManager.getAllFacets();
-    for (Facet facet : facets) {
+    final Facet<?>[] facets = facetManager.getAllFacets();
+    for (Facet<?> facet : facets) {
       onFacetAdded(facet);
     }
     final MessageBusConnection connection = module.getMessageBus().connect();
@@ -76,9 +76,9 @@ public final class ProjectWideFacetListenersRegistryImpl extends ProjectWideFace
     connection.subscribe(FacetManager.FACETS_TOPIC, myFacetListener);
   }
 
-  private void onFacetRemoved(@NotNull Facet facet, final boolean before) {
-    final FacetTypeId typeId = facet.getTypeId();
-    Map<Facet, Boolean> facets = myFacetsByType.get(typeId);
+  private void onFacetRemoved(@NotNull Facet<?> facet, final boolean before) {
+    final FacetTypeId<?> typeId = facet.getTypeId();
+    Map<Facet<?>, Boolean> facets = myFacetsByType.get(typeId);
     boolean lastFacet;
     if (facets != null) {
       facets.remove(facet);
@@ -116,15 +116,15 @@ public final class ProjectWideFacetListenersRegistryImpl extends ProjectWideFace
     }
   }
 
-  private ProjectWideFacetListener<Facet> getAllFacetsMulticaster() {
+  private ProjectWideFacetListener<Facet<?>> getAllFacetsMulticaster() {
     //noinspection unchecked
     return myAllFacetsListener.getMulticaster();
   }
 
-  private void onFacetAdded(@NotNull Facet facet) {
+  private void onFacetAdded(@NotNull Facet<?> facet) {
     boolean firstFacet = myFacetsByType.isEmpty();
-    final FacetTypeId typeId = facet.getTypeId();
-    Map<Facet, Boolean> facets = myFacetsByType.get(typeId);
+    final FacetTypeId<?> typeId = facet.getTypeId();
+    Map<Facet<?>, Boolean> facets = myFacetsByType.get(typeId);
     if (facets == null) {
       facets = ContainerUtil.createWeakMap();
       myFacetsByType.put(typeId, facets);
@@ -147,7 +147,7 @@ public final class ProjectWideFacetListenersRegistryImpl extends ProjectWideFace
     }
   }
 
-  private void onFacetChanged(@NotNull Facet facet) {
+  private void onFacetChanged(@NotNull Facet<?> facet) {
     final EventDispatcher<ProjectWideFacetListener> dispatcher = myDispatchers.get(facet.getTypeId());
     if (dispatcher != null) {
       //noinspection unchecked
@@ -157,7 +157,7 @@ public final class ProjectWideFacetListenersRegistryImpl extends ProjectWideFace
   }
 
   @Override
-  public <F extends Facet> void registerListener(@NotNull FacetTypeId<F> typeId, @NotNull ProjectWideFacetListener<? extends F> listener) {
+  public <F extends Facet<?>> void registerListener(@NotNull FacetTypeId<F> typeId, @NotNull ProjectWideFacetListener<? extends F> listener) {
     EventDispatcher<ProjectWideFacetListener> dispatcher = myDispatchers.get(typeId);
     if (dispatcher == null) {
       dispatcher = EventDispatcher.create(ProjectWideFacetListener.class);
@@ -167,7 +167,7 @@ public final class ProjectWideFacetListenersRegistryImpl extends ProjectWideFace
   }
 
   @Override
-  public <F extends Facet> void unregisterListener(@NotNull FacetTypeId<F> typeId, @NotNull ProjectWideFacetListener<? extends F> listener) {
+  public <F extends Facet<?>> void unregisterListener(@NotNull FacetTypeId<F> typeId, @NotNull ProjectWideFacetListener<? extends F> listener) {
     final EventDispatcher<ProjectWideFacetListener> dispatcher = myDispatchers.get(typeId);
     if (dispatcher != null) {
       dispatcher.removeListener(listener);
@@ -175,7 +175,7 @@ public final class ProjectWideFacetListenersRegistryImpl extends ProjectWideFace
   }
 
   @Override
-  public <F extends Facet> void registerListener(@NotNull final FacetTypeId<F> typeId, @NotNull final ProjectWideFacetListener<? extends F> listener,
+  public <F extends Facet<?>> void registerListener(@NotNull final FacetTypeId<F> typeId, @NotNull final ProjectWideFacetListener<? extends F> listener,
                                                  @NotNull final Disposable parentDisposable) {
     registerListener(typeId, listener);
     Disposer.register(parentDisposable, new Disposable() {