mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-16 14:23:28 +07:00
process 'directSubclasses' instead of 'allSubclasses' when checking permitted implementations of a sealed class (IJPL-158065)
GitOrigin-RevId: 9b52fe2351f2560780d09f5a4b150fddee6e3c54
This commit is contained in:
committed by
intellij-monorepo-bot
parent
bf7299d6ca
commit
1af4f1f880
@@ -129,7 +129,7 @@ public final class JavaDifferentiateStrategy extends JvmDifferentiateStrategyImp
|
||||
ReferenceID fromClass = change.getNow().getReferenceID();
|
||||
Set<ReferenceID> permitted = collect(map(filter(change.getNow().getUsages(), u -> u instanceof ClassPermitsUsage), Usage::getElementOwner), new SmartHashSet<>());
|
||||
debug("Affecting non-permitted subclasses of a sealed class: ", fromClass);
|
||||
for (ReferenceID cl : filter(future.allSubclasses(fromClass), c -> !permitted.contains(c))) {
|
||||
for (ReferenceID cl : filter(future.directSubclasses(fromClass), c -> !permitted.contains(c))) {
|
||||
affectNodeSources(context, cl, "Affecting source file of a non-permitted subclass: ", future);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user