From 74cfca2ac8812f3c715deb5966dc09476db039cf Mon Sep 17 00:00:00 2001 From: peter Date: Wed, 21 Dec 2016 09:09:21 +0100 Subject: [PATCH] lock-free stub.getPsi --- .../src/com/intellij/psi/stubs/StubBase.java | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) 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 c59265a4f91b..420c4918cce9 100644 --- a/platform/core-api/src/com/intellij/psi/stubs/StubBase.java +++ b/platform/core-api/src/com/intellij/psi/stubs/StubBase.java @@ -28,6 +28,7 @@ import com.intellij.util.ArrayFactory; import com.intellij.util.ArrayUtil; import com.intellij.util.ObjectUtils; import com.intellij.util.SmartList; +import com.intellij.util.concurrency.AtomicFieldUpdater; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -39,6 +40,9 @@ public abstract class StubBase extends ObjectStubBase ourPsiUpdater = + AtomicFieldUpdater.forFieldOfType(StubBase.class, PsiElement.class); + @SuppressWarnings("unchecked") protected StubBase(final StubElement parent, final IStubElementType elementType) { super(parent); @@ -82,26 +86,15 @@ public abstract class StubBase extends ObjectStubBase E[] getChildrenByType(@NotNull final IElementType elementType, E[] array) {