From dc399ac46b829e5c7a07f55205d007329a57a8d8 Mon Sep 17 00:00:00 2001 From: Dmitry Petrov Date: Fri, 16 Oct 2015 13:20:30 +0300 Subject: [PATCH] Drop package facades: get rid of isPackageClassFqName --- .../kotlin/codegen/SamWrapperCodegen.java | 1 - .../nullabilityAnnotations/VoidReturn.java | 2 +- .../codegen/AbstractLineNumberTest.java | 4 ---- .../kotlin/codegen/InlineTestUtil.kt | 9 ++------- .../jvm/compiler/AbstractSMAPBaseTest.kt | 20 +++++++------------ .../kotlin/load/kotlin/PackageClassUtils.java | 4 ---- .../KotlinSyntheticTypeComponentProvider.kt | 5 ----- 7 files changed, 10 insertions(+), 35 deletions(-) diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/SamWrapperCodegen.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/SamWrapperCodegen.java index a54ff63c587..8e56a7c4e74 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/SamWrapperCodegen.java +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/SamWrapperCodegen.java @@ -25,7 +25,6 @@ import org.jetbrains.kotlin.descriptors.impl.SimpleFunctionDescriptorImpl; import org.jetbrains.kotlin.fileClasses.JvmFileClassUtil; import org.jetbrains.kotlin.incremental.components.NoLookupLocation; import org.jetbrains.kotlin.load.java.descriptors.JavaClassDescriptor; -import org.jetbrains.kotlin.load.kotlin.PackageClassUtils; import org.jetbrains.kotlin.load.kotlin.PackagePartClassUtils; import org.jetbrains.kotlin.name.FqName; import org.jetbrains.kotlin.name.Name; diff --git a/compiler/testData/asJava/lightClasses/nullabilityAnnotations/VoidReturn.java b/compiler/testData/asJava/lightClasses/nullabilityAnnotations/VoidReturn.java index 9039d39c9b6..743eb8a6ca3 100644 --- a/compiler/testData/asJava/lightClasses/nullabilityAnnotations/VoidReturn.java +++ b/compiler/testData/asJava/lightClasses/nullabilityAnnotations/VoidReturn.java @@ -1,3 +1,3 @@ public final class VoidReturnKt { - public static final void foo(@org.jetbrains.annotations.NotNull java.lang.String s) { /* compiled code */ } + public static final void foo(@org.jetbrains.annotations.NotNull java.lang.String g) { /* compiled code */ } } \ No newline at end of file diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/AbstractLineNumberTest.java b/compiler/tests/org/jetbrains/kotlin/codegen/AbstractLineNumberTest.java index fef9b6b8089..1f7d1feb27c 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/AbstractLineNumberTest.java +++ b/compiler/tests/org/jetbrains/kotlin/codegen/AbstractLineNumberTest.java @@ -123,10 +123,6 @@ public abstract class AbstractLineNumberTest extends TestCaseWithTmpdir { ClassFileFactory factory = state.getFactory(); List actualLineNumbers = Lists.newArrayList(); for (OutputFile outputFile : ClassFileUtilsKt.getClassFiles(factory)) { - if (PackageClassUtils.isPackageClassFqName(new FqName(FileUtil.getNameWithoutExtension(outputFile.getRelativePath())))) { - // Don't test line numbers in *Package facade classes - continue; - } ClassReader cr = new ClassReader(outputFile.asByteArray()); try { List lineNumbers = testFunInvoke ? readTestFunLineNumbers(cr) : readAllLineNumbers(cr); diff --git a/compiler/tests/org/jetbrains/kotlin/codegen/InlineTestUtil.kt b/compiler/tests/org/jetbrains/kotlin/codegen/InlineTestUtil.kt index ccb23e253a0..8dcb6ae02d0 100644 --- a/compiler/tests/org/jetbrains/kotlin/codegen/InlineTestUtil.kt +++ b/compiler/tests/org/jetbrains/kotlin/codegen/InlineTestUtil.kt @@ -106,11 +106,6 @@ public object InlineTestUtil { return null } - val classFqName = JvmClassName.byInternalName(className).getFqNameForClassNameWithoutDollars() - if (PackageClassUtils.isPackageClassFqName(classFqName)) { - return null - } - return object : MethodNode(Opcodes.ASM5, access, name, desc, signature, exceptions) { public override fun visitMethodInsn(opcode: Int, owner: String, name: String, desc: String, itf: Boolean) { val methodCall = MethodInfo(owner, name, desc) @@ -143,10 +138,10 @@ public object InlineTestUtil { cr.accept(object : ClassVisitorWithName() { override fun visitMethod(access: Int, name: String, desc: String, signature: String?, exceptions: Array?): MethodVisitor? { - val classFqName = JvmClassName.byInternalName(className).getFqNameForClassNameWithoutDollars() + JvmClassName.byInternalName(className).getFqNameForClassNameWithoutDollars() val declaration = MethodInfo(className, name, desc) //do not check anonymous object creation in inline functions and in package facades - if (PackageClassUtils.isPackageClassFqName(classFqName) || declaration in inlinedMethods) { + if (declaration in inlinedMethods) { return null } diff --git a/compiler/tests/org/jetbrains/kotlin/jvm/compiler/AbstractSMAPBaseTest.kt b/compiler/tests/org/jetbrains/kotlin/jvm/compiler/AbstractSMAPBaseTest.kt index 42c240a43bd..f8e86e71371 100644 --- a/compiler/tests/org/jetbrains/kotlin/jvm/compiler/AbstractSMAPBaseTest.kt +++ b/compiler/tests/org/jetbrains/kotlin/jvm/compiler/AbstractSMAPBaseTest.kt @@ -33,20 +33,14 @@ public interface AbstractSMAPBaseTest { private fun extractSMAPFromClasses(outputFiles: Iterable): List { return outputFiles.map { outputFile -> - if (PackageClassUtils.isPackageClassFqName(FqName(FileUtil.getNameWithoutExtension(outputFile.relativePath).replace('/', '.')))) { - // Don't test line numbers in *Package facade classes - null - } - else { - var debugInfo: String? = null - ClassReader(outputFile.asByteArray()).accept(object : ClassVisitor(Opcodes.ASM5) { - override fun visitSource(source: String?, debug: String?) { - debugInfo = debug - } - }, 0) + var debugInfo: String? = null + ClassReader(outputFile.asByteArray()).accept(object : ClassVisitor(Opcodes.ASM5) { + override fun visitSource(source: String?, debug: String?) { + debugInfo = debug + } + }, 0) - SMAPAndFile.SMAPAndFile(debugInfo, outputFile.sourceFiles.single()) - } + SMAPAndFile.SMAPAndFile(debugInfo, outputFile.sourceFiles.single()) }.filterNotNull() } diff --git a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/kotlin/PackageClassUtils.java b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/kotlin/PackageClassUtils.java index c3685693389..885f2e9fd4d 100644 --- a/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/kotlin/PackageClassUtils.java +++ b/core/descriptor.loader.java/src/org/jetbrains/kotlin/load/kotlin/PackageClassUtils.java @@ -57,8 +57,4 @@ public final class PackageClassUtils { public static String getPackageClassInternalName(@NotNull FqName packageFQN) { return JvmClassName.byFqNameWithoutInnerClasses(getPackageClassFqName(packageFQN)).getInternalName(); } - - public static boolean isPackageClassFqName(@NotNull FqName fqName) { - return !fqName.isRoot() && getPackageClassFqName(fqName.parent()).equals(fqName); - } } diff --git a/idea/src/org/jetbrains/kotlin/idea/debugger/filter/KotlinSyntheticTypeComponentProvider.kt b/idea/src/org/jetbrains/kotlin/idea/debugger/filter/KotlinSyntheticTypeComponentProvider.kt index e267c25053f..4ac70415a52 100644 --- a/idea/src/org/jetbrains/kotlin/idea/debugger/filter/KotlinSyntheticTypeComponentProvider.kt +++ b/idea/src/org/jetbrains/kotlin/idea/debugger/filter/KotlinSyntheticTypeComponentProvider.kt @@ -30,11 +30,6 @@ public class KotlinSyntheticTypeComponentProvider: SyntheticTypeComponentProvide val typeName = typeComponent.declaringType().name() if (!FqNameUnsafe.isValid(typeName)) return false - if (PackageClassUtils.isPackageClassFqName(FqName(typeName))) { - val lineNumber = typeComponent.location().lineNumber() - return lineNumber == 1 - } - return false } } \ No newline at end of file