SimilarElementsRequestor.REF_TYPES & ~SimilarElementsRequestor.VARIABLES,
SimilarElementsRequestor.REF_TYPES,
	public void testGetPossibleTypeKinds() throws Exception {		IPackageFragment pack1= fSourceFolder.createPackageFragment("test1", false, null);		StringBuffer buf= new StringBuffer();		buf.append("package test1;\n");		buf.append("import java.util.ArrayList;\n");		buf.append("import java.util.HashMap;\n");		buf.append("public class E<T> {\n");		buf.append("    X x1;\n");		buf.append("    X[] x2;\n");		buf.append("    X<String> x3;\n");		buf.append("    ArrayList<X> x4;\n");		buf.append("    ArrayList<? extends X> x5;\n");		buf.append("\n");		buf.append("    E<String>.X x6;\n");		buf.append("    X<String>.A x7;\n");		buf.append("    Object x8= new X();\n");		buf.append("    Object x9= new X() { };\n");		buf.append("    Object x10= (X) x1;\n");		buf.append("\n");		buf.append("    X.A x11;\n");		buf.append("    Object x12= X.class;\n");		buf.append("}\n");		ICompilationUnit cu= pack1.createCompilationUnit("E.java", buf.toString(), false, null);				int[] expected= {				SimilarElementsRequestor.ALL_TYPES,				SimilarElementsRequestor.ALL_TYPES,				SimilarElementsRequestor.CLASSES | SimilarElementsRequestor.INTERFACES, // X<String>				SimilarElementsRequestor.REF_TYPES,				SimilarElementsRequestor.REF_TYPES,								SimilarElementsRequestor.REF_TYPES & ~SimilarElementsRequestor.VARIABLES, // E<String>.X				SimilarElementsRequestor.CLASSES | SimilarElementsRequestor.INTERFACES, //X<String>.A				SimilarElementsRequestor.CLASSES, //new X();				SimilarElementsRequestor.CLASSES | SimilarElementsRequestor.INTERFACES, //new X() { };				SimilarElementsRequestor.ALL_TYPES,								SimilarElementsRequestor.REF_TYPES & ~SimilarElementsRequestor.VARIABLES,				SimilarElementsRequestor.REF_TYPES & ~SimilarElementsRequestor.VARIABLES,				};				CompilationUnit astRoot= getASTRoot(cu);		FieldDeclaration[] fields= ((TypeDeclaration) astRoot.types().get(0)).getFields();		for (int i= 0; i < fields.length; i++) {			ASTNode node= NodeFinder.perform(astRoot, buf.indexOf("X", fields[i].getStartPosition()), 1);			int kinds= ASTResolving.getPossibleTypeKinds(node, true);			if (kinds != expected[i]) {				assertEquals("Guessing failed for " + fields[i].toString(), expected[i], kinds);			}		}	}