inc mod counter after every code insight fixture test, fixes blinking ResolveClassTest in groovy

This commit is contained in:
peter
2011-11-17 18:32:46 +01:00
parent 2aea707704
commit cb3426580a
6 changed files with 18 additions and 36 deletions
@@ -30,8 +30,7 @@ import org.jetbrains.annotations.NotNull;
import java.util.Collection;
public class JavaFullClassNameIndex extends IntStubIndexExtension<PsiClass> {
public static boolean DEBUG = false;
private static final JavaFullClassNameIndex ourInstance = new JavaFullClassNameIndex();
public static JavaFullClassNameIndex getInstance() {
return ourInstance;
@@ -44,10 +43,6 @@ public class JavaFullClassNameIndex extends IntStubIndexExtension<PsiClass> {
@Override
public Collection<PsiClass> get(final Integer integer, final Project project, @NotNull final GlobalSearchScope scope) {
Collection<PsiClass> result = super.get(integer, project, new JavaSourceFilterScope(scope));
if (DEBUG) {
System.out.println("JavaFullClassNameIndex.get: integer = " + integer + ", result = " + result);
}
return result;
return super.get(integer, project, new JavaSourceFilterScope(scope));
}
}
@@ -37,12 +37,10 @@ import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import java.util.Set;
import java.util.*;
public class PsiPackageImpl extends PsiPackageBase implements PsiPackage, Queryable {
public static boolean DEBUG = false;
private volatile CachedValue<PsiModifierList> myAnnotationList;
private volatile CachedValue<Collection<PsiDirectory>> myDirectories;
private volatile Set<String> myPublicClassNamesCache;
@@ -19,6 +19,7 @@ import com.intellij.openapi.application.Result;
import com.intellij.openapi.command.WriteCommandAction;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.*;
import com.intellij.psi.impl.PsiModificationTrackerImpl;
import com.intellij.psi.search.ProjectScope;
import com.intellij.testFramework.fixtures.IdeaProjectTestFixture;
import com.intellij.testFramework.fixtures.JavaCodeInsightTestFixture;
@@ -78,4 +79,10 @@ public class JavaCodeInsightTestFixtureImpl extends CodeInsightTestFixtureImpl i
assertNotNull("Package " + name + " not found", aPackage);
return aPackage;
}
@Override
public void tearDown() throws Exception {
((PsiModificationTrackerImpl)getPsiManager().getModificationTracker()).incCounter();// drop all caches
super.tearDown();
}
}
@@ -24,7 +24,7 @@ import com.intellij.openapi.util.text.StringUtil;
import com.intellij.psi.*;
import com.intellij.psi.codeStyle.CodeStyleManager;
import com.intellij.psi.impl.ElementBase;
import com.intellij.psi.impl.java.stubs.index.JavaFullClassNameIndex;
import com.intellij.psi.impl.file.PsiPackageImpl;
import com.intellij.psi.scope.DelegatingScopeProcessor;
import com.intellij.psi.scope.PsiScopeProcessor;
import com.intellij.psi.stubs.StubElement;
@@ -274,13 +274,6 @@ public class GroovyFileImpl extends GroovyFileBaseImpl implements GroovyFile {
}, state, lastParent, place)) {
return false;
}
if (aPackage != null && JavaFullClassNameIndex.DEBUG) {
System.out.println("GroovyFileImpl.processDeclarationsInPackage: " + aPackage.getQualifiedName());
System.out.println("place = " + place + "; " + place.getText());
for (PsiClass aClass : aPackage.getClasses()) {
System.out.println("aClass = " + aClass + "; " + aClass.getQualifiedName());
}
}
return true;
}
@@ -16,7 +16,6 @@
package org.jetbrains.plugins.groovy.lang.psi.stubs.elements;
import com.intellij.psi.PsiNameHelper;
import com.intellij.psi.impl.java.stubs.index.JavaFullClassNameIndex;
import com.intellij.psi.impl.java.stubs.index.JavaStubIndexKeys;
import com.intellij.psi.stubs.IndexSink;
import com.intellij.psi.stubs.StubElement;
@@ -101,9 +100,6 @@ public abstract class GrTypeDefinitionElementType<TypeDef extends GrTypeDefiniti
}
final String fqn = stub.getQualifiedName();
if (fqn != null) {
if (JavaFullClassNameIndex.DEBUG) {
System.out.println("GrTypeDefinitionElementType.indexStub: fqn = " + fqn + ", fqn.hashCode() = " + fqn.hashCode());
}
sink.occurrence(GrFullClassNameIndex.KEY, fqn.hashCode());
sink.occurrence(JavaStubIndexKeys.CLASS_FQN, fqn.hashCode());
}
@@ -22,7 +22,6 @@ import com.intellij.psi.PsiElement
import com.intellij.psi.PsiReference
import org.jetbrains.plugins.groovy.lang.psi.api.statements.typedef.members.GrAccessorMethod
import org.jetbrains.plugins.groovy.util.TestUtils
import com.intellij.psi.impl.java.stubs.index.JavaFullClassNameIndex
/**
* @author ven
@@ -78,18 +77,12 @@ public class ResolveClassTest extends GroovyResolveTestCase {
}
public void testGrvy641() throws Exception {
JavaFullClassNameIndex.DEBUG = true
try {
PsiReference ref = configureByFile("grvy641/A.groovy")
PsiClass resolved = assertInstanceOf(ref.resolve(), PsiClass)
if (!"List".equals(resolved.qualifiedName)) {
println(myFixture.file.virtualFile.parent.children as List);
println JavaPsiFacade.getInstance(project).findClass("List")
fail(resolved.qualifiedName);
}
}
finally {
JavaFullClassNameIndex.DEBUG = false
PsiReference ref = configureByFile("grvy641/A.groovy")
PsiClass resolved = assertInstanceOf(ref.resolve(), PsiClass)
if (!"List".equals(resolved.qualifiedName)) {
println(myFixture.file.virtualFile.parent.children as List);
println JavaPsiFacade.getInstance(project).findClass("List")
fail(resolved.qualifiedName);
}
}