diff --git a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/typedef/GrTypeDefinitionImpl.java b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/typedef/GrTypeDefinitionImpl.java index d985fc845f49..290e0f6a5e92 100644 --- a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/typedef/GrTypeDefinitionImpl.java +++ b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/typedef/GrTypeDefinitionImpl.java @@ -295,6 +295,12 @@ public abstract class GrTypeDefinitionImpl extends GrStubElementBase { + private final SimpleModificationTracker myTreeChangeTracker = new SimpleModificationTracker(); private final T myDefinition; private final GrCodeMembersProvider myCodeMembersProvider; - private final Collection myDependencies = Collections.singletonList(JAVA_STRUCTURE_MODIFICATION_COUNT); + private final Collection myDependencies = Arrays.asList(myTreeChangeTracker, JAVA_STRUCTURE_MODIFICATION_COUNT); public GrTypeDefinitionMembersCache(@NotNull T definition) { this(definition, BodyCodeMembersProvider.INSTANCE); @@ -50,6 +52,10 @@ public class GrTypeDefinitionMembersCache { myCodeMembersProvider = provider; } + public void dropCaches() { + myTreeChangeTracker.incModificationCount(); + } + public GrTypeDefinition[] getCodeInnerClasses() { return CachedValuesManager.getCachedValue(myDefinition, () -> CachedValueProvider.Result.create( myCodeMembersProvider.getCodeInnerClasses(myDefinition), myDependencies