PsiClass augmentation point moved; AspectJ module intergration restored

This commit is contained in:
Roman Shevchenko
2010-03-16 13:13:01 +03:00
parent 9dfcd75404
commit 3db0530059
2 changed files with 11 additions and 8 deletions
@@ -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)) {
@@ -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<PsiClassStub<?>> implements
@NotNull
public PsiField[] getFields() {
final PsiField[] owns = getStubOrPsiChildren(Constants.FIELD_BIT_SET, PsiField.ARRAY_FACTORY);
final List<PsiField> 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<PsiMethod> augments = PsiAugmentProvider.collectAugments(this, PsiMethod.class);
return ArrayUtil.mergeArrayAndCollection(owns, augments, PsiMethod.ARRAY_FACTORY);
return getStubOrPsiChildren(Constants.METHOD_BIT_SET, PsiMethod.ARRAY_FACTORY);
}
@NotNull