Drop package facades: JVM BE tests passed.

This commit is contained in:
Dmitry Petrov
2015-10-14 13:13:01 +03:00
parent a59cb22bc6
commit 3502c393fc
51 changed files with 120 additions and 571 deletions
@@ -26,8 +26,8 @@ import org.jetbrains.kotlin.cli.jvm.compiler.EnvironmentConfigFiles;
import org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment;
import org.jetbrains.kotlin.cli.jvm.config.JVMConfigurationKeys;
import org.jetbrains.kotlin.config.CompilerConfiguration;
import org.jetbrains.kotlin.load.kotlin.PackageClassUtils;
import org.jetbrains.kotlin.name.FqName;
import org.jetbrains.kotlin.fileClasses.JvmFileClassUtil;
import org.jetbrains.kotlin.psi.JetFile;
import org.jetbrains.kotlin.test.ConfigurationKind;
import org.jetbrains.kotlin.test.JetTestUtils;
import org.jetbrains.kotlin.test.TestJdkKind;
@@ -79,7 +79,7 @@ public class GenerateNotNullAssertionsTest extends CodegenTestCase {
loadFiles("notNullAssertions/noAssertionsForKotlin.kt", "notNullAssertions/noAssertionsForKotlinMain.kt");
assertNoIntrinsicsMethodIsCalled(PackageClassUtils.getPackageClassName(FqName.ROOT));
assertNoIntrinsicsMethodIsCalledInMyClasses(true);
}
public void testNoAssertionsForKotlinFromBinary() throws Exception {
@@ -92,7 +92,7 @@ public class GenerateNotNullAssertionsTest extends CodegenTestCase {
setUpEnvironment(false, true, compiledDirectory);
loadFile("notNullAssertions/noAssertionsForKotlinMain.kt");
assertNoIntrinsicsMethodIsCalled(PackageClassUtils.getPackageClassName(FqName.ROOT));
assertNoIntrinsicsMethodIsCalledInMyClasses(false);
}
public void testGenerateParamAssertions() throws Exception {
@@ -109,7 +109,7 @@ public class GenerateNotNullAssertionsTest extends CodegenTestCase {
loadFile("notNullAssertions/doNotGenerateParamAssertions.kt");
assertNoIntrinsicsMethodIsCalled("A");
assertNoIntrinsicsMethodIsCalled("A", true);
}
public void testNoParamAssertionForPrivateMethod() throws Exception {
@@ -117,7 +117,7 @@ public class GenerateNotNullAssertionsTest extends CodegenTestCase {
loadFile("notNullAssertions/noAssertionForPrivateMethod.kt");
assertNoIntrinsicsMethodIsCalled("A");
assertNoIntrinsicsMethodIsCalled("A", true);
}
public void testArrayListGet() {
@@ -154,7 +154,7 @@ public class GenerateNotNullAssertionsTest extends CodegenTestCase {
loadFile("notNullAssertions/noAssertionForNullableGenericMethod.kt");
assertNoIntrinsicsMethodIsCalled(PackageClassUtils.getPackageClassName(FqName.ROOT));
assertNoIntrinsicsMethodIsCalledInMyClasses(true);
}
public void testNoAssertionForNullableGenericMethodCall() {
@@ -162,7 +162,7 @@ public class GenerateNotNullAssertionsTest extends CodegenTestCase {
loadFile("notNullAssertions/noAssertionForNullableGenericMethodCall.kt");
assertNoIntrinsicsMethodIsCalled("A");
assertNoIntrinsicsMethodIsCalled("A", true);
}
public void testParamAssertionMessage() throws Exception {
@@ -184,10 +184,22 @@ public class GenerateNotNullAssertionsTest extends CodegenTestCase {
fail("Assertion should have been fired");
}
private void assertNoIntrinsicsMethodIsCalled(String className) {
private void assertNoIntrinsicsMethodIsCalledInMyClasses(boolean noClassFileIsAnError) {
for (JetFile jetFile : myFiles.getPsiFiles()) {
String fileClassName = JvmFileClassUtil.getFileClassInfoNoResolve(jetFile).getFileClassFqName().asString();
assertNoIntrinsicsMethodIsCalled(fileClassName, noClassFileIsAnError);
}
}
private void assertNoIntrinsicsMethodIsCalled(String className, boolean noClassFileIsAnError) {
OutputFileCollection classes = generateClassesInFile();
OutputFile file = classes.get(className + ".class");
assertNotNull(file);
if (noClassFileIsAnError) {
assertNotNull("File for " + className + " is absent", file);
}
else if (file == null) {
return;
}
ClassReader reader = new ClassReader(file.asByteArray());
reader.accept(new ClassVisitor(Opcodes.ASM5) {