diff options
author | Tor Norbye <tnorbye@google.com> | 2014-08-19 22:27:03 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2014-08-19 21:25:05 +0000 |
commit | 4ca751c002784c4bfd349cc5240b045b62277c80 (patch) | |
tree | dfc17b31990e2429535609b85f6d080c4fa0d9fe /java/java-psi-impl/src/com/intellij/psi/impl/PsiSuperMethodImplUtil.java | |
parent | 890d9a2952301682ffecaed4495f5f65c84c3642 (diff) | |
parent | 060e58b3afea3ea39f5ba1cb5a443ca3ebda28c8 (diff) | |
download | idea-4ca751c002784c4bfd349cc5240b045b62277c80.tar.gz |
Merge "Merge remote-tracking branch 'aosp/upstream-master' into merge"
Diffstat (limited to 'java/java-psi-impl/src/com/intellij/psi/impl/PsiSuperMethodImplUtil.java')
-rw-r--r-- | java/java-psi-impl/src/com/intellij/psi/impl/PsiSuperMethodImplUtil.java | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/PsiSuperMethodImplUtil.java b/java/java-psi-impl/src/com/intellij/psi/impl/PsiSuperMethodImplUtil.java index f1d847cb24c2..e0db7701574d 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/PsiSuperMethodImplUtil.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/PsiSuperMethodImplUtil.java @@ -18,6 +18,7 @@ package com.intellij.psi.impl; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.progress.ProgressManager; import com.intellij.openapi.project.Project; +import com.intellij.openapi.roots.ProjectRootModificationTracker; import com.intellij.openapi.util.Key; import com.intellij.openapi.util.Pair; import com.intellij.psi.*; @@ -370,7 +371,12 @@ public class PsiSuperMethodImplUtil { if (result == null) { result = new HierarchicalMethodSignatureImpl((MethodSignatureBackedByPsiMethod)method.getSignature(PsiSubstitutor.EMPTY)); } - return CachedValueProvider.Result.create(result, PsiModificationTracker.JAVA_STRUCTURE_MODIFICATION_COUNT); + + Project project = aClass == null ? method.getProject() : aClass.getProject(); + // cache Cls method hierarchy until root changed + Object dependency = method instanceof PsiCompiledElement ? ProjectRootModificationTracker.getInstance(project) : + PsiModificationTracker.JAVA_STRUCTURE_MODIFICATION_COUNT; + return CachedValueProvider.Result.create(result, dependency); } }; |