From 3db053005908ce4dfc2e92bedf5c90ca52c09a32 Mon Sep 17 00:00:00 2001 From: Roman Shevchenko Date: Tue, 16 Mar 2010 13:13:01 +0300 Subject: [PATCH] PsiClass augmentation point moved; AspectJ module intergration restored --- .../src/com/intellij/psi/impl/PsiClassImplUtil.java | 9 +++++++++ .../src/com/intellij/psi/impl/source/PsiClassImpl.java | 10 ++-------- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/java/java-impl/src/com/intellij/psi/impl/PsiClassImplUtil.java b/java/java-impl/src/com/intellij/psi/impl/PsiClassImplUtil.java index c9115d619abe..900283e9661f 100644 --- a/java/java-impl/src/com/intellij/psi/impl/PsiClassImplUtil.java +++ b/java/java-impl/src/com/intellij/psi/impl/PsiClassImplUtil.java @@ -21,6 +21,7 @@ import com.intellij.openapi.roots.ProjectRootManager; import com.intellij.openapi.util.*; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.*; +import com.intellij.psi.augment.PsiAugmentProvider; import com.intellij.psi.filters.OrFilter; import com.intellij.psi.impl.compiled.ClsElementImpl; import com.intellij.psi.impl.source.PsiImmediateClassType; @@ -554,6 +555,10 @@ public class PsiClassImplUtil { if (!processor.execute(field, state)) return false; } } + + for (PsiField field : PsiAugmentProvider.collectAugments(aClass, PsiField.class)) { + if (!processor.execute(field, state)) return false; + } } if (classHint == null || classHint.shouldProcess(ElementClassHint.DeclaractionKind.METHOD)) { @@ -566,6 +571,10 @@ public class PsiClassImplUtil { } if (!processor.execute(method, state)) return false; } + + for (PsiMethod method : PsiAugmentProvider.collectAugments(aClass, PsiMethod.class)) { + if (!processor.execute(method, state)) return false; + } } if (classHint == null || classHint.shouldProcess(ElementClassHint.DeclaractionKind.CLASS)) { diff --git a/java/java-impl/src/com/intellij/psi/impl/source/PsiClassImpl.java b/java/java-impl/src/com/intellij/psi/impl/source/PsiClassImpl.java index f71306d568fc..9eb3954df378 100644 --- a/java/java-impl/src/com/intellij/psi/impl/source/PsiClassImpl.java +++ b/java/java-impl/src/com/intellij/psi/impl/source/PsiClassImpl.java @@ -26,7 +26,6 @@ import com.intellij.openapi.roots.ProjectRootManager; import com.intellij.openapi.util.Pair; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.psi.*; -import com.intellij.psi.augment.PsiAugmentProvider; import com.intellij.psi.impl.InheritanceImplUtil; import com.intellij.psi.impl.PsiClassImplUtil; import com.intellij.psi.impl.PsiImplUtil; @@ -51,7 +50,6 @@ import com.intellij.psi.stubs.IStubElementType; import com.intellij.psi.stubs.PsiFileStub; import com.intellij.psi.stubs.StubElement; import com.intellij.psi.util.PsiTreeUtil; -import com.intellij.util.ArrayUtil; import com.intellij.util.IncorrectOperationException; import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; @@ -302,16 +300,12 @@ public class PsiClassImpl extends JavaStubPsiElement> implements @NotNull public PsiField[] getFields() { - final PsiField[] owns = getStubOrPsiChildren(Constants.FIELD_BIT_SET, PsiField.ARRAY_FACTORY); - final List augments = PsiAugmentProvider.collectAugments(this, PsiField.class); - return ArrayUtil.mergeArrayAndCollection(owns, augments, PsiField.ARRAY_FACTORY); + return getStubOrPsiChildren(Constants.FIELD_BIT_SET, PsiField.ARRAY_FACTORY); } @NotNull public PsiMethod[] getMethods() { - final PsiMethod[] owns = getStubOrPsiChildren(Constants.METHOD_BIT_SET, PsiMethod.ARRAY_FACTORY); - final List augments = PsiAugmentProvider.collectAugments(this, PsiMethod.class); - return ArrayUtil.mergeArrayAndCollection(owns, augments, PsiMethod.ARRAY_FACTORY); + return getStubOrPsiChildren(Constants.METHOD_BIT_SET, PsiMethod.ARRAY_FACTORY); } @NotNull