From 17d63eb321b23a3dab961cdd525689494d952cef Mon Sep 17 00:00:00 2001 From: peter Date: Fri, 2 Mar 2018 11:39:23 +0100 Subject: [PATCH] encapsulate ObjectStubBase.id --- .../psi/stubsHierarchy/impl/JavaStubIndexer.java | 2 +- .../src/com/intellij/psi/stubs/ObjectStubBase.java | 9 ++++++++- .../core-api/src/com/intellij/psi/stubs/StubBase.java | 10 ++++++++++ platform/core-impl/src/com/intellij/psi/PsiAnchor.java | 2 +- .../groovy/lang/psi/stubs/hierarchy/GrStubIndexer.java | 2 +- .../xml/impl/CollectionElementInvocationHandler.java | 2 +- 6 files changed, 22 insertions(+), 5 deletions(-) diff --git a/java/java-impl/src/com/intellij/psi/stubsHierarchy/impl/JavaStubIndexer.java b/java/java-impl/src/com/intellij/psi/stubsHierarchy/impl/JavaStubIndexer.java index ece1ead87519..87787364fb1a 100644 --- a/java/java-impl/src/com/intellij/psi/stubsHierarchy/impl/JavaStubIndexer.java +++ b/java/java-impl/src/com/intellij/psi/stubsHierarchy/impl/JavaStubIndexer.java @@ -139,7 +139,7 @@ public class JavaStubIndexer extends StubHierarchyIndexer { } String[] supers = superList.isEmpty() ? ArrayUtil.EMPTY_STRING_ARRAY : ArrayUtil.toStringArray(superList); Decl[] inners = innerList.isEmpty() ? Decl.EMPTY_ARRAY : innerList.toArray(Decl.EMPTY_ARRAY); - return new ClassDecl(classStub.id, flags, classStub.getName(), supers, inners); + return new ClassDecl(classStub.getStubId(), flags, classStub.getName(), supers, inners); } private static int translateFlags(PsiClassStubImpl classStub) { diff --git a/platform/core-api/src/com/intellij/psi/stubs/ObjectStubBase.java b/platform/core-api/src/com/intellij/psi/stubs/ObjectStubBase.java index bce978e13488..42ccee7f3ab9 100644 --- a/platform/core-api/src/com/intellij/psi/stubs/ObjectStubBase.java +++ b/platform/core-api/src/com/intellij/psi/stubs/ObjectStubBase.java @@ -27,7 +27,7 @@ public abstract class ObjectStubBase extends UserDataHolderBase private static final Key DANGLING_STUB = Key.create("DIRECT_PARENT_IS_STUBBED"); protected final T myParent; - public int id; + int id; public ObjectStubBase(T parent) { myParent = parent; @@ -52,4 +52,11 @@ public abstract class ObjectStubBase extends UserDataHolderBase public void markDangling() { putUserData(DANGLING_STUB, true); } + + /** + * @return the index of this stub in {@code ObjectStubTree#getPlainList}. + */ + public int getStubId() { + return id; + } } \ No newline at end of file diff --git a/platform/core-api/src/com/intellij/psi/stubs/StubBase.java b/platform/core-api/src/com/intellij/psi/stubs/StubBase.java index da3224b47392..82bf0e6e9c2c 100644 --- a/platform/core-api/src/com/intellij/psi/stubs/StubBase.java +++ b/platform/core-api/src/com/intellij/psi/stubs/StubBase.java @@ -227,4 +227,14 @@ public abstract class StubBase extends ObjectStubBase another) { + return Integer.compare(getStubId(), another.getStubId()); + } + } diff --git a/platform/core-impl/src/com/intellij/psi/PsiAnchor.java b/platform/core-impl/src/com/intellij/psi/PsiAnchor.java index 5956371376e6..925046080508 100644 --- a/platform/core-impl/src/com/intellij/psi/PsiAnchor.java +++ b/platform/core-impl/src/com/intellij/psi/PsiAnchor.java @@ -160,7 +160,7 @@ public abstract class PsiAnchor { StubElement liveStub = psi instanceof StubBasedPsiElementBase ? ((StubBasedPsiElementBase)psi).getGreenStub() : psi.getStub(); if (liveStub != null) { - return ((StubBase)liveStub).id; + return ((StubBase)liveStub).getStubId(); } return ((PsiFileImpl)psi.getContainingFile()).calcTreeElement().getStubbedSpine().getStubIndex(psi); diff --git a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/stubs/hierarchy/GrStubIndexer.java b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/stubs/hierarchy/GrStubIndexer.java index 63374f18a72a..3e3aceeda059 100644 --- a/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/stubs/hierarchy/GrStubIndexer.java +++ b/plugins/groovy/groovy-psi/src/org/jetbrains/plugins/groovy/lang/psi/stubs/hierarchy/GrStubIndexer.java @@ -151,7 +151,7 @@ public class GrStubIndexer extends StubHierarchyIndexer { } String[] supers = superList.isEmpty() ? ArrayUtil.EMPTY_STRING_ARRAY : ArrayUtil.toStringArray(superList); Decl[] inners = innerList.isEmpty() ? Decl.EMPTY_ARRAY : innerList.toArray(Decl.EMPTY_ARRAY); - return new ClassDecl(classStub.id, flags, classStub.getName(), supers, inners); + return new ClassDecl(classStub.getStubId(), flags, classStub.getName(), supers, inners); } private static int translateFlags(GrTypeDefinitionStub classStub) { diff --git a/xml/dom-impl/src/com/intellij/util/xml/impl/CollectionElementInvocationHandler.java b/xml/dom-impl/src/com/intellij/util/xml/impl/CollectionElementInvocationHandler.java index 3a7ce88a95c6..9798a9320910 100644 --- a/xml/dom-impl/src/com/intellij/util/xml/impl/CollectionElementInvocationHandler.java +++ b/xml/dom-impl/src/com/intellij/util/xml/impl/CollectionElementInvocationHandler.java @@ -115,7 +115,7 @@ public class CollectionElementInvocationHandler extends DomInvocationHandler