Don't consider a directory to be a package if there's a .java or .class file with the same name in its parent directory

#KT-12664 Fixed
This commit is contained in:
Dmitry Jemerov
2016-11-17 15:44:57 +01:00
parent 7dbcbeb794
commit 5a533a521b
7 changed files with 39 additions and 6 deletions
@@ -40,10 +40,7 @@ import org.jetbrains.kotlin.load.kotlin.JvmMetadataVersion;
import org.jetbrains.kotlin.resolve.BindingContext;
import org.jetbrains.kotlin.resolve.DescriptorUtils;
import org.jetbrains.kotlin.resolve.lazy.JvmResolveUtil;
import org.jetbrains.kotlin.test.ConfigurationKind;
import org.jetbrains.kotlin.test.KotlinTestUtils;
import org.jetbrains.kotlin.test.TestCaseWithTmpdir;
import org.jetbrains.kotlin.test.TestJdkKind;
import org.jetbrains.kotlin.test.*;
import org.jetbrains.kotlin.test.util.DescriptorValidator;
import org.jetbrains.kotlin.test.util.RecursiveDescriptorComparator;
import org.jetbrains.kotlin.utils.ExceptionUtilsKt;
@@ -440,4 +437,14 @@ public class CompileKotlinAgainstCustomBinariesTest extends TestCaseWithTmpdir {
new File(getTestDataDirectory(), "output.txt"), normalizeOutput(outputMain)
);
}
public void testInnerClassPackageConflict() throws Exception {
compileJava("library");
FileUtil.copy(new File(getTestDataDirectory(), "library/test/Foo/x.txt"),
new File(tmpdir, "library/test/Foo/x.txt"));
MockLibraryUtil.createJarFile(tmpdir, new File(tmpdir, "library"), null, "library", false);
File jarPath = new File(tmpdir, "library.jar");
Pair<String, ExitCode> output = compileKotlin("source.kt", tmpdir, jarPath);
KotlinTestUtils.assertEqualsToFile(new File(getTestDataDirectory(), "output.txt"), normalizeOutput(output));
}
}