diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/inline/InlineCodegen.java b/compiler/backend/src/org/jetbrains/jet/codegen/inline/InlineCodegen.java index 4e59b273aaa..9488d29f43f 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/inline/InlineCodegen.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/inline/InlineCodegen.java @@ -102,8 +102,7 @@ public class InlineCodegen implements CallGenerator { codegen.getContext().isInlineFunction() ? InlineStrategy.IN_PLACE : functionDescriptor.getInlineStrategy(); this.asFunctionInline = false; - isSameModule = !(functionDescriptor instanceof DeserializedSimpleFunctionDescriptor) /*not compiled library*/ && - JvmCodegenUtil.isCallInsideSameModuleAsDeclared(functionDescriptor, codegen.getContext()); + isSameModule = JvmCodegenUtil.isCallInsideSameModuleAsDeclared(functionDescriptor, codegen.getContext()); } @Override diff --git a/jps-plugin/test/org/jetbrains/jet/jps/build/IncrementalJpsTestGenerated.java b/jps-plugin/test/org/jetbrains/jet/jps/build/IncrementalJpsTestGenerated.java index bb8c3735440..1628024b0a6 100644 --- a/jps-plugin/test/org/jetbrains/jet/jps/build/IncrementalJpsTestGenerated.java +++ b/jps-plugin/test/org/jetbrains/jet/jps/build/IncrementalJpsTestGenerated.java @@ -141,6 +141,11 @@ public class IncrementalJpsTestGenerated extends AbstractIncrementalJpsTest { doTest("jps-plugin/testData/incremental/packageFilesChangedInTurn/"); } + @TestMetadata("packageInlineFunctionAccessingField") + public void testPackageInlineFunctionAccessingField() throws Exception { + doTest("jps-plugin/testData/incremental/packageInlineFunctionAccessingField/"); + } + @TestMetadata("packageInlineFunctionChanged") public void testPackageInlineFunctionChanged() throws Exception { doTest("jps-plugin/testData/incremental/packageInlineFunctionChanged/"); diff --git a/jps-plugin/testData/incremental/packageInlineFunctionAccessingField/build.log b/jps-plugin/testData/incremental/packageInlineFunctionAccessingField/build.log new file mode 100644 index 00000000000..7c79a56fe44 --- /dev/null +++ b/jps-plugin/testData/incremental/packageInlineFunctionAccessingField/build.log @@ -0,0 +1,7 @@ +Cleaning output files: +out/production/module/test/TestPackage-usage-*.class +out/production/module/test/TestPackage.class +End of files +Compiling files: +src/usage.kt +End of files diff --git a/jps-plugin/testData/incremental/packageInlineFunctionAccessingField/inline.kt b/jps-plugin/testData/incremental/packageInlineFunctionAccessingField/inline.kt new file mode 100644 index 00000000000..9523df0da2c --- /dev/null +++ b/jps-plugin/testData/incremental/packageInlineFunctionAccessingField/inline.kt @@ -0,0 +1,8 @@ +package test + +val property = ":)" + +inline fun f(body: () -> Unit) { + println("i'm inline function" + property) + body() +} diff --git a/jps-plugin/testData/incremental/packageInlineFunctionAccessingField/inlineOther.kt b/jps-plugin/testData/incremental/packageInlineFunctionAccessingField/inlineOther.kt new file mode 100644 index 00000000000..9c34b3337b9 --- /dev/null +++ b/jps-plugin/testData/incremental/packageInlineFunctionAccessingField/inlineOther.kt @@ -0,0 +1,8 @@ +package other + +val property = ":)" + +inline fun f(body: () -> Unit) { + println("i'm inline function" + property) + body() +} diff --git a/jps-plugin/testData/incremental/packageInlineFunctionAccessingField/usage.kt b/jps-plugin/testData/incremental/packageInlineFunctionAccessingField/usage.kt new file mode 100644 index 00000000000..e5bb1ff5213 --- /dev/null +++ b/jps-plugin/testData/incremental/packageInlineFunctionAccessingField/usage.kt @@ -0,0 +1,6 @@ +package test + +fun main(args: Array) { + f { println("to be inlined") } + other.f { println("to be inlined") } +} diff --git a/jps-plugin/testData/incremental/packageInlineFunctionAccessingField/usage.kt.new b/jps-plugin/testData/incremental/packageInlineFunctionAccessingField/usage.kt.new new file mode 100644 index 00000000000..e5bb1ff5213 --- /dev/null +++ b/jps-plugin/testData/incremental/packageInlineFunctionAccessingField/usage.kt.new @@ -0,0 +1,6 @@ +package test + +fun main(args: Array) { + f { println("to be inlined") } + other.f { println("to be inlined") } +}