aboutsummaryrefslogtreecommitdiffstats
path: root/subprojects/language/src/main/java/tools/refinery/language/resource/ReferenceCounter.java
diff options
context:
space:
mode:
Diffstat (limited to 'subprojects/language/src/main/java/tools/refinery/language/resource/ReferenceCounter.java')
-rw-r--r--subprojects/language/src/main/java/tools/refinery/language/resource/ReferenceCounter.java5
1 files changed, 3 insertions, 2 deletions
diff --git a/subprojects/language/src/main/java/tools/refinery/language/resource/ReferenceCounter.java b/subprojects/language/src/main/java/tools/refinery/language/resource/ReferenceCounter.java
index 7525dfc6..ca20325e 100644
--- a/subprojects/language/src/main/java/tools/refinery/language/resource/ReferenceCounter.java
+++ b/subprojects/language/src/main/java/tools/refinery/language/resource/ReferenceCounter.java
@@ -5,6 +5,7 @@ import java.util.Map;
5 5
6import org.eclipse.emf.ecore.EObject; 6import org.eclipse.emf.ecore.EObject;
7import org.eclipse.xtext.util.IResourceScopeCache; 7import org.eclipse.xtext.util.IResourceScopeCache;
8import org.eclipse.xtext.util.Tuples;
8 9
9import com.google.inject.Inject; 10import com.google.inject.Inject;
10import com.google.inject.Singleton; 11import com.google.inject.Singleton;
@@ -14,7 +15,7 @@ import tools.refinery.language.model.problem.Problem;
14@Singleton 15@Singleton
15public class ReferenceCounter { 16public class ReferenceCounter {
16 @Inject 17 @Inject
17 private IResourceScopeCache cache; 18 private IResourceScopeCache cache = IResourceScopeCache.NullImpl.INSTANCE;
18 19
19 public int countReferences(Problem problem, EObject eObject) { 20 public int countReferences(Problem problem, EObject eObject) {
20 var count = getReferenceCounts(problem).get(eObject); 21 var count = getReferenceCounts(problem).get(eObject);
@@ -29,7 +30,7 @@ public class ReferenceCounter {
29 if (resource == null) { 30 if (resource == null) {
30 return doGetReferenceCounts(problem); 31 return doGetReferenceCounts(problem);
31 } 32 }
32 return cache.get(problem, resource, () -> doGetReferenceCounts(problem)); 33 return cache.get(Tuples.create(problem, "referenceCounts"), resource, () -> doGetReferenceCounts(problem));
33 } 34 }
34 35
35 protected Map<EObject, Integer> doGetReferenceCounts(Problem problem) { 36 protected Map<EObject, Integer> doGetReferenceCounts(Problem problem) {