diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/FunctionCodegen.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/FunctionCodegen.java index fa8edf28217..c7a43fb7e79 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/FunctionCodegen.java +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/FunctionCodegen.java @@ -151,7 +151,8 @@ public class FunctionCodegen { int flags = getMethodAsmFlags(functionDescriptor, contextKind); boolean isNative = NativeDeclarationsPackage.hasNativeAnnotation(functionDescriptor); - if (isNative && owner instanceof PackageContext && !(owner instanceof PackageFacadeContext)) { + //TODO: generate native method only in new mini facades (now it equals to package part) + if (isNative && owner instanceof PackageFacadeContext) { // Native methods are only defined in package facades and do not need package part implementations return; } diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/MethodInliner.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/MethodInliner.java index f321b5d0826..ca38f47cc41 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/MethodInliner.java +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/inline/MethodInliner.java @@ -674,21 +674,21 @@ public class MethodInliner { //TODO: check it's external module //TODO?: assert method exists in facade? public String changeOwnerForExternalPackage(String type, int opcode) { - if (isSameModule || (opcode & Opcodes.INVOKESTATIC) == 0) { - return type; - } + //if (isSameModule || (opcode & Opcodes.INVOKESTATIC) == 0) { + // return type; + //} - JvmClassName name = JvmClassName.byInternalName(type); - String packageClassInternalName = PackageClassUtils.getPackageClassInternalName(name.getPackageFqName()); - if (type.startsWith(packageClassInternalName + '$')) { - VirtualFile virtualFile = InlineCodegenUtil.findVirtualFile(inliningContext.state.getProject(), type); - if (virtualFile != null) { - KotlinJvmBinaryClass klass = KotlinBinaryClassCache.getKotlinBinaryClass(virtualFile); - if (klass != null && klass.getClassHeader().getSyntheticClassKind() == KotlinSyntheticClass.Kind.PACKAGE_PART) { - return packageClassInternalName; - } - } - } + //JvmClassName name = JvmClassName.byInternalName(type); + //String packageClassInternalName = PackageClassUtils.getPackageClassInternalName(name.getPackageFqName()); + //if (type.startsWith(packageClassInternalName + '$')) { + // VirtualFile virtualFile = InlineCodegenUtil.findVirtualFile(inliningContext.state.getProject(), type); + // if (virtualFile != null) { + // KotlinJvmBinaryClass klass = KotlinBinaryClassCache.getKotlinBinaryClass(virtualFile); + // if (klass != null && klass.getClassHeader().getSyntheticClassKind() == KotlinSyntheticClass.Kind.PACKAGE_PART) { + // return packageClassInternalName; + // } + // } + //} return type; } diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/intrinsics/Concat.kt b/compiler/backend/src/org/jetbrains/kotlin/codegen/intrinsics/Concat.kt index 2ad3cd8ecad..6f46ccd7aa6 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/intrinsics/Concat.kt +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/intrinsics/Concat.kt @@ -80,4 +80,4 @@ public class Concat : IntrinsicMethod() { } } } -} +} \ No newline at end of file diff --git a/compiler/backend/src/org/jetbrains/kotlin/codegen/state/JetTypeMapper.java b/compiler/backend/src/org/jetbrains/kotlin/codegen/state/JetTypeMapper.java index 33b4fa1cbab..7842051b0ee 100644 --- a/compiler/backend/src/org/jetbrains/kotlin/codegen/state/JetTypeMapper.java +++ b/compiler/backend/src/org/jetbrains/kotlin/codegen/state/JetTypeMapper.java @@ -159,7 +159,7 @@ public class JetTypeMapper { @NotNull CallableMemberDescriptor descriptor, boolean insideModule ) { - if (insideModule) { + ///if (insideModule) { JetFile file = DescriptorToSourceUtils.getContainingFile(descriptor); if (file != null) { return PackagePartClassUtils.getPackagePartInternalName(file); @@ -171,9 +171,11 @@ public class JetTypeMapper { FqName packagePartFqName = PackagePartClassUtils.getPackagePartFqName((DeserializedCallableMemberDescriptor) directMember); return internalNameByFqNameWithoutInnerClasses(packagePartFqName); } - } - return PackageClassUtils.getPackageClassInternalName(packageFragment.getFqName()); + //} + + throw new RuntimeException("Unreachable state"); + //return PackageClassUtils.getPackageClassInternalName(packageFragment.getFqName()); } @NotNull diff --git a/compiler/testData/codegen/boxWithStdlib/fullJdk/native/default.kt b/compiler/testData/codegen/boxWithStdlib/fullJdk/native/default.kt index 65824bb7092..a79a3a3f6ad 100644 --- a/compiler/testData/codegen/boxWithStdlib/fullJdk/native/default.kt +++ b/compiler/testData/codegen/boxWithStdlib/fullJdk/native/default.kt @@ -35,7 +35,7 @@ fun box(): String { return "Link error expected on object" } catch (e: java.lang.UnsatisfiedLinkError) { - if (e.getMessage() != "foo.FooPackage.topLevel(I)D") return "Fail 3: " + e.getMessage() + if (e.getMessage() != "foo.DefaultKt.topLevel(I)D") return "Fail 3: " + e.getMessage() } return "OK" } \ No newline at end of file diff --git a/compiler/testData/codegen/boxWithStdlib/fullJdk/native/nativePropertyAccessors.kt b/compiler/testData/codegen/boxWithStdlib/fullJdk/native/nativePropertyAccessors.kt index 8ddcc713912..f4219433cb2 100644 --- a/compiler/testData/codegen/boxWithStdlib/fullJdk/native/nativePropertyAccessors.kt +++ b/compiler/testData/codegen/boxWithStdlib/fullJdk/native/nativePropertyAccessors.kt @@ -36,8 +36,8 @@ fun check(body: () -> Unit, signature: String): String? { } fun box(): String { - return check({defaultGetter}, "_DefaultPackage.getDefaultGetter()I") - ?: check({defaultSetter = 1}, "_DefaultPackage.setDefaultSetter(I)V") + return check({defaultGetter}, "NativePropertyAccessorsKt.getDefaultGetter()I") + ?: check({defaultSetter = 1}, "NativePropertyAccessorsKt.setDefaultSetter(I)V") ?: check({C.defaultGetter}, "C\$Companion.getDefaultGetter()I") ?: check({C.defaultSetter = 1}, "C\$Companion.setDefaultSetter(I)V") diff --git a/compiler/testData/codegen/boxWithStdlib/fullJdk/native/topLevel.kt b/compiler/testData/codegen/boxWithStdlib/fullJdk/native/topLevel.kt index 7f16a12f9de..6d8dfe08f92 100644 --- a/compiler/testData/codegen/boxWithStdlib/fullJdk/native/topLevel.kt +++ b/compiler/testData/codegen/boxWithStdlib/fullJdk/native/topLevel.kt @@ -13,7 +13,7 @@ fun box(): String { return "Link error expected on object" } catch (e: java.lang.UnsatisfiedLinkError) { - if (e.getMessage() != "foo.FooPackage.bar(JLjava/lang/String;)D") return "Fail 1: " + e.getMessage() + if (e.getMessage() != "foo.TopLevelKt.bar(JLjava/lang/String;)D") return "Fail 1: " + e.getMessage() } return "OK" diff --git a/compiler/testData/codegen/topLevelMemberInvocation/twoModules/1.kt b/compiler/testData/codegen/topLevelMemberInvocation/twoModules/1.kt index 53ed0bdb28f..77de3ce7940 100644 --- a/compiler/testData/codegen/topLevelMemberInvocation/twoModules/1.kt +++ b/compiler/testData/codegen/topLevelMemberInvocation/twoModules/1.kt @@ -8,5 +8,5 @@ fun test2() { prop } -// 1 a/APackage.test1 \(\)V -// 1 a/APackage.getProp \(\)I \ No newline at end of file +// 1 a/SourceKt.test1 \(\)V +// 1 a/SourceKt.getProp \(\)I \ No newline at end of file diff --git a/idea/testData/debugger/tinyApp/outs/stepIntoStdlibFacadeClass.out b/idea/testData/debugger/tinyApp/outs/stepIntoStdlibFacadeClass.out index c38579f8fc3..4abd2229886 100644 --- a/idea/testData/debugger/tinyApp/outs/stepIntoStdlibFacadeClass.out +++ b/idea/testData/debugger/tinyApp/outs/stepIntoStdlibFacadeClass.out @@ -2,8 +2,8 @@ LineBreakpoint created at stepIntoStdlibFacadeClass.kt:6 !JDK_HOME!\bin\java -agentlib:jdwp=transport=dt_socket,address=!HOST_NAME!:!HOST_PORT!,suspend=y,server=n -Dfile.encoding=!FILE_ENCODING! -classpath !OUTPUT_PATH!;!KOTLIN_RUNTIME!;!CUSTOM_LIBRARY!;!RT_JAR! stepIntoStdlibFacadeClass.StepIntoStdlibFacadeClassPackage Connected to the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket' stepIntoStdlibFacadeClass.kt:6 -SequenceKt.!EXT! _Mapping.!EXT! +Iterators.!EXT! Disconnected from the target VM, address: '!HOST_NAME!:PORT_NAME!', transport: 'socket' Process finished with exit code 0 diff --git a/jps-plugin/testData/incremental/custom/projectPathCaseChanged/build.log b/jps-plugin/testData/incremental/custom/projectPathCaseChanged/build.log index 7f88bf9c5a4..4ab0fbd82ee 100644 --- a/jps-plugin/testData/incremental/custom/projectPathCaseChanged/build.log +++ b/jps-plugin/testData/incremental/custom/projectPathCaseChanged/build.log @@ -1,5 +1,5 @@ Cleaning output files: -out/production/module/Foo.class +out/production/module/FooKt.class out/production/module/_DefaultPackage.class End of files Compiling files: diff --git a/jps-plugin/testData/incremental/custom/projectPathCaseChangedMultiFile/build.log b/jps-plugin/testData/incremental/custom/projectPathCaseChangedMultiFile/build.log index 7f88bf9c5a4..4ab0fbd82ee 100644 --- a/jps-plugin/testData/incremental/custom/projectPathCaseChangedMultiFile/build.log +++ b/jps-plugin/testData/incremental/custom/projectPathCaseChangedMultiFile/build.log @@ -1,5 +1,5 @@ Cleaning output files: -out/production/module/Foo.class +out/production/module/FooKt.class out/production/module/_DefaultPackage.class End of files Compiling files: