From 5488a8402fa45f7ef0ac884fb26caebe92cee6dd Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Tue, 13 May 2014 21:40:55 +0400 Subject: [PATCH] Move and rename KFunctionImpl classes Move from package "kotlin.reflect" to "kotlin.reflect.jvm.internal". They are internal detail of the compiler and should not be used directly (especially now that "kotlin.reflect" is in default import paths). Also rename "KFunctionImplN" to "KFunctionNImpl", because this name makes more sense --- .../jet/codegen/JvmFunctionImplTypes.java | 11 +++-- .../callableReference/function/toString.kt | 6 +-- .../internal}/KExtensionFunctionsImpl.kt | 48 +++++++++---------- .../{ => jvm/internal}/KFunctionsImpl.kt | 48 +++++++++---------- .../internal}/KMemberFunctionsImpl.kt | 48 +++++++++---------- .../jet/generators/builtins/functions.kt | 8 ++-- .../generators/builtins/generateBuiltIns.kt | 2 +- 7 files changed, 87 insertions(+), 84 deletions(-) rename core/runtime.jvm/src/kotlin/reflect/{ => jvm/internal}/KExtensionFunctionsImpl.kt (80%) rename core/runtime.jvm/src/kotlin/reflect/{ => jvm/internal}/KFunctionsImpl.kt (78%) rename core/runtime.jvm/src/kotlin/reflect/{ => jvm/internal}/KMemberFunctionsImpl.kt (80%) diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/JvmFunctionImplTypes.java b/compiler/backend/src/org/jetbrains/jet/codegen/JvmFunctionImplTypes.java index 0cf312e4d07..99c82023d92 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/JvmFunctionImplTypes.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/JvmFunctionImplTypes.java @@ -80,15 +80,16 @@ public class JvmFunctionImplTypes { @NotNull private List getKFunctionsImplList() { if (kFunctionsList == null) { - MutablePackageFragmentDescriptor reflect = - new MutablePackageFragmentDescriptor(DescriptorUtils.getContainingModule(functionImpl), new FqName("kotlin.reflect")); + MutablePackageFragmentDescriptor packageFragment = new MutablePackageFragmentDescriptor( + DescriptorUtils.getContainingModule(functionImpl), new FqName("kotlin.reflect.jvm.internal") + ); ImmutableList.Builder builder = ImmutableList.builder(); for (int i = 0; i < KotlinBuiltIns.FUNCTION_TRAIT_COUNT; i++) { builder.add(new KFunctions( - createKFunctionImpl(reflect, "KFunctionImpl" + i, reflectionTypes.getKFunction(i)), - createKFunctionImpl(reflect, "KMemberFunctionImpl" + i, reflectionTypes.getKMemberFunction(i)), - createKFunctionImpl(reflect, "KExtensionFunctionImpl" + i, reflectionTypes.getKExtensionFunction(i)) + createKFunctionImpl(packageFragment, "KFunction" + i + "Impl", reflectionTypes.getKFunction(i)), + createKFunctionImpl(packageFragment, "KMemberFunction" + i + "Impl", reflectionTypes.getKMemberFunction(i)), + createKFunctionImpl(packageFragment, "KExtensionFunction" + i + "Impl", reflectionTypes.getKExtensionFunction(i)) )); } kFunctionsList = builder.build(); diff --git a/compiler/testData/codegen/boxWithStdlib/callableReference/function/toString.kt b/compiler/testData/codegen/boxWithStdlib/callableReference/function/toString.kt index a004bc8ff86..148ee943a8a 100644 --- a/compiler/testData/codegen/boxWithStdlib/callableReference/function/toString.kt +++ b/compiler/testData/codegen/boxWithStdlib/callableReference/function/toString.kt @@ -9,15 +9,15 @@ fun A.baz() {} fun box(): String { val f = "${::foo}" - if (f != "kotlin.reflect.KFunctionImpl1") return "Fail foo: $f" + if (f != "kotlin.reflect.jvm.internal.KFunction1Impl") return "Fail foo: $f" val nameOfA = (A() as java.lang.Object).getClass().getName() val g = "${A::bar}" - if (g != "kotlin.reflect.KMemberFunctionImpl0<$nameOfA, java.lang.String>") return "Fail bar: $g" + if (g != "kotlin.reflect.jvm.internal.KMemberFunction0Impl<$nameOfA, java.lang.String>") return "Fail bar: $g" val h = "${A::baz}" - if (h != "kotlin.reflect.KExtensionFunctionImpl0<$nameOfA, kotlin.Unit>") return "Fail baz: $h" + if (h != "kotlin.reflect.jvm.internal.KExtensionFunction0Impl<$nameOfA, kotlin.Unit>") return "Fail baz: $h" return "OK" } diff --git a/core/runtime.jvm/src/kotlin/reflect/KExtensionFunctionsImpl.kt b/core/runtime.jvm/src/kotlin/reflect/jvm/internal/KExtensionFunctionsImpl.kt similarity index 80% rename from core/runtime.jvm/src/kotlin/reflect/KExtensionFunctionsImpl.kt rename to core/runtime.jvm/src/kotlin/reflect/jvm/internal/KExtensionFunctionsImpl.kt index b27be01047b..65b076ef0bc 100644 --- a/core/runtime.jvm/src/kotlin/reflect/KExtensionFunctionsImpl.kt +++ b/core/runtime.jvm/src/kotlin/reflect/jvm/internal/KExtensionFunctionsImpl.kt @@ -16,76 +16,76 @@ // Auto-generated file. DO NOT EDIT! -package kotlin.reflect +package kotlin.reflect.jvm.internal import java.io.Serializable -public abstract class KExtensionFunctionImpl0 : KExtensionFunction0, Serializable { +public abstract class KExtensionFunction0Impl : KExtensionFunction0, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KExtensionFunctionImpl1 : KExtensionFunction1, Serializable { +public abstract class KExtensionFunction1Impl : KExtensionFunction1, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KExtensionFunctionImpl2 : KExtensionFunction2, Serializable { +public abstract class KExtensionFunction2Impl : KExtensionFunction2, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KExtensionFunctionImpl3 : KExtensionFunction3, Serializable { +public abstract class KExtensionFunction3Impl : KExtensionFunction3, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KExtensionFunctionImpl4 : KExtensionFunction4, Serializable { +public abstract class KExtensionFunction4Impl : KExtensionFunction4, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KExtensionFunctionImpl5 : KExtensionFunction5, Serializable { +public abstract class KExtensionFunction5Impl : KExtensionFunction5, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KExtensionFunctionImpl6 : KExtensionFunction6, Serializable { +public abstract class KExtensionFunction6Impl : KExtensionFunction6, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KExtensionFunctionImpl7 : KExtensionFunction7, Serializable { +public abstract class KExtensionFunction7Impl : KExtensionFunction7, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KExtensionFunctionImpl8 : KExtensionFunction8, Serializable { +public abstract class KExtensionFunction8Impl : KExtensionFunction8, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KExtensionFunctionImpl9 : KExtensionFunction9, Serializable { +public abstract class KExtensionFunction9Impl : KExtensionFunction9, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KExtensionFunctionImpl10 : KExtensionFunction10, Serializable { +public abstract class KExtensionFunction10Impl : KExtensionFunction10, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KExtensionFunctionImpl11 : KExtensionFunction11, Serializable { +public abstract class KExtensionFunction11Impl : KExtensionFunction11, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KExtensionFunctionImpl12 : KExtensionFunction12, Serializable { +public abstract class KExtensionFunction12Impl : KExtensionFunction12, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KExtensionFunctionImpl13 : KExtensionFunction13, Serializable { +public abstract class KExtensionFunction13Impl : KExtensionFunction13, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KExtensionFunctionImpl14 : KExtensionFunction14, Serializable { +public abstract class KExtensionFunction14Impl : KExtensionFunction14, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KExtensionFunctionImpl15 : KExtensionFunction15, Serializable { +public abstract class KExtensionFunction15Impl : KExtensionFunction15, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KExtensionFunctionImpl16 : KExtensionFunction16, Serializable { +public abstract class KExtensionFunction16Impl : KExtensionFunction16, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KExtensionFunctionImpl17 : KExtensionFunction17, Serializable { +public abstract class KExtensionFunction17Impl : KExtensionFunction17, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KExtensionFunctionImpl18 : KExtensionFunction18, Serializable { +public abstract class KExtensionFunction18Impl : KExtensionFunction18, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KExtensionFunctionImpl19 : KExtensionFunction19, Serializable { +public abstract class KExtensionFunction19Impl : KExtensionFunction19, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KExtensionFunctionImpl20 : KExtensionFunction20, Serializable { +public abstract class KExtensionFunction20Impl : KExtensionFunction20, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KExtensionFunctionImpl21 : KExtensionFunction21, Serializable { +public abstract class KExtensionFunction21Impl : KExtensionFunction21, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KExtensionFunctionImpl22 : KExtensionFunction22, Serializable { +public abstract class KExtensionFunction22Impl : KExtensionFunction22, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } diff --git a/core/runtime.jvm/src/kotlin/reflect/KFunctionsImpl.kt b/core/runtime.jvm/src/kotlin/reflect/jvm/internal/KFunctionsImpl.kt similarity index 78% rename from core/runtime.jvm/src/kotlin/reflect/KFunctionsImpl.kt rename to core/runtime.jvm/src/kotlin/reflect/jvm/internal/KFunctionsImpl.kt index 40f990bdbbf..fa8c3c5bf0c 100644 --- a/core/runtime.jvm/src/kotlin/reflect/KFunctionsImpl.kt +++ b/core/runtime.jvm/src/kotlin/reflect/jvm/internal/KFunctionsImpl.kt @@ -16,76 +16,76 @@ // Auto-generated file. DO NOT EDIT! -package kotlin.reflect +package kotlin.reflect.jvm.internal import java.io.Serializable -public abstract class KFunctionImpl0 : KFunction0, Serializable { +public abstract class KFunction0Impl : KFunction0, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KFunctionImpl1 : KFunction1, Serializable { +public abstract class KFunction1Impl : KFunction1, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KFunctionImpl2 : KFunction2, Serializable { +public abstract class KFunction2Impl : KFunction2, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KFunctionImpl3 : KFunction3, Serializable { +public abstract class KFunction3Impl : KFunction3, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KFunctionImpl4 : KFunction4, Serializable { +public abstract class KFunction4Impl : KFunction4, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KFunctionImpl5 : KFunction5, Serializable { +public abstract class KFunction5Impl : KFunction5, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KFunctionImpl6 : KFunction6, Serializable { +public abstract class KFunction6Impl : KFunction6, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KFunctionImpl7 : KFunction7, Serializable { +public abstract class KFunction7Impl : KFunction7, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KFunctionImpl8 : KFunction8, Serializable { +public abstract class KFunction8Impl : KFunction8, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KFunctionImpl9 : KFunction9, Serializable { +public abstract class KFunction9Impl : KFunction9, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KFunctionImpl10 : KFunction10, Serializable { +public abstract class KFunction10Impl : KFunction10, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KFunctionImpl11 : KFunction11, Serializable { +public abstract class KFunction11Impl : KFunction11, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KFunctionImpl12 : KFunction12, Serializable { +public abstract class KFunction12Impl : KFunction12, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KFunctionImpl13 : KFunction13, Serializable { +public abstract class KFunction13Impl : KFunction13, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KFunctionImpl14 : KFunction14, Serializable { +public abstract class KFunction14Impl : KFunction14, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KFunctionImpl15 : KFunction15, Serializable { +public abstract class KFunction15Impl : KFunction15, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KFunctionImpl16 : KFunction16, Serializable { +public abstract class KFunction16Impl : KFunction16, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KFunctionImpl17 : KFunction17, Serializable { +public abstract class KFunction17Impl : KFunction17, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KFunctionImpl18 : KFunction18, Serializable { +public abstract class KFunction18Impl : KFunction18, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KFunctionImpl19 : KFunction19, Serializable { +public abstract class KFunction19Impl : KFunction19, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KFunctionImpl20 : KFunction20, Serializable { +public abstract class KFunction20Impl : KFunction20, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KFunctionImpl21 : KFunction21, Serializable { +public abstract class KFunction21Impl : KFunction21, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KFunctionImpl22 : KFunction22, Serializable { +public abstract class KFunction22Impl : KFunction22, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } diff --git a/core/runtime.jvm/src/kotlin/reflect/KMemberFunctionsImpl.kt b/core/runtime.jvm/src/kotlin/reflect/jvm/internal/KMemberFunctionsImpl.kt similarity index 80% rename from core/runtime.jvm/src/kotlin/reflect/KMemberFunctionsImpl.kt rename to core/runtime.jvm/src/kotlin/reflect/jvm/internal/KMemberFunctionsImpl.kt index d5d80905596..af64bae9e27 100644 --- a/core/runtime.jvm/src/kotlin/reflect/KMemberFunctionsImpl.kt +++ b/core/runtime.jvm/src/kotlin/reflect/jvm/internal/KMemberFunctionsImpl.kt @@ -16,76 +16,76 @@ // Auto-generated file. DO NOT EDIT! -package kotlin.reflect +package kotlin.reflect.jvm.internal import java.io.Serializable -public abstract class KMemberFunctionImpl0 : KMemberFunction0, Serializable { +public abstract class KMemberFunction0Impl : KMemberFunction0, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KMemberFunctionImpl1 : KMemberFunction1, Serializable { +public abstract class KMemberFunction1Impl : KMemberFunction1, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KMemberFunctionImpl2 : KMemberFunction2, Serializable { +public abstract class KMemberFunction2Impl : KMemberFunction2, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KMemberFunctionImpl3 : KMemberFunction3, Serializable { +public abstract class KMemberFunction3Impl : KMemberFunction3, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KMemberFunctionImpl4 : KMemberFunction4, Serializable { +public abstract class KMemberFunction4Impl : KMemberFunction4, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KMemberFunctionImpl5 : KMemberFunction5, Serializable { +public abstract class KMemberFunction5Impl : KMemberFunction5, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KMemberFunctionImpl6 : KMemberFunction6, Serializable { +public abstract class KMemberFunction6Impl : KMemberFunction6, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KMemberFunctionImpl7 : KMemberFunction7, Serializable { +public abstract class KMemberFunction7Impl : KMemberFunction7, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KMemberFunctionImpl8 : KMemberFunction8, Serializable { +public abstract class KMemberFunction8Impl : KMemberFunction8, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KMemberFunctionImpl9 : KMemberFunction9, Serializable { +public abstract class KMemberFunction9Impl : KMemberFunction9, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KMemberFunctionImpl10 : KMemberFunction10, Serializable { +public abstract class KMemberFunction10Impl : KMemberFunction10, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KMemberFunctionImpl11 : KMemberFunction11, Serializable { +public abstract class KMemberFunction11Impl : KMemberFunction11, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KMemberFunctionImpl12 : KMemberFunction12, Serializable { +public abstract class KMemberFunction12Impl : KMemberFunction12, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KMemberFunctionImpl13 : KMemberFunction13, Serializable { +public abstract class KMemberFunction13Impl : KMemberFunction13, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KMemberFunctionImpl14 : KMemberFunction14, Serializable { +public abstract class KMemberFunction14Impl : KMemberFunction14, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KMemberFunctionImpl15 : KMemberFunction15, Serializable { +public abstract class KMemberFunction15Impl : KMemberFunction15, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KMemberFunctionImpl16 : KMemberFunction16, Serializable { +public abstract class KMemberFunction16Impl : KMemberFunction16, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KMemberFunctionImpl17 : KMemberFunction17, Serializable { +public abstract class KMemberFunction17Impl : KMemberFunction17, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KMemberFunctionImpl18 : KMemberFunction18, Serializable { +public abstract class KMemberFunction18Impl : KMemberFunction18, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KMemberFunctionImpl19 : KMemberFunction19, Serializable { +public abstract class KMemberFunction19Impl : KMemberFunction19, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KMemberFunctionImpl20 : KMemberFunction20, Serializable { +public abstract class KMemberFunction20Impl : KMemberFunction20, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KMemberFunctionImpl21 : KMemberFunction21, Serializable { +public abstract class KMemberFunction21Impl : KMemberFunction21, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } -public abstract class KMemberFunctionImpl22 : KMemberFunction22, Serializable { +public abstract class KMemberFunction22Impl : KMemberFunction22, Serializable { override fun toString() = "${getClass().getGenericSuperclass()}" } diff --git a/generators/src/org/jetbrains/jet/generators/builtins/functions.kt b/generators/src/org/jetbrains/jet/generators/builtins/functions.kt index 461db07513b..2b4dacb2c86 100644 --- a/generators/src/org/jetbrains/jet/generators/builtins/functions.kt +++ b/generators/src/org/jetbrains/jet/generators/builtins/functions.kt @@ -34,9 +34,9 @@ enum class FunctionKind( K_EXTENSION_FUNCTION : FunctionKind("KExtensionFunction", true, "ExtensionFunction") fun getFileName() = (if (isReflection()) "reflect/" else "") + classNamePrefix + "s.kt" - fun getImplFileName() = "reflect/" + classNamePrefix + "sImpl.kt" + fun getImplFileName() = "reflect/jvm/internal/${classNamePrefix}sImpl.kt" fun getClassName(i: Int) = classNamePrefix + i - fun getImplClassName(i: Int) = classNamePrefix + "Impl" + i + fun getImplClassName(i: Int) = classNamePrefix + i + "Impl" fun getSuperClassName(i: Int) = superClassNamePrefix?.plus(i) fun isReflection() = superClassNamePrefix != null @@ -103,7 +103,9 @@ class GenerateFunctions(out: PrintWriter, kind: FunctionKind) : GenerateFunction } } -class GenerateFunctionsImpl(out: PrintWriter, kind: FunctionKind) : GenerateFunctionsBase(out, kind) { +class GenerateKFunctionsImpl(out: PrintWriter, kind: FunctionKind) : GenerateFunctionsBase(out, kind) { + override fun getPackage() = "kotlin.reflect.jvm.internal" + override fun generateBody() { out.println("import java.io.Serializable") out.println() diff --git a/generators/src/org/jetbrains/jet/generators/builtins/generateBuiltIns.kt b/generators/src/org/jetbrains/jet/generators/builtins/generateBuiltIns.kt index 5a8fc43c3ed..b3952068cbf 100644 --- a/generators/src/org/jetbrains/jet/generators/builtins/generateBuiltIns.kt +++ b/generators/src/org/jetbrains/jet/generators/builtins/generateBuiltIns.kt @@ -61,7 +61,7 @@ fun generateBuiltIns(generate: (File, (PrintWriter) -> BuiltInsSourceGenerator) for (kind in FunctionKind.values()) { if (kind.isReflection()) { generate(File(REFLECTION_DIR, kind.getFileName())) { GenerateFunctions(it, kind) } - generate(File(RUNTIME_JVM_DIR, kind.getImplFileName()), { GenerateFunctionsImpl(it, kind) }) + generate(File(RUNTIME_JVM_DIR, kind.getImplFileName()), { GenerateKFunctionsImpl(it, kind) }) } else { generate(File(BUILT_INS_SRC_DIR, kind.getFileName())) { GenerateFunctions(it, kind) }