diff --git a/java/openapi/src/com/intellij/psi/util/TypeConversionUtil.java b/java/openapi/src/com/intellij/psi/util/TypeConversionUtil.java
index 4b2f17bc59e0..9897de38240e 100644
--- a/java/openapi/src/com/intellij/psi/util/TypeConversionUtil.java
+++ b/java/openapi/src/com/intellij/psi/util/TypeConversionUtil.java
@@ -17,7 +17,7 @@ package com.intellij.psi.util;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.project.Project;
-import com.intellij.openapi.roots.ProjectRootManager;
+import com.intellij.openapi.roots.ProjectRootModificationTracker;
import com.intellij.openapi.util.Key;
import com.intellij.pom.java.LanguageLevel;
import com.intellij.psi.*;
@@ -802,7 +802,7 @@ public class TypeConversionUtil {
}
});
}
- return Result.create(set, ProjectRootManager.getInstance(project));
+ return Result.create(set, ProjectRootModificationTracker.getInstance(project));
}
}, false));
}
diff --git a/platform/core-api/src/com/intellij/openapi/roots/ProjectRootModificationTracker.java b/platform/core-api/src/com/intellij/openapi/roots/ProjectRootModificationTracker.java
new file mode 100644
index 000000000000..083bee7884f3
--- /dev/null
+++ b/platform/core-api/src/com/intellij/openapi/roots/ProjectRootModificationTracker.java
@@ -0,0 +1,29 @@
+/*
+ * Copyright 2000-2011 JetBrains s.r.o.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.intellij.openapi.roots;
+
+import com.intellij.openapi.components.ServiceManager;
+import com.intellij.openapi.project.Project;
+import com.intellij.openapi.util.ModificationTracker;
+
+/**
+ * @author yole
+ */
+public abstract class ProjectRootModificationTracker implements ModificationTracker {
+ public static ProjectRootModificationTracker getInstance(Project project) {
+ return ServiceManager.getService(project, ProjectRootModificationTracker.class);
+ }
+}
diff --git a/platform/lang-impl/src/com/intellij/openapi/roots/ProjectRootModificationTrackerImpl.java b/platform/lang-impl/src/com/intellij/openapi/roots/ProjectRootModificationTrackerImpl.java
new file mode 100644
index 000000000000..119eb8b87639
--- /dev/null
+++ b/platform/lang-impl/src/com/intellij/openapi/roots/ProjectRootModificationTrackerImpl.java
@@ -0,0 +1,34 @@
+/*
+ * Copyright 2000-2011 JetBrains s.r.o.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.intellij.openapi.roots;
+
+import com.intellij.openapi.project.Project;
+
+/**
+ * @author yole
+ */
+public class ProjectRootModificationTrackerImpl extends ProjectRootModificationTracker {
+ private final Project myProject;
+
+ public ProjectRootModificationTrackerImpl(Project project) {
+ myProject = project;
+ }
+
+ @Override
+ public long getModificationCount() {
+ return ProjectRootManager.getInstance(myProject).getModificationCount();
+ }
+}
diff --git a/platform/platform-resources/src/META-INF/LangExtensions.xml b/platform/platform-resources/src/META-INF/LangExtensions.xml
index d967fc9fd69e..a11b1a703a9f 100644
--- a/platform/platform-resources/src/META-INF/LangExtensions.xml
+++ b/platform/platform-resources/src/META-INF/LangExtensions.xml
@@ -293,6 +293,8 @@
serviceImplementation="com.intellij.openapi.roots.impl.ProjectFileIndexImpl"/>
+