Lines 936-939
Link Here
|
936 |
this.deleteProject("PS2"); |
936 |
this.deleteProject("PS2"); |
937 |
} |
937 |
} |
938 |
} |
938 |
} |
|
|
939 |
//https://bugs.eclipse.org/bugs/show_bug.cgi?id=232880 |
940 |
public void testBug232880j() throws Exception { |
941 |
String outputDirectory = Util.getOutputDirectory(); |
942 |
String externalJar1 = outputDirectory + File.separator + "bug232880a.jar"; //$NON-NLS-1$ |
943 |
String externalJar2 = outputDirectory + File.separator + "bug232880b.jar"; //$NON-NLS-1$ |
944 |
try { |
945 |
|
946 |
// create external jar 1 |
947 |
Util.createJar( |
948 |
new String[] { |
949 |
"test1/IResource.java", //$NON-NLS-1$ |
950 |
"package test1;\n" + //$NON-NLS-1$ |
951 |
"public class IResource {\n" + //$NON-NLS-1$ |
952 |
"}" //$NON-NLS-1$ |
953 |
}, |
954 |
new HashMap(), |
955 |
externalJar1); |
956 |
|
957 |
// create external jar 2 |
958 |
String source2 = |
959 |
"package test2;\n" + //$NON-NLS-1$ |
960 |
"import test1.IResource;\n" + //$NON-NLS-1$ |
961 |
"public class IJavaElement {\n" + //$NON-NLS-1$ |
962 |
" // iresource\n" + //$NON-NLS-1$ |
963 |
" IResource foo() {return null;}\n" + //$NON-NLS-1$ |
964 |
"}"; //$NON-NLS-1$ |
965 |
|
966 |
Util.createJar( |
967 |
new String[] { |
968 |
"test2/IJavaElement.java", //$NON-NLS-1$ |
969 |
source2 |
970 |
}, |
971 |
null, |
972 |
new HashMap(), |
973 |
new String[]{externalJar1}, |
974 |
externalJar2); |
975 |
|
976 |
// create P1 |
977 |
IJavaProject project1 = this.createJavaProject( |
978 |
"PS1", |
979 |
new String[]{"src"}, |
980 |
new String[]{"JCL_LIB", externalJar2}, |
981 |
"bin"); |
982 |
|
983 |
this.createFolder("/PS1/attachment/test2"); |
984 |
this.createFile( |
985 |
"/PS1/attachment/test2/IJavaElement.java", |
986 |
source2); |
987 |
|
988 |
IPackageFragmentRoot root = project1.getPackageFragmentRoot(externalJar2); |
989 |
attachSource(root, "/PS1/attachment/", ""); |
990 |
|
991 |
// create P2 |
992 |
this.createJavaProject( |
993 |
"PS2", |
994 |
new String[]{"src"}, |
995 |
new String[]{"JCL_LIB", externalJar1}, |
996 |
"bin"); |
997 |
|
998 |
waitUntilIndexesReady(); |
999 |
|
1000 |
// do code select |
1001 |
IClassFile cf = getClassFile("PS1", externalJar2, "test2", "IJavaElement.class"); |
1002 |
|
1003 |
IJavaElement[] elements = codeSelect(cf, "iresource", "iresource"); |
1004 |
|
1005 |
assertElementsEqual( |
1006 |
"Unexpected elements", |
1007 |
"", |
1008 |
elements |
1009 |
); |
1010 |
} finally { |
1011 |
this.deleteExternalFile(externalJar1); |
1012 |
this.deleteExternalFile(externalJar2); |
1013 |
refreshExternalArchives(getJavaProject("PS1")); // workaround for https://bugs.eclipse.org/bugs/show_bug.cgi?id=250083 |
1014 |
refreshExternalArchives(getJavaProject("PS2")); // workaround for https://bugs.eclipse.org/bugs/show_bug.cgi?id=250083 |
1015 |
this.deleteProject("PS1"); |
1016 |
this.deleteProject("PS2"); |
1017 |
} |
1018 |
} |
939 |
} |
1019 |
} |