blob: 651f529e20c549c98bbf32418dcd7fa470164d9b [file] [log] [blame]
package com.google.idea.sdkcompat.cidr;
import com.intellij.openapi.project.Project;
import com.jetbrains.cidr.lang.workspace.OCWorkspaceModificationTrackers;
/** Handles changes to modification trackers between our supported versions. */
public class OCWorkspaceModificationTrackersCompatUtils {
public static OCWorkspaceModificationTrackers getTrackers(Project project) {
return OCWorkspaceModificationTrackers.getInstance(project);
}
/**
* Causes symbol tables to be rebuilt and invalidates cidr caches attached to resolve
* configurations.
*
* <p>Must be called inside a write action, on the EDT.
*/
public static void incrementModificationCounts(Project project) {
partialIncModificationCounts(project);
OCWorkspaceModificationTrackers modTrackers = getTrackers(project);
modTrackers.getBuildSettingsChangesTracker().incModificationCount();
}
/**
* Does not trigger symbol table rebuilding, and only clears part of the cidr caches attached to
* resolve configurations.
*
* <p>Must be called inside a write action, on the EDT.
*/
public static void partialIncModificationCounts(Project project) {
OCWorkspaceModificationTrackers modTrackers = getTrackers(project);
modTrackers.getProjectFilesListTracker().incModificationCount();
modTrackers.getSourceFilesListTracker().incModificationCount();
modTrackers.getSelectedResolveConfigurationTracker().incModificationCount();
}
}