diff options
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.java | 5 |
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 | ||
6 | import org.eclipse.emf.ecore.EObject; | 6 | import org.eclipse.emf.ecore.EObject; |
7 | import org.eclipse.xtext.util.IResourceScopeCache; | 7 | import org.eclipse.xtext.util.IResourceScopeCache; |
8 | import org.eclipse.xtext.util.Tuples; | ||
8 | 9 | ||
9 | import com.google.inject.Inject; | 10 | import com.google.inject.Inject; |
10 | import com.google.inject.Singleton; | 11 | import com.google.inject.Singleton; |
@@ -14,7 +15,7 @@ import tools.refinery.language.model.problem.Problem; | |||
14 | @Singleton | 15 | @Singleton |
15 | public class ReferenceCounter { | 16 | public 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) { |