├── .gitignore ├── .gitmodules ├── CHANGELOG.md ├── CONCURRENCY.md ├── DEBUGGING.md ├── DISTRO_README.md ├── FAQ.md ├── GRADLE_PLUGIN.md ├── HACKING.md ├── INTEROP.md ├── Interop ├── .idea │ ├── compiler.xml │ ├── gradle.xml │ ├── libraries │ │ ├── Gradle__org_jetbrains_kotlin_kotlin_runtime_1_0_3.xml │ │ └── Gradle__org_jetbrains_kotlin_kotlin_stdlib_1_0_3.xml │ ├── modules.xml │ └── modules │ │ ├── Indexer │ │ └── Indexer.iml │ │ ├── Runtime │ │ └── Runtime.iml │ │ └── StubGenerator │ │ └── StubGenerator.iml ├── Indexer │ ├── build.gradle │ ├── clang.def │ ├── prebuilt │ │ └── nativeInteropStubs │ │ │ ├── c │ │ │ └── clangstubs.c │ │ │ ├── cpp │ │ │ └── disable-abi-checks.cpp │ │ │ └── kotlin │ │ │ └── clang │ │ │ └── clang.kt │ └── src │ │ └── main │ │ └── kotlin │ │ └── org │ │ └── jetbrains │ │ └── kotlin │ │ └── native │ │ └── interop │ │ └── indexer │ │ ├── HeaderToIdMapper.kt │ │ ├── Indexer.kt │ │ ├── MacroConstants.kt │ │ ├── NativeIndex.kt │ │ └── Utils.kt ├── JsRuntime │ ├── build.gradle │ └── src │ │ └── main │ │ ├── js │ │ └── jsinterop.js │ │ └── kotlin │ │ └── jsinterop.kt ├── README.md ├── Runtime │ ├── build.gradle │ └── src │ │ ├── callbacks │ │ └── c │ │ │ └── callbacks.c │ │ ├── jvm │ │ └── kotlin │ │ │ └── kotlinx │ │ │ └── cinterop │ │ │ ├── JvmCallbacks.kt │ │ │ ├── JvmNativeMem.kt │ │ │ ├── JvmTypes.kt │ │ │ └── JvmUtils.kt │ │ ├── main │ │ └── kotlin │ │ │ └── kotlinx │ │ │ └── cinterop │ │ │ ├── Generated.kt │ │ │ ├── StableRef.kt │ │ │ ├── Types.kt │ │ │ ├── Utils.kt │ │ │ └── package-info.java │ │ └── native │ │ └── kotlin │ │ └── kotlinx │ │ └── cinterop │ │ ├── FunctionPointers.kt │ │ ├── NativeMem.kt │ │ ├── NativeStableRef.kt │ │ ├── NativeTypes.kt │ │ ├── NativeUtils.kt │ │ ├── ObjectiveCImpl.kt │ │ ├── ObjectiveCUtils.kt │ │ ├── Pinning.kt │ │ └── Varargs.kt └── StubGenerator │ ├── build.gradle │ └── src │ └── main │ └── kotlin │ └── org │ └── jetbrains │ └── kotlin │ └── native │ └── interop │ └── gen │ ├── CodeBuilders.kt │ ├── CodeUtils.kt │ ├── GlobalVariableStub.kt │ ├── Imports.kt │ ├── KotlinCodeModel.kt │ ├── LibraryUtils.kt │ ├── MappingBridgeGenerator.kt │ ├── MappingBridgeGeneratorImpl.kt │ ├── Mappings.kt │ ├── ObjCStubs.kt │ ├── SimpleBridgeGenerator.kt │ ├── SimpleBridgeGeneratorImpl.kt │ ├── TypeUtils.kt │ ├── jvm │ ├── CommandLine.kt │ ├── InteropConfiguration.kt │ ├── StubGenerator.kt │ ├── ToolConfig.kt │ └── main.kt │ └── wasm │ ├── StubGenerator.kt │ └── idl │ ├── dom.kt │ ├── idl.kt │ └── idlMath.kt ├── LIBRARIES.md ├── LICENSE ├── MULTIPLATFORM.md ├── OBJC_INTEROP.md ├── PLATFORM_LIBS.md ├── README.md ├── RELEASE_NOTES.md ├── RELEASE_PROCESS.md ├── backend.native ├── backend.native.iml ├── bc.frontend │ └── bc.frontend.iml ├── build.gradle ├── cli.bc │ ├── cli.bc.iml │ └── src │ │ └── org │ │ └── jetbrains │ │ └── kotlin │ │ └── cli │ │ └── bc │ │ ├── K2Native.kt │ │ └── K2NativeCompilerArguments.kt ├── compiler │ └── ir │ │ └── backend.native │ │ ├── resources │ │ └── META-INF │ │ │ └── services │ │ │ └── org.jetbrains.kotlin.resolve.ExternalOverridabilityCondition │ │ └── src │ │ └── org │ │ └── jetbrains │ │ └── kotlin │ │ ├── backend │ │ ├── common │ │ │ └── AbstractValueUsageTransformer.kt │ │ └── konan │ │ │ ├── Boxing.kt │ │ │ ├── CAdapterCompile.kt │ │ │ ├── CAdapterGenerator.kt │ │ │ ├── CompilerOutput.kt │ │ │ ├── Context.kt │ │ │ ├── EnumSpecialDescriptorsFactory.kt │ │ │ ├── Exceptions.kt │ │ │ ├── GraphAlgorithms.kt │ │ │ ├── Helper0.kt │ │ │ ├── InteropUtils.kt │ │ │ ├── KonanBackendContext.kt │ │ │ ├── KonanBuiltInClassDescriptorFactory.kt │ │ │ ├── KonanConfig.kt │ │ │ ├── KonanConfigurationKeys.kt │ │ │ ├── KonanDriver.kt │ │ │ ├── KonanLower.kt │ │ │ ├── KonanPhases.kt │ │ │ ├── KonanPlatform.kt │ │ │ ├── KonanPlatformConfigurator.kt │ │ │ ├── LinkStage.kt │ │ │ ├── ObjCInterop.kt │ │ │ ├── OutputFiles.kt │ │ │ ├── Reporting.kt │ │ │ ├── TopDownAnalyzerFacadeForKonan.kt │ │ │ ├── ValueTypes.kt │ │ │ ├── descriptors │ │ │ ├── ClassVtablesBuilder.kt │ │ │ ├── DeepPrintVisitor.kt │ │ │ ├── DeepVisitor.kt │ │ │ ├── DescriptorUtils.kt │ │ │ ├── InteropDescriptors.kt │ │ │ ├── KonanModuleDescriptors.kt │ │ │ ├── KonanSharedVariablesManager.kt │ │ │ ├── LegacyDescriptorUtils.kt │ │ │ └── utils.kt │ │ │ ├── injection.kt │ │ │ ├── ir │ │ │ ├── Ir.kt │ │ │ ├── KonanIr.kt │ │ │ └── ModuleIndex.kt │ │ │ ├── irasdescriptors │ │ │ ├── FakeIrUtils.kt │ │ │ ├── IrAsDescriptors.kt │ │ │ └── NewIrUtils.kt │ │ │ ├── library │ │ │ ├── KonanLibrary.kt │ │ │ ├── KonanLibraryReader.kt │ │ │ ├── KonanLibraryWriter.kt │ │ │ ├── SearchPathResolverExtensions.kt │ │ │ └── impl │ │ │ │ ├── KonanLibrary.kt │ │ │ │ ├── KonanLibraryReaderImpl.kt │ │ │ │ ├── KonanLibraryWriterImpl.kt │ │ │ │ ├── MetadataReaderImpl.kt │ │ │ │ └── MetadataWriterImpl.kt │ │ │ ├── llvm │ │ │ ├── BinaryInterface.kt │ │ │ ├── CodeGenerator.kt │ │ │ ├── ContextUtils.kt │ │ │ ├── DataLayout.kt │ │ │ ├── DebugUtils.kt │ │ │ ├── Dwarf.kt │ │ │ ├── EntryPoint.kt │ │ │ ├── HashUtils.kt │ │ │ ├── Imports.kt │ │ │ ├── IrToBitcode.kt │ │ │ ├── KotlinObjCClassInfoGenerator.kt │ │ │ ├── LlvmDeclarations.kt │ │ │ ├── LlvmUtils.kt │ │ │ ├── RTTIGenerator.kt │ │ │ ├── Runtime.kt │ │ │ ├── StaticData.kt │ │ │ ├── StaticDataUtils.kt │ │ │ ├── StaticObjects.kt │ │ │ ├── UsedAnnotation.kt │ │ │ ├── VariableManager.kt │ │ │ ├── objc │ │ │ │ ├── ObjCCodeGenerator.kt │ │ │ │ └── ObjCDataGenerator.kt │ │ │ └── objcexport │ │ │ │ ├── BlockPointerSupport.kt │ │ │ │ └── ObjCExportCodeGenerator.kt │ │ │ ├── lower │ │ │ ├── Autoboxing.kt │ │ │ ├── BridgesBuilding.kt │ │ │ ├── BuiltinOperatorLowering.kt │ │ │ ├── CallableReferenceLowering.kt │ │ │ ├── CompileTimeEvaluateLowering.kt │ │ │ ├── DataClassOperatorsLowering.kt │ │ │ ├── DeepCopyIrTreeWithDescriptors.kt │ │ │ ├── DefaultArgumentsStubGenerator.kt │ │ │ ├── DelegationLowering.kt │ │ │ ├── EnumClassLowering.kt │ │ │ ├── ExpectDeclarationsRemoving.kt │ │ │ ├── FinallyBlocksLowering.kt │ │ │ ├── ForLoopsLowering.kt │ │ │ ├── FunctionInlining.kt │ │ │ ├── InitializersLowering.kt │ │ │ ├── InnerClassLowering.kt │ │ │ ├── InteropLowering.kt │ │ │ ├── LateinitLowering.kt │ │ │ ├── LocalDeclarationsLowering.kt │ │ │ ├── PostInlineLowering.kt │ │ │ ├── PreInlineLowering.kt │ │ │ ├── ReturnsInsertionLowering.kt │ │ │ ├── SharedVariablesLowering.kt │ │ │ ├── SuspendFunctionsLowering.kt │ │ │ ├── TestProcessor.kt │ │ │ └── TypeOperatorLowering.kt │ │ │ ├── objcexport │ │ │ ├── ObjCExport.kt │ │ │ ├── ObjCExportHeaderGenerator.kt │ │ │ ├── ObjCExportMapper.kt │ │ │ └── ObjCExportNamer.kt │ │ │ ├── optimizations │ │ │ ├── CallGraphBuilder.kt │ │ │ ├── DFGBuilder.kt │ │ │ ├── DFGSerializer.kt │ │ │ ├── DataFlowIR.kt │ │ │ ├── Devirtualization.kt │ │ │ └── EscapeAnalysis.kt │ │ │ └── serialization │ │ │ ├── BackingFieldVisitor.kt │ │ │ ├── CapturedTypes.kt │ │ │ ├── DescriptorTable.kt │ │ │ ├── DeserializerDriver.kt │ │ │ ├── IrDescriptorDeserializer.kt │ │ │ ├── IrDescriptorSerializer.kt │ │ │ ├── KonanClassDataFinder.kt │ │ │ ├── KonanDescriptorSerializer.kt │ │ │ ├── KonanIr.proto │ │ │ ├── KonanLinkData.proto │ │ │ ├── KonanPackageFragment.kt │ │ │ ├── KonanSerializationUtil.kt │ │ │ ├── KonanSerializerExtension.kt │ │ │ ├── KonanStringTable.kt │ │ │ ├── LocalDeclarationDeserializer.kt │ │ │ ├── LocalDeclarationSerializer.kt │ │ │ ├── ProtobufUtil.kt │ │ │ ├── SerializeIr.kt │ │ │ ├── StringTableUtil.kt │ │ │ ├── ext_options.proto1 │ │ │ ├── google_descriptor.proto1 │ │ │ └── metadata.proto1 │ │ └── ir │ │ └── util │ │ ├── IrUnboundSymbolReplacer.kt │ │ └── IrUtils2.kt ├── debugger-tests │ ├── build.gradle │ └── src │ │ ├── main │ │ └── kotlin │ │ │ └── org │ │ │ └── jetbrains │ │ │ └── kotlin │ │ │ └── compiletest │ │ │ ├── DistProperties.kt │ │ │ ├── Driver.kt │ │ │ └── Matchers.kt │ │ └── test │ │ └── kotlin │ │ └── org │ │ └── jetbrains │ │ └── kotlin │ │ └── compiletest │ │ └── LldbTests.kt ├── llvm.def └── tests │ ├── build.gradle │ ├── codegen │ ├── basics │ │ ├── array_to_any.kt │ │ ├── canonical_name.kt │ │ ├── cast_null.kt │ │ ├── cast_simple.kt │ │ ├── check_type.kt │ │ ├── companion.kt │ │ ├── concatenation.kt │ │ ├── expression_as_statement.kt │ │ ├── local_variable.kt │ │ ├── null_check.kt │ │ ├── safe_cast.kt │ │ ├── spread_operator_0.kt │ │ ├── superFunCall.kt │ │ ├── superGetterCall.kt │ │ ├── superSetterCall.kt │ │ ├── typealias1.kt │ │ ├── unchecked_cast1.kt │ │ ├── unchecked_cast2.kt │ │ ├── unchecked_cast3.kt │ │ ├── unit1.kt │ │ ├── unit2.kt │ │ ├── unit3.kt │ │ └── unit4.kt │ ├── boxing │ │ ├── box_cache0.kt │ │ ├── boxing0.kt │ │ ├── boxing1.kt │ │ ├── boxing10.kt │ │ ├── boxing11.kt │ │ ├── boxing12.kt │ │ ├── boxing13.kt │ │ ├── boxing14.kt │ │ ├── boxing15.kt │ │ ├── boxing2.kt │ │ ├── boxing3.kt │ │ ├── boxing4.kt │ │ ├── boxing5.kt │ │ ├── boxing6.kt │ │ ├── boxing7.kt │ │ ├── boxing8.kt │ │ └── boxing9.kt │ ├── branching │ │ ├── advanced_when2.kt │ │ ├── advanced_when5.kt │ │ ├── if_else.kt │ │ ├── when2.kt │ │ ├── when4.kt │ │ ├── when5.kt │ │ ├── when6.kt │ │ ├── when7.kt │ │ ├── when8.kt │ │ ├── when9.kt │ │ └── when_through.kt │ ├── bridges │ │ ├── linkTest2_lib.kt │ │ ├── linkTest2_main.kt │ │ ├── linkTest_lib.kt │ │ ├── linkTest_main.kt │ │ ├── returnTypeSignature.kt │ │ ├── special.kt │ │ ├── test0.kt │ │ ├── test1.kt │ │ ├── test10.kt │ │ ├── test11.kt │ │ ├── test12.kt │ │ ├── test13.kt │ │ ├── test14.kt │ │ ├── test15.kt │ │ ├── test16.kt │ │ ├── test17.kt │ │ ├── test18.kt │ │ ├── test2.kt │ │ ├── test3.kt │ │ ├── test4.kt │ │ ├── test5.kt │ │ ├── test6.kt │ │ ├── test7.kt │ │ ├── test8.kt │ │ └── test9.kt │ ├── classDelegation │ │ ├── generic.kt │ │ ├── method.kt │ │ ├── property.kt │ │ └── withBridge.kt │ ├── controlflow │ │ ├── break.kt │ │ ├── break1.kt │ │ ├── for_loops.kt │ │ ├── for_loops_call_order.kt │ │ ├── for_loops_coroutines.kt │ │ ├── for_loops_empty_range.kt │ │ ├── for_loops_errors.kt │ │ ├── for_loops_let_with_nullable.kt │ │ ├── for_loops_lowering │ │ │ ├── test1.kt │ │ │ ├── test1.out │ │ │ ├── test10.kt │ │ │ ├── test10.out │ │ │ ├── test11.kt │ │ │ ├── test11.out │ │ │ ├── test12.kt │ │ │ ├── test12.out │ │ │ ├── test13.kt │ │ │ ├── test13.out │ │ │ ├── test14.kt │ │ │ ├── test14.out │ │ │ ├── test15.kt │ │ │ ├── test15.out │ │ │ ├── test16.kt │ │ │ ├── test16.out │ │ │ ├── test17.kt │ │ │ ├── test17.out │ │ │ ├── test18.kt │ │ │ ├── test18.out │ │ │ ├── test19.kt │ │ │ ├── test19.out │ │ │ ├── test2.kt │ │ │ ├── test2.out │ │ │ ├── test20.kt │ │ │ ├── test20.out │ │ │ ├── test21.kt │ │ │ ├── test21.out │ │ │ ├── test22.kt │ │ │ ├── test22.out │ │ │ ├── test23.kt │ │ │ ├── test23.out │ │ │ ├── test24.kt │ │ │ ├── test24.out │ │ │ ├── test25.kt │ │ │ ├── test25.out │ │ │ ├── test26.kt │ │ │ ├── test26.out │ │ │ ├── test27.kt │ │ │ ├── test27.out │ │ │ ├── test28.kt │ │ │ ├── test28.out │ │ │ ├── test29.kt │ │ │ ├── test29.out │ │ │ ├── test3.kt │ │ │ ├── test3.out │ │ │ ├── test30.kt │ │ │ ├── test30.out │ │ │ ├── test31.kt │ │ │ ├── test31.out │ │ │ ├── test32.kt │ │ │ ├── test32.out │ │ │ ├── test33.kt │ │ │ ├── test33.out │ │ │ ├── test34.kt │ │ │ ├── test34.out │ │ │ ├── test35.kt │ │ │ ├── test35.out │ │ │ ├── test4.kt │ │ │ ├── test4.out │ │ │ ├── test5.kt │ │ │ ├── test5.out │ │ │ ├── test6.kt │ │ │ ├── test6.out │ │ │ ├── test7.kt │ │ │ ├── test7.out │ │ │ ├── test8.kt │ │ │ ├── test8.out │ │ │ ├── test9.kt │ │ │ └── test9.out │ │ ├── for_loops_nested.kt │ │ ├── for_loops_overflow.kt │ │ ├── for_loops_types.kt │ │ └── unreachable1.kt │ ├── coroutines │ │ ├── controlFlow_finally1.kt │ │ ├── controlFlow_finally2.kt │ │ ├── controlFlow_finally3.kt │ │ ├── controlFlow_finally4.kt │ │ ├── controlFlow_finally5.kt │ │ ├── controlFlow_finally6.kt │ │ ├── controlFlow_finally7.kt │ │ ├── controlFlow_if1.kt │ │ ├── controlFlow_if2.kt │ │ ├── controlFlow_inline1.kt │ │ ├── controlFlow_inline2.kt │ │ ├── controlFlow_inline3.kt │ │ ├── controlFlow_tryCatch1.kt │ │ ├── controlFlow_tryCatch2.kt │ │ ├── controlFlow_tryCatch3.kt │ │ ├── controlFlow_tryCatch4.kt │ │ ├── controlFlow_tryCatch5.kt │ │ ├── controlFlow_while1.kt │ │ ├── controlFlow_while2.kt │ │ ├── correctOrder1.kt │ │ ├── degenerate1.kt │ │ ├── degenerate2.kt │ │ ├── returnsUnit1.kt │ │ ├── simple.kt │ │ └── withReceiver.kt │ ├── cycles │ │ ├── cycle.kt │ │ ├── cycle_do.kt │ │ └── cycle_for.kt │ ├── dataflow │ │ ├── scope1.kt │ │ └── uninitialized_val.kt │ ├── delegatedProperty │ │ ├── delegatedOverride_lib.kt │ │ ├── delegatedOverride_main.kt │ │ ├── lazy.kt │ │ ├── local.kt │ │ ├── map.kt │ │ ├── observable.kt │ │ ├── packageLevel.kt │ │ ├── simpleVal.kt │ │ └── simpleVar.kt │ ├── enum │ │ ├── companionObject.kt │ │ ├── interfaceCallNoEntryClass.kt │ │ ├── interfaceCallWithEntryClass.kt │ │ ├── isFrozen.kt │ │ ├── linkTest_lib.kt │ │ ├── linkTest_main.kt │ │ ├── loop.kt │ │ ├── nested.kt │ │ ├── test0.kt │ │ ├── test1.kt │ │ ├── vCallNoEntryClass.kt │ │ ├── vCallWithEntryClass.kt │ │ ├── valueOf.kt │ │ ├── values.kt │ │ └── varargParam.kt │ ├── function │ │ ├── arithmetic.kt │ │ ├── boolean.kt │ │ ├── defaults.kt │ │ ├── defaults1.kt │ │ ├── defaults10.kt │ │ ├── defaults2.kt │ │ ├── defaults3.kt │ │ ├── defaults4.kt │ │ ├── defaults5.kt │ │ ├── defaults6.kt │ │ ├── defaults7.kt │ │ ├── defaults8.kt │ │ ├── defaults9.kt │ │ ├── defaultsFromFakeOverride.kt │ │ ├── defaultsWithVarArg1.kt │ │ ├── defaultsWithVarArg2.kt │ │ ├── eqeq.kt │ │ ├── extension.kt │ │ ├── intrinsic.kt │ │ ├── localFunction.kt │ │ ├── localFunction2.kt │ │ ├── localFunction3.kt │ │ ├── minus_eq.kt │ │ ├── named.kt │ │ ├── plus_eq.kt │ │ ├── sum.kt │ │ ├── sum_3const.kt │ │ ├── sum_foo_bar.kt │ │ ├── sum_func.kt │ │ ├── sum_imm.kt │ │ ├── sum_mixed.kt │ │ └── sum_silly.kt │ ├── initializers │ │ ├── correctOrder1.kt │ │ └── correctOrder2.kt │ ├── inline │ │ ├── defaultArgs_linkTest_lib.kt │ │ ├── defaultArgs_linkTest_main.kt │ │ ├── getClass.kt │ │ ├── inline0.kt │ │ ├── inline1.kt │ │ ├── inline10.kt │ │ ├── inline11.kt │ │ ├── inline12.kt │ │ ├── inline13.kt │ │ ├── inline14.kt │ │ ├── inline15.kt │ │ ├── inline16.kt │ │ ├── inline17.kt │ │ ├── inline18.kt │ │ ├── inline19.kt │ │ ├── inline2.kt │ │ ├── inline20.kt │ │ ├── inline21.kt │ │ ├── inline22.kt │ │ ├── inline23.kt │ │ ├── inline24.kt │ │ ├── inline25.kt │ │ ├── inline26.kt │ │ ├── inline3.kt │ │ ├── inline4.kt │ │ ├── inline5.kt │ │ ├── inline6.kt │ │ ├── inline7.kt │ │ ├── inline8.kt │ │ ├── inline9.kt │ │ ├── lambdaAsAny.kt │ │ ├── lambdaInDefaultValue.kt │ │ ├── localFunctionInInitializerBlock.kt │ │ ├── statementAsLastExprInBlock.kt │ │ └── typeSubstitutionInFakeOverride.kt │ ├── innerClass │ │ ├── doubleInner.kt │ │ ├── generic.kt │ │ ├── getOuterVal.kt │ │ ├── noPrimaryConstructor.kt │ │ ├── qualifiedThis.kt │ │ ├── secondaryConstructor.kt │ │ ├── simple.kt │ │ └── superOuter.kt │ ├── kclass │ │ ├── kclass0.kt │ │ └── kclass1.kt │ ├── lambda │ │ ├── lambda1.kt │ │ ├── lambda10.kt │ │ ├── lambda11.kt │ │ ├── lambda12.kt │ │ ├── lambda13.kt │ │ ├── lambda14.kt │ │ ├── lambda2.kt │ │ ├── lambda3.kt │ │ ├── lambda4.kt │ │ ├── lambda5.kt │ │ ├── lambda6.kt │ │ ├── lambda7.kt │ │ ├── lambda8.kt │ │ └── lambda9.kt │ ├── lateinit │ │ ├── globalIsInitialized.kt │ │ ├── inBaseClass.kt │ │ ├── initialized.kt │ │ ├── innerIsInitialized.kt │ │ ├── isInitialized.kt │ │ ├── localCapturedInitialized.kt │ │ ├── localCapturedNotInitialized.kt │ │ ├── localInitialized.kt │ │ ├── localNotInitialized.kt │ │ └── notInitialized.kt │ ├── localClass │ │ ├── innerTakesCapturedFromOuter.kt │ │ ├── innerWithCapture.kt │ │ ├── localFunctionCallFromLocalClass.kt │ │ ├── localFunctionInLocalClass.kt │ │ ├── localHierarchy.kt │ │ ├── noPrimaryConstructor.kt │ │ ├── objectExpressionInInitializer.kt │ │ ├── objectExpressionInProperty.kt │ │ ├── tryCatch.kt │ │ └── virtualCallFromConstructor.kt │ ├── mpp │ │ ├── libmpp2.kt │ │ ├── mpp1.kt │ │ ├── mpp2.kt │ │ └── mpp_default_args.kt │ ├── object │ │ ├── constructor.kt │ │ ├── constructor0.kt │ │ ├── fields.kt │ │ ├── fields1.kt │ │ ├── fields2.kt │ │ ├── init0.kt │ │ ├── initialization.kt │ │ ├── initialization1.kt │ │ └── method_call.kt │ ├── objectExpression │ │ ├── expr1.kt │ │ ├── expr2.kt │ │ └── expr3.kt │ ├── propertyCallableReference │ │ ├── dynamicReceiver.kt │ │ ├── linkTest_lib.kt │ │ ├── linkTest_main.kt │ │ ├── valClass.kt │ │ ├── valExtension.kt │ │ ├── valModule.kt │ │ ├── varClass.kt │ │ ├── varExtension.kt │ │ └── varModule.kt │ └── try │ │ ├── catch3.kt │ │ ├── catch4.kt │ │ ├── catch5.kt │ │ ├── catch6.kt │ │ ├── catch8.kt │ │ ├── finally1.kt │ │ ├── finally10.kt │ │ ├── finally11.kt │ │ ├── finally2.kt │ │ ├── finally3.kt │ │ ├── finally4.kt │ │ ├── finally5.kt │ │ ├── finally6.kt │ │ ├── finally7.kt │ │ ├── finally8.kt │ │ ├── finally9.kt │ │ ├── try1.kt │ │ ├── try2.kt │ │ ├── try3.kt │ │ └── try4.kt │ ├── datagen │ ├── literals │ │ ├── empty_string.kt │ │ ├── listof1.kt │ │ ├── strdedup1.kt │ │ └── strdedup2.kt │ └── rtti │ │ ├── abstract_super.kt │ │ └── vtable1.kt │ ├── external │ ├── codegen │ │ ├── box │ │ │ ├── annotations │ │ │ │ ├── annotatedEnumEntry.kt │ │ │ │ ├── annotatedLambda │ │ │ │ │ ├── funExpression.kt │ │ │ │ │ ├── lambda.kt │ │ │ │ │ ├── samFunExpression.kt │ │ │ │ │ └── samLambda.kt │ │ │ │ ├── annotatedObjectLiteral.kt │ │ │ │ ├── annotationWithKotlinProperty.kt │ │ │ │ ├── annotationWithKotlinPropertyFromInterfaceCompanion.kt │ │ │ │ ├── annotationsOnDefault.kt │ │ │ │ ├── annotationsOnTypeAliases.kt │ │ │ │ ├── defaultParameterValues.kt │ │ │ │ ├── delegatedPropertySetter.kt │ │ │ │ ├── fileClassWithFileAnnotation.kt │ │ │ │ ├── jvmAnnotationFlags.kt │ │ │ │ ├── kotlinPropertyFromClassObjectAsParameter.kt │ │ │ │ ├── kotlinTopLevelPropertyAsParameter.kt │ │ │ │ ├── kt10136.kt │ │ │ │ ├── nestedClassPropertyAsParameter.kt │ │ │ │ ├── parameterWithPrimitiveType.kt │ │ │ │ ├── propertyWithPropertyInInitializerAsParameter.kt │ │ │ │ ├── resolveWithLowPriorityAnnotation.kt │ │ │ │ ├── varargInAnnotationParameter.kt │ │ │ │ └── wrongAnnotationArgumentInCtor.kt │ │ │ ├── argumentOrder │ │ │ │ ├── argumentOrderInObjectSuperCall.kt │ │ │ │ ├── argumentOrderInSuperCall.kt │ │ │ │ ├── arguments.kt │ │ │ │ ├── captured.kt │ │ │ │ ├── capturedInExtension.kt │ │ │ │ ├── defaults.kt │ │ │ │ ├── extension.kt │ │ │ │ ├── extensionInClass.kt │ │ │ │ ├── kt9277.kt │ │ │ │ ├── lambdaMigration.kt │ │ │ │ ├── lambdaMigrationInClass.kt │ │ │ │ ├── simple.kt │ │ │ │ ├── simpleInClass.kt │ │ │ │ └── varargAndDefaultParameters_ForNative.kt │ │ │ ├── arrays │ │ │ │ ├── arrayConstructorsSimple.kt │ │ │ │ ├── arrayGetAssignMultiIndex.kt │ │ │ │ ├── arrayGetMultiIndex.kt │ │ │ │ ├── arrayInstanceOf.kt │ │ │ │ ├── arrayPlusAssign.kt │ │ │ │ ├── arraysAreCloneable.kt │ │ │ │ ├── cloneArray.kt │ │ │ │ ├── clonePrimitiveArrays.kt │ │ │ │ ├── collectionAssignGetMultiIndex.kt │ │ │ │ ├── collectionGetMultiIndex.kt │ │ │ │ ├── forEachBooleanArray.kt │ │ │ │ ├── forEachByteArray.kt │ │ │ │ ├── forEachCharArray.kt │ │ │ │ ├── forEachDoubleArray.kt │ │ │ │ ├── forEachFloatArray.kt │ │ │ │ ├── forEachIntArray.kt │ │ │ │ ├── forEachLongArray.kt │ │ │ │ ├── forEachShortArray.kt │ │ │ │ ├── genericArrayInObjectLiteralConstructor.kt │ │ │ │ ├── hashMap.kt │ │ │ │ ├── inProjectionAsParameter.kt │ │ │ │ ├── inProjectionOfArray.kt │ │ │ │ ├── inProjectionOfList.kt │ │ │ │ ├── indices.kt │ │ │ │ ├── indicesChar.kt │ │ │ │ ├── iterator.kt │ │ │ │ ├── iteratorBooleanArray.kt │ │ │ │ ├── iteratorByteArray.kt │ │ │ │ ├── iteratorByteArrayNextByte.kt │ │ │ │ ├── iteratorCharArray.kt │ │ │ │ ├── iteratorDoubleArray.kt │ │ │ │ ├── iteratorFloatArray.kt │ │ │ │ ├── iteratorIntArray.kt │ │ │ │ ├── iteratorLongArray.kt │ │ │ │ ├── iteratorLongArrayNextLong.kt │ │ │ │ ├── iteratorShortArray.kt │ │ │ │ ├── kt1291.kt │ │ │ │ ├── kt17134.kt │ │ │ │ ├── kt238.kt │ │ │ │ ├── kt2997.kt │ │ │ │ ├── kt33.kt │ │ │ │ ├── kt3771.kt │ │ │ │ ├── kt4118.kt │ │ │ │ ├── kt4348.kt │ │ │ │ ├── kt4357.kt │ │ │ │ ├── kt503.kt │ │ │ │ ├── kt594.kt │ │ │ │ ├── kt602.kt │ │ │ │ ├── kt7009.kt │ │ │ │ ├── kt7288.kt │ │ │ │ ├── kt7338.kt │ │ │ │ ├── kt779.kt │ │ │ │ ├── kt945.kt │ │ │ │ ├── kt950.kt │ │ │ │ ├── longAsIndex.kt │ │ │ │ ├── multiArrayConstructors.kt │ │ │ │ ├── multiDecl │ │ │ │ │ ├── MultiDeclFor.kt │ │ │ │ │ ├── MultiDeclForComponentExtensions.kt │ │ │ │ │ ├── MultiDeclForComponentMemberExtensions.kt │ │ │ │ │ ├── MultiDeclForComponentMemberExtensionsInExtensionFunction.kt │ │ │ │ │ ├── MultiDeclForValCaptured.kt │ │ │ │ │ ├── int │ │ │ │ │ │ ├── MultiDeclForComponentExtensions.kt │ │ │ │ │ │ ├── MultiDeclForComponentExtensionsValCaptured.kt │ │ │ │ │ │ ├── MultiDeclForComponentMemberExtensions.kt │ │ │ │ │ │ └── MultiDeclForComponentMemberExtensionsInExtensionFunction.kt │ │ │ │ │ ├── kt15560.kt │ │ │ │ │ ├── kt15568.kt │ │ │ │ │ ├── kt15575.kt │ │ │ │ │ └── long │ │ │ │ │ │ ├── MultiDeclForComponentExtensions.kt │ │ │ │ │ │ ├── MultiDeclForComponentExtensionsValCaptured.kt │ │ │ │ │ │ ├── MultiDeclForComponentMemberExtensions.kt │ │ │ │ │ │ └── MultiDeclForComponentMemberExtensionsInExtensionFunction.kt │ │ │ │ ├── nonLocalReturnArrayConstructor.kt │ │ │ │ ├── nonNullArray.kt │ │ │ │ ├── primitiveArrays.kt │ │ │ │ ├── stdlib.kt │ │ │ │ └── varargsWithJava.kt │ │ │ ├── binaryOp │ │ │ │ ├── bitwiseOp.kt │ │ │ │ ├── bitwiseOpAny.kt │ │ │ │ ├── bitwiseOpNullable.kt │ │ │ │ ├── call.kt │ │ │ │ ├── callAny.kt │ │ │ │ ├── callNullable.kt │ │ │ │ ├── compareBoxedChars.kt │ │ │ │ ├── compareWithBoxedDouble.kt │ │ │ │ ├── compareWithBoxedLong.kt │ │ │ │ ├── divisionByZero.kt │ │ │ │ ├── intrinsic.kt │ │ │ │ ├── intrinsicAny.kt │ │ │ │ ├── intrinsicNullable.kt │ │ │ │ ├── kt11163.kt │ │ │ │ ├── kt6747_identityEquals.kt │ │ │ │ ├── overflowChar.kt │ │ │ │ ├── overflowInt.kt │ │ │ │ └── overflowLong.kt │ │ │ ├── boxingOptimization │ │ │ │ ├── boxedIntegersCmp.kt │ │ │ │ ├── boxedPrimitivesAreEqual.kt │ │ │ │ ├── boxedRealsCmp.kt │ │ │ │ ├── casts.kt │ │ │ │ ├── checkcastAndInstanceOf.kt │ │ │ │ ├── explicitEqualsOnDouble.kt │ │ │ │ ├── fold.kt │ │ │ │ ├── foldRange.kt │ │ │ │ ├── intCompareTo.kt │ │ │ │ ├── kClassEquals.kt │ │ │ │ ├── kt15871.kt │ │ │ │ ├── kt17748.kt │ │ │ │ ├── kt19767.kt │ │ │ │ ├── kt19767_2.kt │ │ │ │ ├── kt19767_3.kt │ │ │ │ ├── kt19767_chain.kt │ │ │ │ ├── kt5493.kt │ │ │ │ ├── kt5588.kt │ │ │ │ ├── kt5844.kt │ │ │ │ ├── kt6047.kt │ │ │ │ ├── kt6842.kt │ │ │ │ ├── maxMinBy.kt │ │ │ │ ├── nullCheck.kt │ │ │ │ ├── progressions.kt │ │ │ │ ├── safeCallWithElvis.kt │ │ │ │ ├── simple.kt │ │ │ │ ├── simpleUninitializedMerge.kt │ │ │ │ ├── taintedValues.kt │ │ │ │ ├── taintedValuesBox.kt │ │ │ │ ├── unsafeRemoving.kt │ │ │ │ └── variables.kt │ │ │ ├── bridges │ │ │ │ ├── complexMultiInheritance.kt │ │ │ │ ├── complexTraitImpl.kt │ │ │ │ ├── delegation.kt │ │ │ │ ├── delegationComplex.kt │ │ │ │ ├── delegationComplexWithList.kt │ │ │ │ ├── delegationProperty.kt │ │ │ │ ├── diamond.kt │ │ │ │ ├── fakeCovariantOverride.kt │ │ │ │ ├── fakeGenericCovariantOverride.kt │ │ │ │ ├── fakeGenericCovariantOverrideWithDelegation.kt │ │ │ │ ├── fakeOverrideOfTraitImpl.kt │ │ │ │ ├── fakeOverrideWithSeveralSuperDeclarations.kt │ │ │ │ ├── fakeOverrideWithSynthesizedImplementation.kt │ │ │ │ ├── genericProperty.kt │ │ │ │ ├── jsName.kt │ │ │ │ ├── jsNative.kt │ │ │ │ ├── kt12416.kt │ │ │ │ ├── kt1939.kt │ │ │ │ ├── kt1959.kt │ │ │ │ ├── kt2498.kt │ │ │ │ ├── kt2702.kt │ │ │ │ ├── kt2833.kt │ │ │ │ ├── kt2920.kt │ │ │ │ ├── kt318.kt │ │ │ │ ├── longChainOneBridge.kt │ │ │ │ ├── manyTypeArgumentsSubstitutedSuccessively.kt │ │ │ │ ├── methodFromTrait.kt │ │ │ │ ├── noBridgeOnMutableCollectionInheritance.kt │ │ │ │ ├── objectClone.kt │ │ │ │ ├── overrideAbstractProperty.kt │ │ │ │ ├── overrideReturnType.kt │ │ │ │ ├── propertyAccessorsWithoutBody.kt │ │ │ │ ├── propertyDiamond.kt │ │ │ │ ├── propertyInConstructor.kt │ │ │ │ ├── propertySetter.kt │ │ │ │ ├── simple.kt │ │ │ │ ├── simpleEnum.kt │ │ │ │ ├── simpleGenericMethod.kt │ │ │ │ ├── simpleObject.kt │ │ │ │ ├── simpleReturnType.kt │ │ │ │ ├── simpleTraitImpl.kt │ │ │ │ ├── simpleUpperBound.kt │ │ │ │ ├── strListContains.kt │ │ │ │ ├── substitutionInSuperClass │ │ │ │ │ ├── abstractFun.kt │ │ │ │ │ ├── boundedTypeArguments.kt │ │ │ │ │ ├── delegation.kt │ │ │ │ │ ├── differentErasureInSuperClass.kt │ │ │ │ │ ├── differentErasureInSuperClassComplex.kt │ │ │ │ │ ├── enum.kt │ │ │ │ │ ├── genericMethod.kt │ │ │ │ │ ├── object.kt │ │ │ │ │ ├── property.kt │ │ │ │ │ ├── simple.kt │ │ │ │ │ └── upperBound.kt │ │ │ │ ├── traitImplInheritsTraitImpl.kt │ │ │ │ ├── twoParentsWithDifferentMethodsTwoBridges.kt │ │ │ │ ├── twoParentsWithDifferentMethodsTwoBridges2.kt │ │ │ │ └── twoParentsWithTheSameMethodOneBridge.kt │ │ │ ├── builtinStubMethods │ │ │ │ ├── Collection.kt │ │ │ │ ├── Iterator.kt │ │ │ │ ├── IteratorWithRemove.kt │ │ │ │ ├── List.kt │ │ │ │ ├── ListIterator.kt │ │ │ │ ├── ListWithAllImplementations.kt │ │ │ │ ├── ListWithAllInheritedImplementations.kt │ │ │ │ ├── Map.kt │ │ │ │ ├── MapEntry.kt │ │ │ │ ├── MapEntryWithSetValue.kt │ │ │ │ ├── MapWithAllImplementations.kt │ │ │ │ ├── SubstitutedList.kt │ │ │ │ ├── abstractMember.kt │ │ │ │ ├── customReadOnlyIterator.kt │ │ │ │ ├── delegationToArrayList.kt │ │ │ │ ├── extendJavaCollections │ │ │ │ │ ├── abstractList.kt │ │ │ │ │ ├── abstractMap.kt │ │ │ │ │ ├── abstractSet.kt │ │ │ │ │ ├── arrayList.kt │ │ │ │ │ ├── hashMap.kt │ │ │ │ │ ├── hashSet.kt │ │ │ │ │ └── mapEntry.kt │ │ │ │ ├── implementationInTrait.kt │ │ │ │ ├── inheritedImplementations.kt │ │ │ │ ├── manyTypeParametersWithUpperBounds.kt │ │ │ │ ├── nonTrivialSubstitution.kt │ │ │ │ ├── nonTrivialUpperBound.kt │ │ │ │ ├── substitutedIterable.kt │ │ │ │ └── substitutedListWithExtraSuperInterface.kt │ │ │ ├── callableReference │ │ │ │ ├── bound │ │ │ │ │ ├── array.kt │ │ │ │ │ ├── companionObjectReceiver.kt │ │ │ │ │ ├── emptyLHS.kt │ │ │ │ │ ├── enumEntryMember.kt │ │ │ │ │ ├── equals │ │ │ │ │ │ ├── nullableReceiverInEquals.kt │ │ │ │ │ │ ├── propertyAccessors.kt │ │ │ │ │ │ ├── receiverInEquals.kt │ │ │ │ │ │ └── reflectionReference.kt │ │ │ │ │ ├── genericValOnLHS.kt │ │ │ │ │ ├── inline │ │ │ │ │ │ ├── simple.kt │ │ │ │ │ │ └── simpleVal.kt │ │ │ │ │ ├── kCallableNameIntrinsic.kt │ │ │ │ │ ├── kt12738.kt │ │ │ │ │ ├── kt15446.kt │ │ │ │ │ ├── localUnitFunction.kt │ │ │ │ │ ├── multiCase.kt │ │ │ │ │ ├── nullReceiver.kt │ │ │ │ │ ├── objectReceiver.kt │ │ │ │ │ ├── primitiveReceiver.kt │ │ │ │ │ ├── simpleFunction.kt │ │ │ │ │ ├── simpleProperty.kt │ │ │ │ │ ├── smartCastForExtensionReceiver.kt │ │ │ │ │ └── syntheticExtensionOnLHS.kt │ │ │ │ ├── function │ │ │ │ │ ├── abstractClassMember.kt │ │ │ │ │ ├── booleanNotIntrinsic.kt │ │ │ │ │ ├── classMemberFromClass.kt │ │ │ │ │ ├── classMemberFromExtension.kt │ │ │ │ │ ├── classMemberFromTopLevelStringNoArgs.kt │ │ │ │ │ ├── classMemberFromTopLevelStringOneStringArg.kt │ │ │ │ │ ├── classMemberFromTopLevelUnitNoArgs.kt │ │ │ │ │ ├── classMemberFromTopLevelUnitOneStringArg.kt │ │ │ │ │ ├── constructorFromTopLevelNoArgs.kt │ │ │ │ │ ├── constructorFromTopLevelOneStringArg.kt │ │ │ │ │ ├── enumValueOfMethod.kt │ │ │ │ │ ├── equalsIntrinsic.kt │ │ │ │ │ ├── extensionFromClass.kt │ │ │ │ │ ├── extensionFromExtension.kt │ │ │ │ │ ├── extensionFromTopLevelStringNoArgs.kt │ │ │ │ │ ├── extensionFromTopLevelStringOneStringArg.kt │ │ │ │ │ ├── extensionFromTopLevelUnitNoArgs.kt │ │ │ │ │ ├── extensionFromTopLevelUnitOneStringArg.kt │ │ │ │ │ ├── genericCallableReferenceArguments.kt │ │ │ │ │ ├── genericCallableReferencesWithNullableTypes.kt │ │ │ │ │ ├── genericCallableReferencesWithOverload.kt │ │ │ │ │ ├── genericMember.kt │ │ │ │ │ ├── genericWithDependentType.kt │ │ │ │ │ ├── getArityViaFunctionImpl.kt │ │ │ │ │ ├── innerClassConstructorWithTwoReceivers.kt │ │ │ │ │ ├── innerConstructorFromClass.kt │ │ │ │ │ ├── innerConstructorFromExtension.kt │ │ │ │ │ ├── innerConstructorFromTopLevelNoArgs.kt │ │ │ │ │ ├── innerConstructorFromTopLevelOneStringArg.kt │ │ │ │ │ ├── javaCollectionsStaticMethod.kt │ │ │ │ │ ├── local │ │ │ │ │ │ ├── captureOuter.kt │ │ │ │ │ │ ├── classMember.kt │ │ │ │ │ │ ├── closureWithSideEffect.kt │ │ │ │ │ │ ├── constructor.kt │ │ │ │ │ │ ├── constructorWithInitializer.kt │ │ │ │ │ │ ├── enumExtendsTrait.kt │ │ │ │ │ │ ├── equalsHashCode.kt │ │ │ │ │ │ ├── extension.kt │ │ │ │ │ │ ├── extensionToLocalClass.kt │ │ │ │ │ │ ├── extensionToPrimitive.kt │ │ │ │ │ │ ├── extensionWithClosure.kt │ │ │ │ │ │ ├── genericMember.kt │ │ │ │ │ │ ├── localClassMember.kt │ │ │ │ │ │ ├── localFunctionName.kt │ │ │ │ │ │ ├── localLocal.kt │ │ │ │ │ │ ├── recursiveClosure.kt │ │ │ │ │ │ ├── simple.kt │ │ │ │ │ │ ├── simpleClosure.kt │ │ │ │ │ │ ├── simpleWithArg.kt │ │ │ │ │ │ └── unitWithSideEffect.kt │ │ │ │ │ ├── nestedConstructorFromClass.kt │ │ │ │ │ ├── nestedConstructorFromTopLevelNoArgs.kt │ │ │ │ │ ├── nestedConstructorFromTopLevelOneStringArg.kt │ │ │ │ │ ├── newArray.kt │ │ │ │ │ ├── overloadedFun.kt │ │ │ │ │ ├── overloadedFunVsVal.kt │ │ │ │ │ ├── privateClassMember.kt │ │ │ │ │ ├── sortListOfStrings.kt │ │ │ │ │ ├── specialCalls.kt │ │ │ │ │ ├── topLevelFromClass.kt │ │ │ │ │ ├── topLevelFromExtension.kt │ │ │ │ │ ├── topLevelFromTopLevelStringNoArgs.kt │ │ │ │ │ ├── topLevelFromTopLevelStringOneStringArg.kt │ │ │ │ │ ├── topLevelFromTopLevelUnitNoArgs.kt │ │ │ │ │ ├── topLevelFromTopLevelUnitOneStringArg.kt │ │ │ │ │ ├── traitImplMethodWithClassReceiver.kt │ │ │ │ │ └── traitMember.kt │ │ │ │ ├── property │ │ │ │ │ ├── accessViaSubclass.kt │ │ │ │ │ ├── delegated.kt │ │ │ │ │ ├── delegatedMutable.kt │ │ │ │ │ ├── enumNameOrdinal.kt │ │ │ │ │ ├── extensionToArray.kt │ │ │ │ │ ├── genericProperty.kt │ │ │ │ │ ├── invokePropertyReference.kt │ │ │ │ │ ├── javaBeanConvention.kt │ │ │ │ │ ├── kClassInstanceIsInitializedFirst.kt │ │ │ │ │ ├── kt12044.kt │ │ │ │ │ ├── kt12982_protectedPropertyReference.kt │ │ │ │ │ ├── kt14330.kt │ │ │ │ │ ├── kt14330_2.kt │ │ │ │ │ ├── kt15447.kt │ │ │ │ │ ├── kt6870_privatePropertyReference.kt │ │ │ │ │ ├── listOfStringsMapLength.kt │ │ │ │ │ ├── localClassVar.kt │ │ │ │ │ ├── overriddenInSubclass.kt │ │ │ │ │ ├── privateSetOuterClass.kt │ │ │ │ │ ├── privateSetterInsideClass.kt │ │ │ │ │ ├── privateSetterOutsideClass.kt │ │ │ │ │ ├── simpleExtension.kt │ │ │ │ │ ├── simpleMember.kt │ │ │ │ │ ├── simpleMutableExtension.kt │ │ │ │ │ ├── simpleMutableMember.kt │ │ │ │ │ ├── simpleMutableTopLevel.kt │ │ │ │ │ └── simpleTopLevel.kt │ │ │ │ └── serializability │ │ │ │ │ ├── boundWithNotSerializableReceiver.kt │ │ │ │ │ ├── boundWithSerializableReceiver.kt │ │ │ │ │ ├── noReflect.kt │ │ │ │ │ ├── reflectedIsNotSerialized.kt │ │ │ │ │ └── withReflect.kt │ │ │ ├── casts │ │ │ │ ├── as.kt │ │ │ │ ├── asForConstants.kt │ │ │ │ ├── asSafe.kt │ │ │ │ ├── asSafeFail.kt │ │ │ │ ├── asSafeForConstants.kt │ │ │ │ ├── asUnit.kt │ │ │ │ ├── asWithGeneric.kt │ │ │ │ ├── castGenericNull.kt │ │ │ │ ├── functions │ │ │ │ │ ├── asFunKBig.kt │ │ │ │ │ ├── asFunKSmall.kt │ │ │ │ │ ├── isFunKBig.kt │ │ │ │ │ ├── isFunKSmall.kt │ │ │ │ │ ├── javaTypeIsFunK.kt │ │ │ │ │ ├── reifiedAsFunKBig.kt │ │ │ │ │ ├── reifiedAsFunKSmall.kt │ │ │ │ │ ├── reifiedIsFunKBig.kt │ │ │ │ │ ├── reifiedIsFunKSmall.kt │ │ │ │ │ ├── reifiedSafeAsFunKBig.kt │ │ │ │ │ ├── reifiedSafeAsFunKSmall.kt │ │ │ │ │ ├── safeAsFunKBig.kt │ │ │ │ │ └── safeAsFunKSmall.kt │ │ │ │ ├── intersectionTypeMultipleBounds.kt │ │ │ │ ├── intersectionTypeMultipleBoundsImplicitReceiver.kt │ │ │ │ ├── intersectionTypeSmartcast.kt │ │ │ │ ├── intersectionTypeWithMultipleBoundsAsReceiver.kt │ │ │ │ ├── intersectionTypeWithoutGenericsAsReceiver.kt │ │ │ │ ├── is.kt │ │ │ │ ├── isNullablePrimitive.kt │ │ │ │ ├── lambdaToUnitCast.kt │ │ │ │ ├── literalExpressionAsGenericArgument │ │ │ │ │ ├── binaryExpressionCast.kt │ │ │ │ │ ├── javaBox.kt │ │ │ │ │ ├── labeledExpressionCast.kt │ │ │ │ │ ├── parenthesizedExpressionCast.kt │ │ │ │ │ ├── superConstructor.kt │ │ │ │ │ ├── unaryExpressionCast.kt │ │ │ │ │ └── vararg.kt │ │ │ │ ├── mutableCollections │ │ │ │ │ ├── asWithMutable.kt │ │ │ │ │ ├── isWithMutable.kt │ │ │ │ │ ├── mutabilityMarkerInterfaces.kt │ │ │ │ │ ├── reifiedAsWithMutable.kt │ │ │ │ │ ├── reifiedIsWithMutable.kt │ │ │ │ │ ├── reifiedSafeAsWithMutable.kt │ │ │ │ │ ├── safeAsWithMutable.kt │ │ │ │ │ └── weirdMutableCasts.kt │ │ │ │ ├── notIs.kt │ │ │ │ ├── unitAsAny.kt │ │ │ │ ├── unitAsInt.kt │ │ │ │ ├── unitAsSafeAny.kt │ │ │ │ └── unitNullableCast.kt │ │ │ ├── checkcastOptimization │ │ │ │ ├── kt19128.kt │ │ │ │ └── kt19246.kt │ │ │ ├── classLiteral │ │ │ │ ├── bound │ │ │ │ │ ├── javaIntrinsicWithSideEffect.kt │ │ │ │ │ ├── primitives.kt │ │ │ │ │ ├── sideEffect.kt │ │ │ │ │ ├── simple.kt │ │ │ │ │ └── smartCast.kt │ │ │ │ ├── java │ │ │ │ │ ├── java.kt │ │ │ │ │ ├── javaObjectType.kt │ │ │ │ │ ├── javaObjectTypeReified.kt │ │ │ │ │ ├── javaPrimitiveType.kt │ │ │ │ │ ├── javaPrimitiveTypeReified.kt │ │ │ │ │ ├── javaReified.kt │ │ │ │ │ ├── kt11943.kt │ │ │ │ │ └── objectSuperConstructorCall.kt │ │ │ │ └── primitiveKClassEquality.kt │ │ │ ├── classes │ │ │ │ ├── boxPrimitiveTypeInClinitOfClassObject.kt │ │ │ │ ├── classCompanionInitializationWithJava.kt │ │ │ │ ├── classNamedAsOldPackageFacade.kt │ │ │ │ ├── classObject.kt │ │ │ │ ├── classObjectAsExtensionReceiver.kt │ │ │ │ ├── classObjectAsStaticInitializer.kt │ │ │ │ ├── classObjectField.kt │ │ │ │ ├── classObjectInTrait.kt │ │ │ │ ├── classObjectNotOfEnum.kt │ │ │ │ ├── classObjectToString.kt │ │ │ │ ├── classObjectWithPrivateGenericMember.kt │ │ │ │ ├── classObjectsWithParentClasses.kt │ │ │ │ ├── comanionObjectFieldVsClassField.kt │ │ │ │ ├── defaultObjectSameNamesAsInOuter.kt │ │ │ │ ├── delegation2.kt │ │ │ │ ├── delegation3.kt │ │ │ │ ├── delegation4.kt │ │ │ │ ├── delegationGenericArg.kt │ │ │ │ ├── delegationGenericArgUpperBound.kt │ │ │ │ ├── delegationGenericLongArg.kt │ │ │ │ ├── delegationJava.kt │ │ │ │ ├── delegationMethodsWithArgs.kt │ │ │ │ ├── exceptionConstructor.kt │ │ │ │ ├── extensionOnNamedClassObject.kt │ │ │ │ ├── funDelegation.kt │ │ │ │ ├── implementComparableInSubclass.kt │ │ │ │ ├── inheritSetAndHashSet.kt │ │ │ │ ├── inheritance.kt │ │ │ │ ├── inheritedInnerClass.kt │ │ │ │ ├── inheritedMethod.kt │ │ │ │ ├── initializerBlock.kt │ │ │ │ ├── initializerBlockDImpl.kt │ │ │ │ ├── inner │ │ │ │ │ ├── instantiateInDerived.kt │ │ │ │ │ ├── instantiateInDerivedLabeled.kt │ │ │ │ │ ├── instantiateInSameClass.kt │ │ │ │ │ ├── kt6708.kt │ │ │ │ │ ├── properOuter.kt │ │ │ │ │ └── properSuperLinking.kt │ │ │ │ ├── innerClass.kt │ │ │ │ ├── interfaceCompanionInitializationWithJava.kt │ │ │ │ ├── kt1018.kt │ │ │ │ ├── kt1120.kt │ │ │ │ ├── kt1134.kt │ │ │ │ ├── kt1157.kt │ │ │ │ ├── kt1247.kt │ │ │ │ ├── kt1345.kt │ │ │ │ ├── kt1439.kt │ │ │ │ ├── kt1535.kt │ │ │ │ ├── kt1538.kt │ │ │ │ ├── kt1578.kt │ │ │ │ ├── kt1611.kt │ │ │ │ ├── kt1721.kt │ │ │ │ ├── kt1726.kt │ │ │ │ ├── kt1759.kt │ │ │ │ ├── kt1891.kt │ │ │ │ ├── kt1918.kt │ │ │ │ ├── kt1976.kt │ │ │ │ ├── kt1980.kt │ │ │ │ ├── kt2224.kt │ │ │ │ ├── kt2288.kt │ │ │ │ ├── kt2384.kt │ │ │ │ ├── kt2390.kt │ │ │ │ ├── kt2391.kt │ │ │ │ ├── kt2395.kt │ │ │ │ ├── kt2417.kt │ │ │ │ ├── kt2477.kt │ │ │ │ ├── kt2480.kt │ │ │ │ ├── kt2482.kt │ │ │ │ ├── kt2485.kt │ │ │ │ ├── kt249.kt │ │ │ │ ├── kt2532.kt │ │ │ │ ├── kt2566.kt │ │ │ │ ├── kt2566_2.kt │ │ │ │ ├── kt2607.kt │ │ │ │ ├── kt2626.kt │ │ │ │ ├── kt2711.kt │ │ │ │ ├── kt2784.kt │ │ │ │ ├── kt285.kt │ │ │ │ ├── kt3001.kt │ │ │ │ ├── kt3114.kt │ │ │ │ ├── kt3414.kt │ │ │ │ ├── kt343.kt │ │ │ │ ├── kt3546.kt │ │ │ │ ├── kt454.kt │ │ │ │ ├── kt471.kt │ │ │ │ ├── kt48.kt │ │ │ │ ├── kt496.kt │ │ │ │ ├── kt500.kt │ │ │ │ ├── kt501.kt │ │ │ │ ├── kt504.kt │ │ │ │ ├── kt508.kt │ │ │ │ ├── kt5347.kt │ │ │ │ ├── kt6136.kt │ │ │ │ ├── kt633.kt │ │ │ │ ├── kt6816.kt │ │ │ │ ├── kt707.kt │ │ │ │ ├── kt723.kt │ │ │ │ ├── kt725.kt │ │ │ │ ├── kt8011.kt │ │ │ │ ├── kt8011a.kt │ │ │ │ ├── kt903.kt │ │ │ │ ├── kt940.kt │ │ │ │ ├── kt9642.kt │ │ │ │ ├── namedClassObject.kt │ │ │ │ ├── outerThis.kt │ │ │ │ ├── overloadBinaryOperator.kt │ │ │ │ ├── overloadPlusAssign.kt │ │ │ │ ├── overloadPlusAssignReturn.kt │ │ │ │ ├── overloadPlusToPlusAssign.kt │ │ │ │ ├── overloadUnaryOperator.kt │ │ │ │ ├── privateOuterFunctions.kt │ │ │ │ ├── privateOuterProperty.kt │ │ │ │ ├── privateToThis.kt │ │ │ │ ├── propertyDelegation.kt │ │ │ │ ├── propertyInInitializer.kt │ │ │ │ ├── quotedClassName.kt │ │ │ │ ├── rightHandOverride.kt │ │ │ │ ├── sealedInSameFile.kt │ │ │ │ ├── selfcreate.kt │ │ │ │ ├── simpleBox.kt │ │ │ │ ├── superConstructorCallWithComplexArg.kt │ │ │ │ └── typedDelegation.kt │ │ │ ├── closures │ │ │ │ ├── captureExtensionReceiver.kt │ │ │ │ ├── captureOuterProperty │ │ │ │ │ ├── captureFunctionInProperty.kt │ │ │ │ │ ├── inFunction.kt │ │ │ │ │ ├── inProperty.kt │ │ │ │ │ ├── inPropertyDeepObjectChain.kt │ │ │ │ │ ├── inPropertyFromSuperClass.kt │ │ │ │ │ ├── inPropertyFromSuperSuperClass.kt │ │ │ │ │ ├── kt4176.kt │ │ │ │ │ └── kt4656.kt │ │ │ │ ├── capturedLocalGenericFun.kt │ │ │ │ ├── capturedVarsOptimization │ │ │ │ │ ├── capturedInCrossinline.kt │ │ │ │ │ ├── capturedInInlineOnlyAssign.kt │ │ │ │ │ ├── capturedInInlineOnlyCAO.kt │ │ │ │ │ ├── capturedInInlineOnlyIncrDecr.kt │ │ │ │ │ ├── capturedInInlineOnlyIndexedCAO.kt │ │ │ │ │ ├── capturedVarsOfSize2.kt │ │ │ │ │ ├── kt17200.kt │ │ │ │ │ ├── kt17588.kt │ │ │ │ │ ├── sharedSlotsWithCapturedVars.kt │ │ │ │ │ └── withCoroutines.kt │ │ │ │ ├── closureInsideClosure │ │ │ │ │ ├── localFunInsideLocalFun.kt │ │ │ │ │ ├── localFunInsideLocalFunDifferentSignatures.kt │ │ │ │ │ ├── propertyAndFunctionNameClash.kt │ │ │ │ │ ├── threeLevels.kt │ │ │ │ │ ├── threeLevelsDifferentSignatures.kt │ │ │ │ │ └── varAsFunInsideLocalFun.kt │ │ │ │ ├── closureInsideConstrucor.kt │ │ │ │ ├── closureOnTopLevel1.kt │ │ │ │ ├── closureOnTopLevel2.kt │ │ │ │ ├── closureWithParameter.kt │ │ │ │ ├── closureWithParameterAndBoxing.kt │ │ │ │ ├── doubleEnclosedLocalVariable.kt │ │ │ │ ├── enclosingLocalVariable.kt │ │ │ │ ├── enclosingThis.kt │ │ │ │ ├── extensionClosure.kt │ │ │ │ ├── kt10044.kt │ │ │ │ ├── kt11634.kt │ │ │ │ ├── kt11634_2.kt │ │ │ │ ├── kt11634_3.kt │ │ │ │ ├── kt11634_4.kt │ │ │ │ ├── kt2151.kt │ │ │ │ ├── kt3152.kt │ │ │ │ ├── kt3523.kt │ │ │ │ ├── kt3738.kt │ │ │ │ ├── kt3905.kt │ │ │ │ ├── kt4106.kt │ │ │ │ ├── kt4137.kt │ │ │ │ ├── kt5589.kt │ │ │ │ ├── localClassFunClosure.kt │ │ │ │ ├── localClassLambdaClosure.kt │ │ │ │ ├── localFunctionInFunction.kt │ │ │ │ ├── localFunctionInInitializer.kt │ │ │ │ ├── localGenericFun.kt │ │ │ │ ├── localReturn.kt │ │ │ │ ├── localReturnWithAutolabel.kt │ │ │ │ ├── noRefToOuter.kt │ │ │ │ ├── recursiveClosure.kt │ │ │ │ ├── refsAreSerializable.kt │ │ │ │ ├── simplestClosure.kt │ │ │ │ ├── simplestClosureAndBoxing.kt │ │ │ │ ├── subclosuresWithinInitializers.kt │ │ │ │ └── underscoreParameters.kt │ │ │ ├── collectionLiterals │ │ │ │ ├── collectionLiteralsInArgumentPosition.kt │ │ │ │ ├── collectionLiteralsWithConstants.kt │ │ │ │ ├── collectionLiteralsWithVarargs.kt │ │ │ │ └── defaultAnnotationParameterValues.kt │ │ │ ├── collections │ │ │ │ ├── charSequence.kt │ │ │ │ ├── implementCollectionThroughKotlin.kt │ │ │ │ ├── inSetWithSmartCast.kt │ │ │ │ ├── irrelevantImplCharSequence.kt │ │ │ │ ├── irrelevantImplCharSequenceKotlin.kt │ │ │ │ ├── irrelevantImplMutableList.kt │ │ │ │ ├── irrelevantImplMutableListKotlin.kt │ │ │ │ ├── irrelevantImplMutableListSubstitution.kt │ │ │ │ ├── irrelevantRemoveAtOverrideInJava.kt │ │ │ │ ├── irrelevantSizeOverrideInJava.kt │ │ │ │ ├── mutableList.kt │ │ │ │ ├── noStubsInJavaSuperClass.kt │ │ │ │ ├── platformValueContains.kt │ │ │ │ ├── readOnlyList.kt │ │ │ │ ├── readOnlyMap.kt │ │ │ │ ├── removeAtInt.kt │ │ │ │ ├── strList.kt │ │ │ │ └── toArrayInJavaClass.kt │ │ │ ├── compatibility │ │ │ │ └── dataClassEqualsHashCodeToString.kt │ │ │ ├── constants │ │ │ │ ├── constantsInWhen.kt │ │ │ │ ├── float.kt │ │ │ │ ├── kt9532.kt │ │ │ │ ├── kt9532_lv10.kt │ │ │ │ ├── long.kt │ │ │ │ └── privateConst.kt │ │ │ ├── constructorCall │ │ │ │ ├── breakInConstructorArguments.kt │ │ │ │ ├── continueInConstructorArguments.kt │ │ │ │ ├── earlyReturnInConstructorArguments.kt │ │ │ │ ├── inlineFunInConstructorCallEvaluationOrder.kt │ │ │ │ ├── inlineFunInConstructorCallWithDisabledNormalization.kt │ │ │ │ ├── inlineFunInConstructorCallWithEnabledNormalization.kt │ │ │ │ ├── inlineFunInConstructorCallWithStrictNormalization.kt │ │ │ │ ├── inlineFunInInnerClassConstructorCall.kt │ │ │ │ ├── inlineFunInLocalClassConstructorCall.kt │ │ │ │ ├── nestedConstructorCallWithJumpOutInConstructorArguments.kt │ │ │ │ ├── nonLocalReturnInConstructorArguments.kt │ │ │ │ ├── possiblyPoppedUnitializedValueInArguments.kt │ │ │ │ ├── regularConstructorCallEvaluationOrder.kt │ │ │ │ └── tryCatchInConstructorCallEvaluationOrder.kt │ │ │ ├── controlStructures │ │ │ │ ├── bottles.kt │ │ │ │ ├── breakContinueInExpressions │ │ │ │ │ ├── breakFromOuter.kt │ │ │ │ │ ├── breakInDoWhile.kt │ │ │ │ │ ├── breakInExpr.kt │ │ │ │ │ ├── continueInDoWhile.kt │ │ │ │ │ ├── continueInExpr.kt │ │ │ │ │ ├── inlineWithStack.kt │ │ │ │ │ ├── innerLoopWithStack.kt │ │ │ │ │ ├── kt14581.kt │ │ │ │ │ ├── kt16713.kt │ │ │ │ │ ├── kt16713_2.kt │ │ │ │ │ ├── kt17384.kt │ │ │ │ │ ├── kt9022And.kt │ │ │ │ │ ├── kt9022Or.kt │ │ │ │ │ ├── pathologicalDoWhile.kt │ │ │ │ │ ├── popSizes.kt │ │ │ │ │ ├── tryFinally1.kt │ │ │ │ │ ├── tryFinally2.kt │ │ │ │ │ └── whileTrueBreak.kt │ │ │ │ ├── breakInFinally.kt │ │ │ │ ├── compareBoxedIntegerToZero.kt │ │ │ │ ├── conditionOfEmptyIf.kt │ │ │ │ ├── continueInExpr.kt │ │ │ │ ├── continueInFor.kt │ │ │ │ ├── continueInForCondition.kt │ │ │ │ ├── continueInWhile.kt │ │ │ │ ├── continueToLabelInFor.kt │ │ │ │ ├── doWhile.kt │ │ │ │ ├── doWhileFib.kt │ │ │ │ ├── doWhileWithContinue.kt │ │ │ │ ├── emptyDoWhile.kt │ │ │ │ ├── emptyFor.kt │ │ │ │ ├── emptyWhile.kt │ │ │ │ ├── factorialTest.kt │ │ │ │ ├── finallyOnEmptyReturn.kt │ │ │ │ ├── forArrayList.kt │ │ │ │ ├── forArrayListMultiDecl.kt │ │ │ │ ├── forInCharSequence.kt │ │ │ │ ├── forInCharSequenceMut.kt │ │ │ │ ├── forInSmartCastToArray.kt │ │ │ │ ├── forIntArray.kt │ │ │ │ ├── forLoopMemberExtensionAll.kt │ │ │ │ ├── forLoopMemberExtensionHasNext.kt │ │ │ │ ├── forLoopMemberExtensionNext.kt │ │ │ │ ├── forNullableIntArray.kt │ │ │ │ ├── forPrimitiveIntArray.kt │ │ │ │ ├── forUserType.kt │ │ │ │ ├── inRangeConditionsInWhen.kt │ │ │ │ ├── kt12908.kt │ │ │ │ ├── kt12908_2.kt │ │ │ │ ├── kt1441.kt │ │ │ │ ├── kt14839.kt │ │ │ │ ├── kt15726.kt │ │ │ │ ├── kt1688.kt │ │ │ │ ├── kt1742.kt │ │ │ │ ├── kt17590.kt │ │ │ │ ├── kt17590_long.kt │ │ │ │ ├── kt1899.kt │ │ │ │ ├── kt2147.kt │ │ │ │ ├── kt2259.kt │ │ │ │ ├── kt2291.kt │ │ │ │ ├── kt237.kt │ │ │ │ ├── kt2416.kt │ │ │ │ ├── kt2423.kt │ │ │ │ ├── kt2577.kt │ │ │ │ ├── kt2597.kt │ │ │ │ ├── kt299.kt │ │ │ │ ├── kt3087.kt │ │ │ │ ├── kt3203_1.kt │ │ │ │ ├── kt3203_2.kt │ │ │ │ ├── kt3273.kt │ │ │ │ ├── kt3280.kt │ │ │ │ ├── kt3574.kt │ │ │ │ ├── kt416.kt │ │ │ │ ├── kt513.kt │ │ │ │ ├── kt628.kt │ │ │ │ ├── kt769.kt │ │ │ │ ├── kt772.kt │ │ │ │ ├── kt773.kt │ │ │ │ ├── kt8148.kt │ │ │ │ ├── kt8148_break.kt │ │ │ │ ├── kt8148_continue.kt │ │ │ │ ├── kt870.kt │ │ │ │ ├── kt9022Return.kt │ │ │ │ ├── kt9022Throw.kt │ │ │ │ ├── kt910.kt │ │ │ │ ├── kt958.kt │ │ │ │ ├── longRange.kt │ │ │ │ ├── parameterWithNameForFunctionType.kt │ │ │ │ ├── quicksort.kt │ │ │ │ ├── returnsNothing │ │ │ │ │ ├── ifElse.kt │ │ │ │ │ ├── inlineMethod.kt │ │ │ │ │ ├── propertyGetter.kt │ │ │ │ │ ├── tryCatch.kt │ │ │ │ │ └── when.kt │ │ │ │ ├── tryCatchFinallyChain.kt │ │ │ │ └── tryCatchInExpressions │ │ │ │ │ ├── catch.kt │ │ │ │ │ ├── complexChain.kt │ │ │ │ │ ├── deadTryCatch.kt │ │ │ │ │ ├── differentTypes.kt │ │ │ │ │ ├── expectException.kt │ │ │ │ │ ├── finally.kt │ │ │ │ │ ├── inlineTryCatch.kt │ │ │ │ │ ├── inlineTryExpr.kt │ │ │ │ │ ├── inlineTryFinally.kt │ │ │ │ │ ├── kt17572.kt │ │ │ │ │ ├── kt17572_2.kt │ │ │ │ │ ├── kt17572_2_ext.kt │ │ │ │ │ ├── kt17572_ext.kt │ │ │ │ │ ├── kt17572_nested.kt │ │ │ │ │ ├── kt17573.kt │ │ │ │ │ ├── kt17573_nested.kt │ │ │ │ │ ├── kt8608.kt │ │ │ │ │ ├── kt9644try.kt │ │ │ │ │ ├── multipleCatchBlocks.kt │ │ │ │ │ ├── splitTry.kt │ │ │ │ │ ├── splitTryCorner1.kt │ │ │ │ │ ├── splitTryCorner2.kt │ │ │ │ │ ├── try.kt │ │ │ │ │ ├── tryAfterTry.kt │ │ │ │ │ ├── tryAndBreak.kt │ │ │ │ │ ├── tryAndContinue.kt │ │ │ │ │ ├── tryCatchAfterWhileTrue.kt │ │ │ │ │ ├── tryInsideCatch.kt │ │ │ │ │ ├── tryInsideTry.kt │ │ │ │ │ └── unmatchedInlineMarkers.kt │ │ │ ├── coroutines │ │ │ │ ├── 32defaultParametersInSuspend.kt │ │ │ │ ├── accessorForSuspend.kt │ │ │ │ ├── asyncIterator.kt │ │ │ │ ├── asyncIteratorNullMerge.kt │ │ │ │ ├── asyncIteratorToList.kt │ │ │ │ ├── await.kt │ │ │ │ ├── beginWithException.kt │ │ │ │ ├── beginWithExceptionNoHandleException.kt │ │ │ │ ├── coercionToUnit.kt │ │ │ │ ├── controlFlow │ │ │ │ │ ├── breakFinally.kt │ │ │ │ │ ├── breakStatement.kt │ │ │ │ │ ├── doWhileStatement.kt │ │ │ │ │ ├── forContinue.kt │ │ │ │ │ ├── forStatement.kt │ │ │ │ │ ├── forWithStep.kt │ │ │ │ │ ├── ifStatement.kt │ │ │ │ │ ├── labeledWhile.kt │ │ │ │ │ ├── returnFromFinally.kt │ │ │ │ │ ├── switchLikeWhen.kt │ │ │ │ │ ├── throwFromCatch.kt │ │ │ │ │ ├── throwInTryWithHandleResult.kt │ │ │ │ │ └── whileStatement.kt │ │ │ │ ├── controllerAccessFromInnerLambda.kt │ │ │ │ ├── coroutineToString.kt │ │ │ │ ├── createCoroutineSafe.kt │ │ │ │ ├── createCoroutinesOnManualInstances.kt │ │ │ │ ├── defaultParametersInSuspend.kt │ │ │ │ ├── dispatchResume.kt │ │ │ │ ├── emptyClosure.kt │ │ │ │ ├── falseUnitCoercion.kt │ │ │ │ ├── featureIntersection │ │ │ │ │ ├── breakWithNonEmptyStack.kt │ │ │ │ │ ├── destructuringInLambdas.kt │ │ │ │ │ ├── safeCallOnTwoReceivers.kt │ │ │ │ │ ├── safeCallOnTwoReceiversLong.kt │ │ │ │ │ ├── suspendDestructuringInLambdas.kt │ │ │ │ │ └── tailrec.kt │ │ │ │ ├── generate.kt │ │ │ │ ├── handleException.kt │ │ │ │ ├── handleResultCallEmptyBody.kt │ │ │ │ ├── handleResultNonUnitExpression.kt │ │ │ │ ├── handleResultSuspended.kt │ │ │ │ ├── illegalState.kt │ │ │ │ ├── inlineFunInGenericClass.kt │ │ │ │ ├── inlineGenericFunCalledFromSubclass.kt │ │ │ │ ├── inlineSuspendFunction.kt │ │ │ │ ├── inlinedTryCatchFinally.kt │ │ │ │ ├── innerSuspensionCalls.kt │ │ │ │ ├── instanceOfContinuation.kt │ │ │ │ ├── intLikeVarSpilling │ │ │ │ │ ├── complicatedMerge.kt │ │ │ │ │ ├── i2bResult.kt │ │ │ │ │ ├── loadFromBooleanArray.kt │ │ │ │ │ ├── loadFromByteArray.kt │ │ │ │ │ ├── noVariableInTable.kt │ │ │ │ │ ├── sameIconst1ManyVars.kt │ │ │ │ │ ├── usedInArrayStore.kt │ │ │ │ │ ├── usedInMethodCall.kt │ │ │ │ │ ├── usedInPutfield.kt │ │ │ │ │ └── usedInVarStore.kt │ │ │ │ ├── intrinsicSemantics │ │ │ │ │ ├── startCoroutine.kt │ │ │ │ │ ├── startCoroutineUninterceptedOrReturn.kt │ │ │ │ │ └── startCoroutineUninterceptedOrReturnInterception.kt │ │ │ │ ├── iterateOverArray.kt │ │ │ │ ├── kt12958.kt │ │ │ │ ├── kt15016.kt │ │ │ │ ├── kt15017.kt │ │ │ │ ├── lastExpressionIsLoop.kt │ │ │ │ ├── lastStatementInc.kt │ │ │ │ ├── lastStementAssignment.kt │ │ │ │ ├── lastUnitExpression.kt │ │ │ │ ├── localCallableRef.kt │ │ │ │ ├── localDelegate.kt │ │ │ │ ├── longRangeInSuspendCall.kt │ │ │ │ ├── longRangeInSuspendFun.kt │ │ │ │ ├── mergeNullAndString.kt │ │ │ │ ├── multiModule │ │ │ │ │ ├── inlineFunctionWithOptionalParam.kt │ │ │ │ │ ├── inlineMultiModule.kt │ │ │ │ │ ├── inlineMultiModuleOverride.kt │ │ │ │ │ ├── inlineMultiModuleWithController.kt │ │ │ │ │ └── simple.kt │ │ │ │ ├── multipleInvokeCalls.kt │ │ │ │ ├── multipleInvokeCallsInsideInlineLambda1.kt │ │ │ │ ├── multipleInvokeCallsInsideInlineLambda2.kt │ │ │ │ ├── multipleInvokeCallsInsideInlineLambda3.kt │ │ │ │ ├── nestedTryCatch.kt │ │ │ │ ├── noSuspensionPoints.kt │ │ │ │ ├── nonLocalReturnFromInlineLambda.kt │ │ │ │ ├── nonLocalReturnFromInlineLambdaDeep.kt │ │ │ │ ├── overrideDefaultArgument.kt │ │ │ │ ├── recursiveSuspend.kt │ │ │ │ ├── returnByLabel.kt │ │ │ │ ├── simple.kt │ │ │ │ ├── simpleException.kt │ │ │ │ ├── simpleWithHandleResult.kt │ │ │ │ ├── stackUnwinding │ │ │ │ │ ├── exception.kt │ │ │ │ │ ├── inlineSuspendFunction.kt │ │ │ │ │ ├── simple.kt │ │ │ │ │ └── suspendInCycle.kt │ │ │ │ ├── statementLikeLastExpression.kt │ │ │ │ ├── suspendCoroutineFromStateMachine.kt │ │ │ │ ├── suspendDefaultImpl.kt │ │ │ │ ├── suspendDelegation.kt │ │ │ │ ├── suspendFromInlineLambda.kt │ │ │ │ ├── suspendFunImportedFromObject.kt │ │ │ │ ├── suspendFunctionAsCoroutine │ │ │ │ │ ├── augmentedAssignment.kt │ │ │ │ │ ├── dispatchResume.kt │ │ │ │ │ ├── handleException.kt │ │ │ │ │ ├── inline.kt │ │ │ │ │ ├── inlineTwoReceivers.kt │ │ │ │ │ ├── member.kt │ │ │ │ │ ├── noinlineTwoReceivers.kt │ │ │ │ │ ├── openFunWithJava.kt │ │ │ │ │ ├── operators.kt │ │ │ │ │ ├── privateFunctions.kt │ │ │ │ │ ├── privateInFile.kt │ │ │ │ │ ├── returnNoSuspend.kt │ │ │ │ │ ├── simple.kt │ │ │ │ │ ├── superCall.kt │ │ │ │ │ ├── superCallAbstractClass.kt │ │ │ │ │ ├── superCallInterface.kt │ │ │ │ │ └── withVariables.kt │ │ │ │ ├── suspendFunctionTypeCall │ │ │ │ │ ├── localVal.kt │ │ │ │ │ ├── manyParameters.kt │ │ │ │ │ └── simple.kt │ │ │ │ ├── suspendInCycle.kt │ │ │ │ ├── suspendInTheMiddleOfObjectConstruction.kt │ │ │ │ ├── suspendInTheMiddleOfObjectConstructionEvaluationOrder.kt │ │ │ │ ├── suspendInTheMiddleOfObjectConstructionWithJumpOut.kt │ │ │ │ ├── suspensionInsideSafeCall.kt │ │ │ │ ├── suspensionInsideSafeCallWithElvis.kt │ │ │ │ ├── tailCallOptimizations │ │ │ │ │ ├── inlineWithStateMachine.kt │ │ │ │ │ ├── inlineWithoutStateMachine.kt │ │ │ │ │ └── simple.kt │ │ │ │ ├── tailOperations │ │ │ │ │ ├── suspendWithIf.kt │ │ │ │ │ ├── suspendWithTryCatch.kt │ │ │ │ │ ├── suspendWithWhen.kt │ │ │ │ │ └── tailInlining.kt │ │ │ │ ├── tryCatchFinallyWithHandleResult.kt │ │ │ │ ├── tryCatchWithHandleResult.kt │ │ │ │ ├── tryFinallyInsideInlineLambda.kt │ │ │ │ ├── tryFinallyWithHandleResult.kt │ │ │ │ ├── unitTypeReturn │ │ │ │ │ ├── coroutineNonLocalReturn.kt │ │ │ │ │ ├── coroutineReturn.kt │ │ │ │ │ ├── suspendNonLocalReturn.kt │ │ │ │ │ └── suspendReturn.kt │ │ │ │ ├── varSpilling │ │ │ │ │ ├── kt19475.kt │ │ │ │ │ └── nullSpilling.kt │ │ │ │ ├── varValueConflictsWithTable.kt │ │ │ │ └── varValueConflictsWithTableSameSort.kt │ │ │ ├── dataClasses │ │ │ │ ├── arrayParams.kt │ │ │ │ ├── changingVarParam.kt │ │ │ │ ├── copy │ │ │ │ │ ├── constructorWithDefaultParam.kt │ │ │ │ │ ├── copyInObjectNestedDataClass.kt │ │ │ │ │ ├── kt12708.kt │ │ │ │ │ ├── kt3033.kt │ │ │ │ │ ├── valInConstructorParams.kt │ │ │ │ │ ├── varInConstructorParams.kt │ │ │ │ │ ├── withGenericParameter.kt │ │ │ │ │ └── withSecondaryConstructor.kt │ │ │ │ ├── doubleParam.kt │ │ │ │ ├── equals │ │ │ │ │ ├── alreadyDeclared.kt │ │ │ │ │ ├── alreadyDeclaredWrongSignature.kt │ │ │ │ │ ├── genericarray.kt │ │ │ │ │ ├── intarray.kt │ │ │ │ │ ├── nullother.kt │ │ │ │ │ └── sameinstance.kt │ │ │ │ ├── floatParam.kt │ │ │ │ ├── genericParam.kt │ │ │ │ ├── hashCode │ │ │ │ │ ├── alreadyDeclared.kt │ │ │ │ │ ├── alreadyDeclaredWrongSignature.kt │ │ │ │ │ ├── array.kt │ │ │ │ │ ├── boolean.kt │ │ │ │ │ ├── byte.kt │ │ │ │ │ ├── char.kt │ │ │ │ │ ├── double.kt │ │ │ │ │ ├── float.kt │ │ │ │ │ ├── genericNull.kt │ │ │ │ │ ├── int.kt │ │ │ │ │ ├── long.kt │ │ │ │ │ ├── null.kt │ │ │ │ │ └── short.kt │ │ │ │ ├── kt5002.kt │ │ │ │ ├── mixedParams.kt │ │ │ │ ├── multiDeclaration.kt │ │ │ │ ├── multiDeclarationFor.kt │ │ │ │ ├── nonTrivialFinalMemberInSuperClass.kt │ │ │ │ ├── nonTrivialMemberInSuperClass.kt │ │ │ │ ├── privateValParams.kt │ │ │ │ ├── toString │ │ │ │ ├── twoValParams.kt │ │ │ │ ├── twoVarParams.kt │ │ │ │ └── unitComponent.kt │ │ │ ├── deadCodeElimination │ │ │ │ ├── emptyVariableRange.kt │ │ │ │ ├── intersectingVariableRange.kt │ │ │ │ ├── intersectingVariableRangeInFinally.kt │ │ │ │ └── kt14357.kt │ │ │ ├── defaultArguments │ │ │ │ ├── constructor │ │ │ │ ├── convention │ │ │ │ │ ├── incWithDefaultInGetter.kt │ │ │ │ │ ├── kt9140.kt │ │ │ │ │ └── plusAssignWithDefaultInGetter.kt │ │ │ │ ├── function │ │ │ │ │ ├── abstractClass.kt │ │ │ │ │ ├── covariantOverride.kt │ │ │ │ │ ├── covariantOverrideGeneric.kt │ │ │ │ │ ├── extensionFunctionManyArgs.kt │ │ │ │ │ ├── extentionFunction.kt │ │ │ │ │ ├── extentionFunctionDouble.kt │ │ │ │ │ ├── extentionFunctionDoubleTwoArgs.kt │ │ │ │ │ ├── extentionFunctionInClassObject.kt │ │ │ │ │ ├── extentionFunctionInObject.kt │ │ │ │ │ ├── extentionFunctionWithOneDefArg.kt │ │ │ │ │ ├── funInTrait.kt │ │ │ │ │ ├── innerExtentionFunction.kt │ │ │ │ │ ├── innerExtentionFunctionDouble.kt │ │ │ │ │ ├── innerExtentionFunctionDoubleTwoArgs.kt │ │ │ │ │ ├── innerExtentionFunctionManyArgs.kt │ │ │ │ │ ├── kt5232.kt │ │ │ │ │ ├── memberFunctionManyArgs.kt │ │ │ │ │ ├── mixingNamedAndPositioned.kt │ │ │ │ │ ├── topLevelManyArgs.kt │ │ │ │ │ └── trait.kt │ │ │ │ ├── implementedByFake.kt │ │ │ │ ├── inheritedFromInterfaceViaAbstractSuperclass.kt │ │ │ │ ├── kt6382.kt │ │ │ │ ├── private │ │ │ │ │ ├── memberExtensionFunction.kt │ │ │ │ │ ├── memberFunction.kt │ │ │ │ │ ├── primaryConstructor.kt │ │ │ │ │ └── secondaryConstructor.kt │ │ │ │ ├── protected.kt │ │ │ │ ├── signature │ │ │ │ │ ├── kt2789.kt │ │ │ │ │ ├── kt9428.kt │ │ │ │ │ └── kt9924.kt │ │ │ │ ├── simpleFromOtherFile.kt │ │ │ │ └── superCallCheck.kt │ │ │ ├── delegatedProperty │ │ │ │ ├── accessTopLevelDelegatedPropertyInClinit.kt │ │ │ │ ├── capturePropertyInClosure.kt │ │ │ │ ├── castGetReturnType.kt │ │ │ │ ├── castSetParameter.kt │ │ │ │ ├── delegateAsInnerClass.kt │ │ │ │ ├── delegateByOtherProperty.kt │ │ │ │ ├── delegateByTopLevelFun.kt │ │ │ │ ├── delegateByTopLevelProperty.kt │ │ │ │ ├── delegateForExtProperty.kt │ │ │ │ ├── delegateForExtPropertyInClass.kt │ │ │ │ ├── delegateWithPrivateSet.kt │ │ │ │ ├── extensionDelegatesWithSameNames.kt │ │ │ │ ├── extensionPropertyAndExtensionGetValue.kt │ │ │ │ ├── genericDelegate.kt │ │ │ │ ├── genericDelegateUncheckedCast1.kt │ │ │ │ ├── genericDelegateUncheckedCast2.kt │ │ │ │ ├── genericSetValueViaSyntheticAccessor.kt │ │ │ │ ├── getAsExtensionFun.kt │ │ │ │ ├── getAsExtensionFunInClass.kt │ │ │ │ ├── getDelegateWithoutReflection.kt │ │ │ │ ├── inClassVal.kt │ │ │ │ ├── inClassVar.kt │ │ │ │ ├── inTrait.kt │ │ │ │ ├── inferredPropertyType.kt │ │ │ │ ├── kt4138.kt │ │ │ │ ├── kt6722.kt │ │ │ │ ├── kt9712.kt │ │ │ │ ├── local │ │ │ │ │ ├── capturedLocalVal.kt │ │ │ │ │ ├── capturedLocalValNoInline.kt │ │ │ │ │ ├── capturedLocalVar.kt │ │ │ │ │ ├── capturedLocalVarNoInline.kt │ │ │ │ │ ├── inlineGetValue.kt │ │ │ │ │ ├── inlineOperators.kt │ │ │ │ │ ├── kt12891.kt │ │ │ │ │ ├── kt13557.kt │ │ │ │ │ ├── kt16864.kt │ │ │ │ │ ├── kt19690.kt │ │ │ │ │ ├── localVal.kt │ │ │ │ │ ├── localValNoExplicitType.kt │ │ │ │ │ ├── localVar.kt │ │ │ │ │ └── localVarNoExplicitType.kt │ │ │ │ ├── privateSetterKPropertyIsNotMutable.kt │ │ │ │ ├── privateVar.kt │ │ │ │ ├── propertyMetadataShouldBeCached.kt │ │ │ │ ├── protectedVarWithPrivateSet.kt │ │ │ │ ├── provideDelegate │ │ │ │ │ ├── differentReceivers.kt │ │ │ │ │ ├── evaluationOrder.kt │ │ │ │ │ ├── evaluationOrderVar.kt │ │ │ │ │ ├── extensionDelegated.kt │ │ │ │ │ ├── generic.kt │ │ │ │ │ ├── hostCheck.kt │ │ │ │ │ ├── inClass.kt │ │ │ │ │ ├── inlineProvideDelegate.kt │ │ │ │ │ ├── jvmStaticInObject.kt │ │ │ │ │ ├── kt15437.kt │ │ │ │ │ ├── kt16441.kt │ │ │ │ │ ├── kt18902.kt │ │ │ │ │ ├── local.kt │ │ │ │ │ ├── localCaptured.kt │ │ │ │ │ ├── localDifferentReceivers.kt │ │ │ │ │ ├── memberExtension.kt │ │ │ │ │ └── propertyMetadata.kt │ │ │ │ ├── setAsExtensionFun.kt │ │ │ │ ├── setAsExtensionFunInClass.kt │ │ │ │ ├── stackOverflowOnCallFromGetValue.kt │ │ │ │ ├── topLevelVal.kt │ │ │ │ ├── topLevelVar.kt │ │ │ │ ├── twoPropByOneDelegete.kt │ │ │ │ ├── useKPropertyLater.kt │ │ │ │ ├── useReflectionOnKProperty.kt │ │ │ │ ├── valInInnerClass.kt │ │ │ │ └── varInInnerClass.kt │ │ │ ├── delegation │ │ │ │ ├── delegationToVal.kt │ │ │ │ ├── delegationWithPrivateConstructor.kt │ │ │ │ ├── hiddenSuperOverrideIn1.0.kt │ │ │ │ ├── kt8154.kt │ │ │ │ └── withDefaultParameters.kt │ │ │ ├── destructuringDeclInLambdaParam │ │ │ │ ├── extensionComponents.kt │ │ │ │ ├── generic.kt │ │ │ │ ├── inline.kt │ │ │ │ ├── otherParameters.kt │ │ │ │ ├── simple.kt │ │ │ │ ├── stdlibUsages.kt │ │ │ │ ├── underscoreNames.kt │ │ │ │ └── withIndexed.kt │ │ │ ├── diagnostics │ │ │ │ ├── functions │ │ │ │ │ ├── inference │ │ │ │ │ │ └── kt6176.kt │ │ │ │ │ ├── invoke │ │ │ │ │ │ └── onObjects │ │ │ │ │ │ │ ├── invokeOnClassObject1.kt │ │ │ │ │ │ │ ├── invokeOnClassObject2.kt │ │ │ │ │ │ │ ├── invokeOnClassObjectOfNestedClass1.kt │ │ │ │ │ │ │ ├── invokeOnClassObjectOfNestedClass2.kt │ │ │ │ │ │ │ ├── invokeOnEnum1.kt │ │ │ │ │ │ │ ├── invokeOnEnum2.kt │ │ │ │ │ │ │ ├── invokeOnImportedEnum1.kt │ │ │ │ │ │ │ ├── invokeOnImportedEnum2.kt │ │ │ │ │ │ │ ├── invokeOnObject1.kt │ │ │ │ │ │ │ └── invokeOnObject2.kt │ │ │ │ │ └── tailRecursion │ │ │ │ │ │ ├── defaultArgs.kt │ │ │ │ │ │ ├── defaultArgsOverridden.kt │ │ │ │ │ │ ├── extensionTailCall.kt │ │ │ │ │ │ ├── functionWithNoTails.kt │ │ │ │ │ │ ├── functionWithNonTailRecursions.kt │ │ │ │ │ │ ├── functionWithoutAnnotation.kt │ │ │ │ │ │ ├── infixCall.kt │ │ │ │ │ │ ├── infixRecursiveCall.kt │ │ │ │ │ │ ├── insideElvis.kt │ │ │ │ │ │ ├── labeledThisReferences.kt │ │ │ │ │ │ ├── loops.kt │ │ │ │ │ │ ├── multilevelBlocks.kt │ │ │ │ │ │ ├── realIteratorFoldl.kt │ │ │ │ │ │ ├── realStringEscape.kt │ │ │ │ │ │ ├── realStringRepeat.kt │ │ │ │ │ │ ├── recursiveCallInLambda.kt │ │ │ │ │ │ ├── recursiveCallInLocalFunction.kt │ │ │ │ │ │ ├── recursiveInnerFunction.kt │ │ │ │ │ │ ├── returnIf.kt │ │ │ │ │ │ ├── returnInCatch.kt │ │ │ │ │ │ ├── returnInFinally.kt │ │ │ │ │ │ ├── returnInIfInFinally.kt │ │ │ │ │ │ ├── returnInParentheses.kt │ │ │ │ │ │ ├── returnInTry.kt │ │ │ │ │ │ ├── simpleBlock.kt │ │ │ │ │ │ ├── simpleReturn.kt │ │ │ │ │ │ ├── simpleReturnWithElse.kt │ │ │ │ │ │ ├── sum.kt │ │ │ │ │ │ ├── tailCallInBlockInParentheses.kt │ │ │ │ │ │ ├── tailCallInParentheses.kt │ │ │ │ │ │ ├── tailRecursionInFinally.kt │ │ │ │ │ │ ├── thisReferences.kt │ │ │ │ │ │ ├── unitBlocks.kt │ │ │ │ │ │ ├── whenWithCondition.kt │ │ │ │ │ │ ├── whenWithInRange.kt │ │ │ │ │ │ ├── whenWithIs.kt │ │ │ │ │ │ └── whenWithoutCondition.kt │ │ │ │ └── vararg │ │ │ │ │ └── kt4172.kt │ │ │ ├── elvis │ │ │ │ ├── genericNull.kt │ │ │ │ ├── kt6694ExactAnnotationForElvis.kt │ │ │ │ ├── nullNullOk.kt │ │ │ │ └── primitive.kt │ │ │ ├── enum │ │ │ │ ├── abstractMethodInEnum.kt │ │ │ │ ├── abstractNestedClass.kt │ │ │ │ ├── asReturnExpression.kt │ │ │ │ ├── classForEnumEntry.kt │ │ │ │ ├── companionObjectInEnum.kt │ │ │ │ ├── deepInnerClassInEnumEntryClass.kt │ │ │ │ ├── deepInnerClassInEnumEntryClass2.kt │ │ │ │ ├── defaultCtor │ │ │ │ │ ├── constructorWithDefaultArguments.kt │ │ │ │ │ ├── constructorWithVararg.kt │ │ │ │ │ ├── secondaryConstructorWithDefaultArguments.kt │ │ │ │ │ └── secondaryConstructorWithVararg.kt │ │ │ │ ├── emptyConstructor.kt │ │ │ │ ├── emptyEnumValuesValueOf.kt │ │ │ │ ├── enumCompanionInit.kt │ │ │ │ ├── enumEntryReferenceFromInnerClassConstructor1.kt │ │ │ │ ├── enumEntryReferenceFromInnerClassConstructor2.kt │ │ │ │ ├── enumEntryReferenceFromInnerClassConstructor3.kt │ │ │ │ ├── enumInheritedFromTrait.kt │ │ │ │ ├── enumShort.kt │ │ │ │ ├── enumWithLambdaParameter.kt │ │ │ │ ├── inPackage.kt │ │ │ │ ├── inclassobj.kt │ │ │ │ ├── inner.kt │ │ │ │ ├── innerClassInEnumEntryClass.kt │ │ │ │ ├── innerClassMethodInEnumEntryClass.kt │ │ │ │ ├── innerClassMethodInEnumEntryClass2.kt │ │ │ │ ├── innerWithExistingClassObject.kt │ │ │ │ ├── kt1119.kt │ │ │ │ ├── kt20651.kt │ │ │ │ ├── kt20651_inlineLambda.kt │ │ │ │ ├── kt20651a.kt │ │ │ │ ├── kt20651b.kt │ │ │ │ ├── kt2350.kt │ │ │ │ ├── kt7257.kt │ │ │ │ ├── kt7257_anonObjectInit.kt │ │ │ │ ├── kt7257_anonObjectMethod.kt │ │ │ │ ├── kt7257_boundReference1.kt │ │ │ │ ├── kt7257_boundReference2.kt │ │ │ │ ├── kt7257_boundReferenceWithImplicitReceiver.kt │ │ │ │ ├── kt7257_explicitReceiver.kt │ │ │ │ ├── kt7257_fullyQualifiedReceiver.kt │ │ │ │ ├── kt7257_namedLocalFun.kt │ │ │ │ ├── kt7257_notInline.kt │ │ │ │ ├── kt9711.kt │ │ │ │ ├── kt9711_2.kt │ │ │ │ ├── manyDefaultParameters.kt │ │ │ │ ├── modifierFlags.kt │ │ │ │ ├── noClassForSimpleEnum.kt │ │ │ │ ├── objectInEnum.kt │ │ │ │ ├── ordinal.kt │ │ │ │ ├── simple.kt │ │ │ │ ├── sortEnumEntries.kt │ │ │ │ ├── superCallInEnumLiteral.kt │ │ │ │ ├── toString.kt │ │ │ │ └── valueof.kt │ │ │ ├── evaluate │ │ │ │ ├── char.kt │ │ │ │ ├── divide.kt │ │ │ │ ├── intrinsics.kt │ │ │ │ ├── kt9443.kt │ │ │ │ ├── maxValue.kt │ │ │ │ ├── maxValueByte.kt │ │ │ │ ├── maxValueInt.kt │ │ │ │ ├── minus.kt │ │ │ │ ├── mod.kt │ │ │ │ ├── multiply.kt │ │ │ │ ├── parenthesized.kt │ │ │ │ ├── plus.kt │ │ │ │ ├── simpleCallBinary.kt │ │ │ │ ├── unaryMinus.kt │ │ │ │ └── unaryPlus.kt │ │ │ ├── exclExcl │ │ │ │ ├── genericNull.kt │ │ │ │ └── primitive.kt │ │ │ ├── extensionFunctions │ │ │ │ ├── executionOrder.kt │ │ │ │ ├── kt1061.kt │ │ │ │ ├── kt1249.kt │ │ │ │ ├── kt1290.kt │ │ │ │ ├── kt13312.kt │ │ │ │ ├── kt1776.kt │ │ │ │ ├── kt1953.kt │ │ │ │ ├── kt1953_class.kt │ │ │ │ ├── kt3285.kt │ │ │ │ ├── kt3298.kt │ │ │ │ ├── kt3646.kt │ │ │ │ ├── kt3969.kt │ │ │ │ ├── kt4228.kt │ │ │ │ ├── kt475.kt │ │ │ │ ├── kt5467.kt │ │ │ │ ├── kt606.kt │ │ │ │ ├── kt865.kt │ │ │ │ ├── nested2.kt │ │ │ │ ├── shared.kt │ │ │ │ ├── simple.kt │ │ │ │ ├── thisMethodInObjectLiteral.kt │ │ │ │ ├── virtual.kt │ │ │ │ └── whenFail.kt │ │ │ ├── extensionProperties │ │ │ │ ├── accessorForPrivateSetter.kt │ │ │ │ ├── genericValForPrimitiveType.kt │ │ │ │ ├── genericValMultipleUpperBounds.kt │ │ │ │ ├── genericVarForPrimitiveType.kt │ │ │ │ ├── inClass.kt │ │ │ │ ├── inClassLongTypeInReceiver.kt │ │ │ │ ├── inClassWithGetter.kt │ │ │ │ ├── inClassWithPrivateGetter.kt │ │ │ │ ├── inClassWithPrivateSetter.kt │ │ │ │ ├── inClassWithSetter.kt │ │ │ │ ├── kt9897.kt │ │ │ │ ├── kt9897_topLevel.kt │ │ │ │ ├── topLevel.kt │ │ │ │ └── topLevelLongTypeInReceiver.kt │ │ │ ├── external │ │ │ │ ├── jvmStaticExternal.kt │ │ │ │ ├── jvmStaticExternalPrivate.kt │ │ │ │ └── withDefaultArg.kt │ │ │ ├── fakeOverride │ │ │ │ ├── diamondFunction.kt │ │ │ │ ├── function.kt │ │ │ │ ├── propertyGetter.kt │ │ │ │ └── propertySetter.kt │ │ │ ├── fieldRename │ │ │ │ ├── constructorAndClassObject.kt │ │ │ │ ├── delegates.kt │ │ │ │ └── genericPropertyWithItself.kt │ │ │ ├── finally │ │ │ │ ├── finallyAndFinally.kt │ │ │ │ ├── kt3549.kt │ │ │ │ ├── kt3706.kt │ │ │ │ ├── kt3867.kt │ │ │ │ ├── kt3874.kt │ │ │ │ ├── kt3894.kt │ │ │ │ ├── kt4134.kt │ │ │ │ ├── loopAndFinally.kt │ │ │ │ ├── notChainCatch.kt │ │ │ │ ├── tryFinally.kt │ │ │ │ └── tryLoopTry.kt │ │ │ ├── fullJdk │ │ │ │ ├── charBuffer.kt │ │ │ │ ├── ifInWhile.kt │ │ │ │ ├── intCountDownLatchExtension.kt │ │ │ │ ├── kt434.kt │ │ │ │ ├── native │ │ │ │ │ ├── nativePropertyAccessors.kt │ │ │ │ │ ├── simpleNative.kt │ │ │ │ │ └── topLevel.kt │ │ │ │ ├── platformTypeAssertionStackTrace.kt │ │ │ │ └── regressions │ │ │ │ │ ├── kt15112.kt │ │ │ │ │ └── kt1770.kt │ │ │ ├── functions │ │ │ │ ├── coerceVoidToArray.kt │ │ │ │ ├── coerceVoidToObject.kt │ │ │ │ ├── dataLocalVariable.kt │ │ │ │ ├── defaultargs.kt │ │ │ │ ├── defaultargs1.kt │ │ │ │ ├── defaultargs2.kt │ │ │ │ ├── defaultargs3.kt │ │ │ │ ├── defaultargs4.kt │ │ │ │ ├── defaultargs5.kt │ │ │ │ ├── defaultargs6.kt │ │ │ │ ├── defaultargs7.kt │ │ │ │ ├── ea33909.kt │ │ │ │ ├── fakeDescriptorWithSeveralOverridenOne.kt │ │ │ │ ├── functionExpression │ │ │ │ │ ├── functionExpression.kt │ │ │ │ │ ├── functionExpressionWithThisReference.kt │ │ │ │ │ ├── functionLiteralExpression.kt │ │ │ │ │ └── underscoreParameters.kt │ │ │ │ ├── functionNtoString.kt │ │ │ │ ├── functionNtoStringGeneric.kt │ │ │ │ ├── functionNtoStringNoReflect.kt │ │ │ │ ├── infixRecursiveCall.kt │ │ │ │ ├── invoke │ │ │ │ │ ├── castFunctionToExtension.kt │ │ │ │ │ ├── extensionInvokeOnExpr.kt │ │ │ │ │ ├── implicitInvokeInCompanionObjectWithFunctionalArgument.kt │ │ │ │ │ ├── implicitInvokeWithFunctionLiteralArgument.kt │ │ │ │ │ ├── invoke.kt │ │ │ │ │ ├── invokeOnExprByConvention.kt │ │ │ │ │ ├── invokeOnSyntheticProperty.kt │ │ │ │ │ ├── kt3189.kt │ │ │ │ │ ├── kt3190.kt │ │ │ │ │ ├── kt3297.kt │ │ │ │ │ ├── kt3450getAndInvoke.kt │ │ │ │ │ ├── kt3631invokeOnString.kt │ │ │ │ │ ├── kt3772.kt │ │ │ │ │ ├── kt3821invokeOnThis.kt │ │ │ │ │ └── kt3822invokeOnThis.kt │ │ │ │ ├── kt1038.kt │ │ │ │ ├── kt1199.kt │ │ │ │ ├── kt1413.kt │ │ │ │ ├── kt1649_1.kt │ │ │ │ ├── kt1649_2.kt │ │ │ │ ├── kt1739.kt │ │ │ │ ├── kt2270.kt │ │ │ │ ├── kt2271.kt │ │ │ │ ├── kt2280.kt │ │ │ │ ├── kt2481.kt │ │ │ │ ├── kt2716.kt │ │ │ │ ├── kt2739.kt │ │ │ │ ├── kt2929.kt │ │ │ │ ├── kt3214.kt │ │ │ │ ├── kt3313.kt │ │ │ │ ├── kt3573.kt │ │ │ │ ├── kt3724.kt │ │ │ │ ├── kt395.kt │ │ │ │ ├── kt785.kt │ │ │ │ ├── kt873.kt │ │ │ │ ├── localFunction.kt │ │ │ │ ├── localFunctions │ │ │ │ │ ├── callInlineLocalInLambda.kt │ │ │ │ │ ├── definedWithinLambda.kt │ │ │ │ │ ├── definedWithinLambdaInnerUsage1.kt │ │ │ │ │ ├── definedWithinLambdaInnerUsage2.kt │ │ │ │ │ ├── kt2895.kt │ │ │ │ │ ├── kt3308.kt │ │ │ │ │ ├── kt3978.kt │ │ │ │ │ ├── kt4119.kt │ │ │ │ │ ├── kt4119_2.kt │ │ │ │ │ ├── kt4514.kt │ │ │ │ │ ├── kt4777.kt │ │ │ │ │ ├── kt4783.kt │ │ │ │ │ ├── kt4784.kt │ │ │ │ │ ├── kt4989.kt │ │ │ │ │ ├── localExtensionOnNullableParameter.kt │ │ │ │ │ └── localFunctionInConstructor.kt │ │ │ │ ├── localReturnInsideFunctionExpression.kt │ │ │ │ ├── nothisnoclosure.kt │ │ │ │ ├── prefixRecursiveCall.kt │ │ │ │ ├── recursiveCompareTo.kt │ │ │ │ └── recursiveIncrementCall.kt │ │ │ ├── hashPMap │ │ │ │ ├── empty.kt │ │ │ │ ├── manyNumbers.kt │ │ │ │ ├── rewriteWithDifferent.kt │ │ │ │ ├── rewriteWithEqual.kt │ │ │ │ ├── simplePlusGet.kt │ │ │ │ └── simplePlusMinus.kt │ │ │ ├── ieee754 │ │ │ │ ├── anyToReal.kt │ │ │ │ ├── comparableTypeCast.kt │ │ │ │ ├── dataClass.kt │ │ │ │ ├── equalsDouble.kt │ │ │ │ ├── equalsFloat.kt │ │ │ │ ├── equalsNaN.kt │ │ │ │ ├── equalsNullableDouble.kt │ │ │ │ ├── equalsNullableFloat.kt │ │ │ │ ├── explicitCompareCall.kt │ │ │ │ ├── explicitEqualsCall.kt │ │ │ │ ├── generic.kt │ │ │ │ ├── greaterDouble.kt │ │ │ │ ├── greaterFloat.kt │ │ │ │ ├── inline.kt │ │ │ │ ├── lessDouble.kt │ │ │ │ ├── lessFloat.kt │ │ │ │ ├── nullableAnyToReal.kt │ │ │ │ ├── nullableDoubleEquals.kt │ │ │ │ ├── nullableDoubleEquals10.kt │ │ │ │ ├── nullableDoubleNotEquals.kt │ │ │ │ ├── nullableDoubleNotEquals10.kt │ │ │ │ ├── nullableFloatEquals.kt │ │ │ │ ├── nullableFloatEquals10.kt │ │ │ │ ├── nullableFloatNotEquals.kt │ │ │ │ ├── nullableFloatNotEquals10.kt │ │ │ │ ├── nullableIntEquals.kt │ │ │ │ ├── safeCall.kt │ │ │ │ ├── smartCastToDifferentTypes.kt │ │ │ │ ├── when.kt │ │ │ │ ├── when10.kt │ │ │ │ ├── whenNoSubject.kt │ │ │ │ ├── whenNullableSmartCast.kt │ │ │ │ └── whenNullableSmartCast10.kt │ │ │ ├── increment │ │ │ │ ├── arrayElement.kt │ │ │ │ ├── assignPlusOnSmartCast.kt │ │ │ │ ├── augmentedAssignmentWithComplexRhs.kt │ │ │ │ ├── classNaryGetSet.kt │ │ │ │ ├── classWithGetSet.kt │ │ │ │ ├── extOnLong.kt │ │ │ │ ├── genericClassWithGetSet.kt │ │ │ │ ├── memberExtOnLong.kt │ │ │ │ ├── mutableListElement.kt │ │ │ │ ├── nullable.kt │ │ │ │ ├── postfixIncrementDoubleSmartCast.kt │ │ │ │ ├── postfixIncrementOnClass.kt │ │ │ │ ├── postfixIncrementOnClassSmartCast.kt │ │ │ │ ├── postfixIncrementOnShortSmartCast.kt │ │ │ │ ├── postfixIncrementOnSmartCast.kt │ │ │ │ ├── postfixNullableClassIncrement.kt │ │ │ │ ├── postfixNullableIncrement.kt │ │ │ │ ├── prefixIncrementOnClass.kt │ │ │ │ ├── prefixIncrementOnClassSmartCast.kt │ │ │ │ ├── prefixIncrementOnSmartCast.kt │ │ │ │ ├── prefixNullableClassIncrement.kt │ │ │ │ └── prefixNullableIncrement.kt │ │ │ ├── innerNested │ │ │ │ ├── createNestedClass.kt │ │ │ │ ├── createdNestedInOuterMember.kt │ │ │ │ ├── extensionFun.kt │ │ │ │ ├── extensionToNested.kt │ │ │ │ ├── importNestedClass.kt │ │ │ │ ├── innerGeneric.kt │ │ │ │ ├── innerGenericClassFromJava.kt │ │ │ │ ├── innerJavaClass.kt │ │ │ │ ├── innerLabeledThis.kt │ │ │ │ ├── innerSimple.kt │ │ │ │ ├── kt3132.kt │ │ │ │ ├── kt3927.kt │ │ │ │ ├── kt5363.kt │ │ │ │ ├── kt6804.kt │ │ │ │ ├── nestedClassInObject.kt │ │ │ │ ├── nestedClassObject.kt │ │ │ │ ├── nestedEnumConstant.kt │ │ │ │ ├── nestedGeneric.kt │ │ │ │ ├── nestedInPackage.kt │ │ │ │ ├── nestedObjects.kt │ │ │ │ ├── nestedSimple.kt │ │ │ │ ├── protectedNestedClass.kt │ │ │ │ ├── protectedNestedClassFromJava.kt │ │ │ │ └── superConstructorCall │ │ │ │ │ ├── deepInnerHierarchy.kt │ │ │ │ │ ├── deepLocalHierarchy.kt │ │ │ │ │ ├── innerExtendsInnerViaSecondaryConstuctor.kt │ │ │ │ │ ├── innerExtendsInnerWithProperOuterCapture.kt │ │ │ │ │ ├── innerExtendsOuter.kt │ │ │ │ │ ├── kt11833_1.kt │ │ │ │ │ ├── kt11833_2.kt │ │ │ │ │ ├── localClassOuterDiffersFromInnerOuter.kt │ │ │ │ │ ├── localExtendsInner.kt │ │ │ │ │ ├── localExtendsLocalWithClosure.kt │ │ │ │ │ ├── localWithClosureExtendsLocalWithClosure.kt │ │ │ │ │ ├── objectExtendsClassDefaultArgument.kt │ │ │ │ │ ├── objectExtendsClassVararg.kt │ │ │ │ │ ├── objectExtendsInner.kt │ │ │ │ │ ├── objectExtendsInnerDefaultArgument.kt │ │ │ │ │ ├── objectExtendsInnerOfLocalVarargAndDefault.kt │ │ │ │ │ ├── objectExtendsInnerOfLocalWithCapture.kt │ │ │ │ │ ├── objectExtendsLocalCaptureInSuperCall.kt │ │ │ │ │ ├── objectExtendsLocalWithClosure.kt │ │ │ │ │ └── objectOuterDiffersFromInnerOuter.kt │ │ │ ├── instructions │ │ │ │ └── swap │ │ │ │ │ ├── swapRefToSharedVarInt.kt │ │ │ │ │ └── swapRefToSharedVarLong.kt │ │ │ ├── intrinsics │ │ │ │ ├── charToInt.kt │ │ │ │ ├── defaultObjectMapping.kt │ │ │ │ ├── ea35953.kt │ │ │ │ ├── incWithLabel.kt │ │ │ │ ├── kt10131.kt │ │ │ │ ├── kt10131a.kt │ │ │ │ ├── kt12125.kt │ │ │ │ ├── kt12125_2.kt │ │ │ │ ├── kt12125_inc.kt │ │ │ │ ├── kt12125_inc_2.kt │ │ │ │ ├── kt5937.kt │ │ │ │ ├── kt8666.kt │ │ │ │ ├── longRangeWithExplicitDot.kt │ │ │ │ ├── prefixIncDec.kt │ │ │ │ ├── rangeFromCollection.kt │ │ │ │ ├── stringFromCollection.kt │ │ │ │ ├── throwable.kt │ │ │ │ ├── throwableCallableReference.kt │ │ │ │ ├── throwableParamOrder.kt │ │ │ │ └── tostring.kt │ │ │ ├── javaInterop │ │ │ │ ├── generics │ │ │ │ │ ├── allWildcardsOnClass.kt │ │ │ │ │ ├── covariantOverrideWithDeclarationSiteProjection.kt │ │ │ │ │ └── invariantArgumentsNoWildcard.kt │ │ │ │ ├── lambdaInstanceOf.kt │ │ │ │ ├── notNullAssertions │ │ │ │ │ ├── destructuringAssignmentWithNullabilityAssertionOnExtensionReceiver_lv12.kt │ │ │ │ │ ├── enhancedNullability │ │ │ │ │ │ ├── inFunctionWithExpressionBody.kt │ │ │ │ │ │ ├── inFunctionWithExpressionBodyWithJavaGeneric.kt │ │ │ │ │ │ ├── inLocalFunctionWithExpressionBody.kt │ │ │ │ │ │ ├── inLocalVariableInitializer.kt │ │ │ │ │ │ ├── inMemberPropertyInitializer.kt │ │ │ │ │ │ ├── inPropertyGetterWithExpressionBody.kt │ │ │ │ │ │ └── inTopLevelPropertyInitializer.kt │ │ │ │ │ ├── extensionReceiverParameter.kt │ │ │ │ │ ├── incWithNullabilityAssertionOnExtensionReceiverInPrivateOperator_lv11.kt │ │ │ │ │ ├── incWithNullabilityAssertionOnExtensionReceiverInPrivateOperator_lv12.kt │ │ │ │ │ ├── incWithNullabilityAssertionOnExtensionReceiver_lv11.kt │ │ │ │ │ ├── incWithNullabilityAssertionOnExtensionReceiver_lv12.kt │ │ │ │ │ ├── mapPut.kt │ │ │ │ │ ├── nullabilityAssertionOnExtensionReceiver_lv11.kt │ │ │ │ │ ├── nullabilityAssertionOnExtensionReceiver_lv12.kt │ │ │ │ │ ├── nullabilityAssertionOnInlineFunExtensionReceiver_lv11.kt │ │ │ │ │ ├── nullabilityAssertionOnInlineFunExtensionReceiver_lv12.kt │ │ │ │ │ ├── nullabilityAssertionOnMemberExtensionReceiver_lv12.kt │ │ │ │ │ └── nullabilityAssertionOnPrivateMemberExtensionReceiver_lv12.kt │ │ │ │ └── objectMethods │ │ │ │ │ ├── cloneCallsConstructor.kt │ │ │ │ │ ├── cloneCallsSuper.kt │ │ │ │ │ ├── cloneCallsSuperAndModifies.kt │ │ │ │ │ ├── cloneHashSet.kt │ │ │ │ │ ├── cloneHierarchy.kt │ │ │ │ │ └── cloneableClassWithoutClone.kt │ │ │ ├── jdk │ │ │ │ ├── arrayList.kt │ │ │ │ ├── hashMap.kt │ │ │ │ ├── iteratingOverHashMap.kt │ │ │ │ └── kt1397.kt │ │ │ ├── jvmField │ │ │ │ ├── captureClassFields.kt │ │ │ │ ├── capturePackageFields.kt │ │ │ │ ├── checkNoAccessors.kt │ │ │ │ ├── classFieldReference.kt │ │ │ │ ├── classFieldReflection.kt │ │ │ │ ├── constructorProperty.kt │ │ │ │ ├── publicField.kt │ │ │ │ ├── simpleMemberProperty.kt │ │ │ │ ├── superCall.kt │ │ │ │ ├── superCall2.kt │ │ │ │ ├── topLevelFieldReference.kt │ │ │ │ ├── topLevelFieldReflection.kt │ │ │ │ ├── visibility.kt │ │ │ │ └── writeFieldReference.kt │ │ │ ├── jvmName │ │ │ │ ├── callableReference.kt │ │ │ │ ├── clashingErasure.kt │ │ │ │ ├── classMembers.kt │ │ │ │ ├── fakeJvmNameInJava.kt │ │ │ │ ├── fileFacades │ │ │ │ │ ├── differentFiles.kt │ │ │ │ │ ├── javaAnnotationOnFileFacade.kt │ │ │ │ │ └── simple.kt │ │ │ │ ├── functionName.kt │ │ │ │ ├── multifileClass.kt │ │ │ │ ├── multifileClassWithLocalClass.kt │ │ │ │ ├── multifileClassWithLocalGeneric.kt │ │ │ │ ├── propertyAccessorsUseSite.kt │ │ │ │ ├── propertyName.kt │ │ │ │ └── renamedFileClass.kt │ │ │ ├── jvmOverloads │ │ │ │ ├── companionObject.kt │ │ │ │ ├── defaultsNotAtEnd.kt │ │ │ │ ├── doubleParameters.kt │ │ │ │ ├── extensionMethod.kt │ │ │ │ ├── generics.kt │ │ │ │ ├── innerClass.kt │ │ │ │ ├── multipleDefaultParameters.kt │ │ │ │ ├── noRedundantVarargs.kt │ │ │ │ ├── nonDefaultParameter.kt │ │ │ │ ├── primaryConstructor.kt │ │ │ │ ├── privateClass.kt │ │ │ │ ├── secondaryConstructor.kt │ │ │ │ ├── simple.kt │ │ │ │ ├── simpleJavaCall.kt │ │ │ │ └── varargs.kt │ │ │ ├── jvmPackageName │ │ │ │ ├── metadataField.kt │ │ │ │ ├── rootPackage.kt │ │ │ │ ├── simple.kt │ │ │ │ └── withJvmName.kt │ │ │ ├── jvmStatic │ │ │ │ ├── annotations.kt │ │ │ │ ├── closure.kt │ │ │ │ ├── companionObject.kt │ │ │ │ ├── convention.kt │ │ │ │ ├── default.kt │ │ │ │ ├── enumCompanion.kt │ │ │ │ ├── explicitObject.kt │ │ │ │ ├── funAccess.kt │ │ │ │ ├── importStaticMemberFromObject.kt │ │ │ │ ├── inline.kt │ │ │ │ ├── inlinePropertyAccessors.kt │ │ │ │ ├── kt9897_static.kt │ │ │ │ ├── object.kt │ │ │ │ ├── postfixInc.kt │ │ │ │ ├── prefixInc.kt │ │ │ │ ├── privateMethod.kt │ │ │ │ ├── privateSetter.kt │ │ │ │ ├── propertyAccess.kt │ │ │ │ ├── propertyAccessorsCompanion.kt │ │ │ │ ├── propertyAccessorsObject.kt │ │ │ │ ├── propertyAsDefault.kt │ │ │ │ ├── propertyGetterDelegatesToAnother.kt │ │ │ │ ├── simple.kt │ │ │ │ └── syntheticAccessor.kt │ │ │ ├── labels │ │ │ │ ├── controlLabelClashesWithFuncitonName.kt │ │ │ │ ├── infixCallLabelling.kt │ │ │ │ ├── labeledDeclarations.kt │ │ │ │ ├── propertyAccessor.kt │ │ │ │ ├── propertyAccessorFunctionLiteral.kt │ │ │ │ ├── propertyAccessorInnerExtensionFun.kt │ │ │ │ ├── propertyAccessorObject.kt │ │ │ │ └── propertyInClassAccessor.kt │ │ │ ├── lazyCodegen │ │ │ │ ├── exceptionInFieldInitializer.kt │ │ │ │ ├── ifElse.kt │ │ │ │ ├── increment.kt │ │ │ │ ├── optimizations │ │ │ │ │ ├── negateConstantCompare.kt │ │ │ │ │ ├── negateFalse.kt │ │ │ │ │ ├── negateFalseVar.kt │ │ │ │ │ ├── negateFalseVarChain.kt │ │ │ │ │ ├── negateObjectComp.kt │ │ │ │ │ ├── negateObjectComp2.kt │ │ │ │ │ ├── negateTrue.kt │ │ │ │ │ ├── negateTrueVar.kt │ │ │ │ │ └── noOptimization.kt │ │ │ │ ├── safeAssign.kt │ │ │ │ ├── safeAssignComplex.kt │ │ │ │ ├── safeCallAndArray.kt │ │ │ │ ├── toString.kt │ │ │ │ ├── tryCatchExpression.kt │ │ │ │ └── when.kt │ │ │ ├── localClasses │ │ │ │ ├── anonymousObjectInInitializer.kt │ │ │ │ ├── anonymousObjectInParameterInitializer.kt │ │ │ │ ├── closureOfInnerLocalClass.kt │ │ │ │ ├── closureOfLambdaInLocalClass.kt │ │ │ │ ├── closureWithSelfInstantiation.kt │ │ │ │ ├── inExtensionFunction.kt │ │ │ │ ├── inExtensionProperty.kt │ │ │ │ ├── inLocalExtensionFunction.kt │ │ │ │ ├── inLocalExtensionProperty.kt │ │ │ │ ├── innerClassInLocalClass.kt │ │ │ │ ├── innerOfLocalCaptureExtensionReceiver.kt │ │ │ │ ├── kt2700.kt │ │ │ │ ├── kt2873.kt │ │ │ │ ├── kt3210.kt │ │ │ │ ├── kt3389.kt │ │ │ │ ├── kt3584.kt │ │ │ │ ├── kt4174.kt │ │ │ │ ├── localClass.kt │ │ │ │ ├── localClassCaptureExtensionReceiver.kt │ │ │ │ ├── localClassInInitializer.kt │ │ │ │ ├── localClassInParameterInitializer.kt │ │ │ │ ├── localDataClass.kt │ │ │ │ ├── localExtendsInnerAndReferencesOuterMember.kt │ │ │ │ ├── noclosure.kt │ │ │ │ ├── object.kt │ │ │ │ ├── ownClosureOfInnerLocalClass.kt │ │ │ │ └── withclosure.kt │ │ │ ├── localFunctions │ │ │ │ └── parameterAsDefaultValue.kt │ │ │ ├── mangling │ │ │ │ ├── field.kt │ │ │ │ ├── fun.kt │ │ │ │ ├── internal.kt │ │ │ │ ├── internalOverride.kt │ │ │ │ ├── internalOverrideSuperCall.kt │ │ │ │ ├── noOverrideWithJava.kt │ │ │ │ ├── publicOverride.kt │ │ │ │ └── publicOverrideSuperCall.kt │ │ │ ├── multiDecl │ │ │ │ ├── ComplexInitializer.kt │ │ │ │ ├── SimpleVals.kt │ │ │ │ ├── SimpleValsExtensions.kt │ │ │ │ ├── SimpleVarsExtensions.kt │ │ │ │ ├── UnderscoreNames.kt │ │ │ │ ├── ValCapturedInFunctionLiteral.kt │ │ │ │ ├── ValCapturedInLocalFunction.kt │ │ │ │ ├── ValCapturedInObjectLiteral.kt │ │ │ │ ├── VarCapturedInFunctionLiteral.kt │ │ │ │ ├── VarCapturedInLocalFunction.kt │ │ │ │ ├── VarCapturedInObjectLiteral.kt │ │ │ │ ├── component.kt │ │ │ │ ├── forIterator │ │ │ │ │ ├── MultiDeclFor.kt │ │ │ │ │ ├── MultiDeclForComponentExtensions.kt │ │ │ │ │ ├── MultiDeclForComponentMemberExtensions.kt │ │ │ │ │ ├── MultiDeclForComponentMemberExtensionsInExtensionFunction.kt │ │ │ │ │ ├── MultiDeclForValCaptured.kt │ │ │ │ │ └── longIterator │ │ │ │ │ │ ├── MultiDeclForComponentExtensions.kt │ │ │ │ │ │ ├── MultiDeclForComponentExtensionsValCaptured.kt │ │ │ │ │ │ ├── MultiDeclForComponentMemberExtensions.kt │ │ │ │ │ │ └── MultiDeclForComponentMemberExtensionsInExtensionFunction.kt │ │ │ │ ├── forRange │ │ │ │ │ ├── MultiDeclFor.kt │ │ │ │ │ ├── MultiDeclForComponentExtensions.kt │ │ │ │ │ ├── MultiDeclForComponentMemberExtensions.kt │ │ │ │ │ ├── MultiDeclForComponentMemberExtensionsInExtensionFunction.kt │ │ │ │ │ ├── MultiDeclForValCaptured.kt │ │ │ │ │ ├── UnderscoreNames.kt │ │ │ │ │ ├── UnderscoreNamesDontCallComponent.kt │ │ │ │ │ ├── explicitRangeTo │ │ │ │ │ │ ├── MultiDeclFor.kt │ │ │ │ │ │ ├── MultiDeclForComponentExtensions.kt │ │ │ │ │ │ ├── MultiDeclForComponentMemberExtensions.kt │ │ │ │ │ │ ├── MultiDeclForComponentMemberExtensionsInExtensionFunction.kt │ │ │ │ │ │ ├── MultiDeclForValCaptured.kt │ │ │ │ │ │ ├── int │ │ │ │ │ │ │ ├── MultiDeclForComponentExtensions.kt │ │ │ │ │ │ │ ├── MultiDeclForComponentExtensionsValCaptured.kt │ │ │ │ │ │ │ ├── MultiDeclForComponentMemberExtensions.kt │ │ │ │ │ │ │ └── MultiDeclForComponentMemberExtensionsInExtensionFunction.kt │ │ │ │ │ │ └── long │ │ │ │ │ │ │ ├── MultiDeclForComponentExtensions.kt │ │ │ │ │ │ │ ├── MultiDeclForComponentExtensionsValCaptured.kt │ │ │ │ │ │ │ ├── MultiDeclForComponentMemberExtensions.kt │ │ │ │ │ │ │ └── MultiDeclForComponentMemberExtensionsInExtensionFunction.kt │ │ │ │ │ ├── explicitRangeToWithDot │ │ │ │ │ │ ├── MultiDeclFor.kt │ │ │ │ │ │ ├── MultiDeclForComponentExtensions.kt │ │ │ │ │ │ ├── MultiDeclForComponentMemberExtensions.kt │ │ │ │ │ │ ├── MultiDeclForComponentMemberExtensionsInExtensionFunction.kt │ │ │ │ │ │ ├── MultiDeclForValCaptured.kt │ │ │ │ │ │ ├── int │ │ │ │ │ │ │ ├── MultiDeclForComponentExtensions.kt │ │ │ │ │ │ │ ├── MultiDeclForComponentExtensionsValCaptured.kt │ │ │ │ │ │ │ ├── MultiDeclForComponentMemberExtensions.kt │ │ │ │ │ │ │ └── MultiDeclForComponentMemberExtensionsInExtensionFunction.kt │ │ │ │ │ │ └── long │ │ │ │ │ │ │ ├── MultiDeclForComponentExtensions.kt │ │ │ │ │ │ │ ├── MultiDeclForComponentExtensionsValCaptured.kt │ │ │ │ │ │ │ ├── MultiDeclForComponentMemberExtensions.kt │ │ │ │ │ │ │ └── MultiDeclForComponentMemberExtensionsInExtensionFunction.kt │ │ │ │ │ ├── int │ │ │ │ │ │ ├── MultiDeclForComponentExtensions.kt │ │ │ │ │ │ ├── MultiDeclForComponentExtensionsValCaptured.kt │ │ │ │ │ │ ├── MultiDeclForComponentMemberExtensions.kt │ │ │ │ │ │ └── MultiDeclForComponentMemberExtensionsInExtensionFunction.kt │ │ │ │ │ └── long │ │ │ │ │ │ ├── MultiDeclForComponentExtensions.kt │ │ │ │ │ │ ├── MultiDeclForComponentExtensionsValCaptured.kt │ │ │ │ │ │ ├── MultiDeclForComponentMemberExtensions.kt │ │ │ │ │ │ └── MultiDeclForComponentMemberExtensionsInExtensionFunction.kt │ │ │ │ ├── kt9828_hashMap.kt │ │ │ │ └── returnInElvis.kt │ │ │ ├── multifileClasses │ │ │ │ ├── callMultifileClassMemberFromOtherPackage.kt │ │ │ │ ├── callsToMultifileClassFromOtherPackage.kt │ │ │ │ ├── constPropertyReferenceFromMultifileClass.kt │ │ │ │ ├── inlineMultifileClassMemberFromOtherPackage.kt │ │ │ │ ├── kt16077.kt │ │ │ │ ├── multifileClassPartsInitialization.kt │ │ │ │ ├── multifileClassWith2Files.kt │ │ │ │ ├── multifileClassWithCrossCall.kt │ │ │ │ ├── multifileClassWithPrivate.kt │ │ │ │ ├── optimized │ │ │ │ │ ├── callableRefToFun.kt │ │ │ │ │ ├── callableRefToInternalValInline.kt │ │ │ │ │ ├── callableRefToPrivateVal.kt │ │ │ │ │ ├── callableRefToVal.kt │ │ │ │ │ ├── calls.kt │ │ │ │ │ ├── deferredStaticInitialization.kt │ │ │ │ │ ├── delegatedVal.kt │ │ │ │ │ ├── initializePrivateVal.kt │ │ │ │ │ ├── initializePublicVal.kt │ │ │ │ │ ├── overlappingFuns.kt │ │ │ │ │ ├── overlappingVals.kt │ │ │ │ │ ├── valAccessFromInlineFunCalledFromJava.kt │ │ │ │ │ ├── valAccessFromInlinedToDifferentPackage.kt │ │ │ │ │ └── valWithAccessor.kt │ │ │ │ ├── privateConstVal.kt │ │ │ │ └── samePartNameDifferentFacades.kt │ │ │ ├── nonLocalReturns │ │ │ │ ├── kt6895.kt │ │ │ │ ├── kt9644let.kt │ │ │ │ ├── localReturnInsideProperty.kt │ │ │ │ ├── use.kt │ │ │ │ └── useWithException.kt │ │ │ ├── nullCheckOptimization │ │ │ │ ├── isNullable.kt │ │ │ │ ├── kt7774.kt │ │ │ │ └── trivialInstanceOf.kt │ │ │ ├── objectIntrinsics │ │ │ │ └── objects.kt │ │ │ ├── objects │ │ │ │ ├── anonymousObjectPropertyInitialization.kt │ │ │ │ ├── anonymousObjectReturnsFromTopLevelFun.kt │ │ │ │ ├── classCallsProtectedInheritedByCompanion.kt │ │ │ │ ├── classCompanion.kt │ │ │ │ ├── flist.kt │ │ │ │ ├── initializationOrder.kt │ │ │ │ ├── interfaceCompanion.kt │ │ │ │ ├── interfaceCompanionObjectReference.kt │ │ │ │ ├── kt1047.kt │ │ │ │ ├── kt11117.kt │ │ │ │ ├── kt1136.kt │ │ │ │ ├── kt1186.kt │ │ │ │ ├── kt1600.kt │ │ │ │ ├── kt1737.kt │ │ │ │ ├── kt18982.kt │ │ │ │ ├── kt2398.kt │ │ │ │ ├── kt2663.kt │ │ │ │ ├── kt2663_2.kt │ │ │ │ ├── kt2675.kt │ │ │ │ ├── kt2719.kt │ │ │ │ ├── kt2822.kt │ │ │ │ ├── kt3238.kt │ │ │ │ ├── kt3684.kt │ │ │ │ ├── kt4086.kt │ │ │ │ ├── kt535.kt │ │ │ │ ├── kt560.kt │ │ │ │ ├── kt694.kt │ │ │ │ ├── localFunctionInObjectInitializer_kt4516.kt │ │ │ │ ├── methodOnObject.kt │ │ │ │ ├── nestedDerivedClassCallsProtectedFromCompanion.kt │ │ │ │ ├── nestedObjectWithSuperclass.kt │ │ │ │ ├── object.kt │ │ │ │ ├── objectExtendsInnerAndReferencesOuterMember.kt │ │ │ │ ├── objectInLocalAnonymousObject.kt │ │ │ │ ├── objectInitialization_kt5523.kt │ │ │ │ ├── objectLiteral.kt │ │ │ │ ├── objectLiteralInClosure.kt │ │ │ │ ├── objectVsClassInitialization_kt5291.kt │ │ │ │ ├── objectWithSuperclass.kt │ │ │ │ ├── objectWithSuperclassAndTrait.kt │ │ │ │ ├── privateExtensionFromInitializer_kt4543.kt │ │ │ │ ├── privateFunctionFromClosureInInitializer_kt5582.kt │ │ │ │ ├── receiverInConstructor.kt │ │ │ │ ├── safeAccess.kt │ │ │ │ ├── selfReferenceToCompanionObjectInAnonymousObjectInSuperConstructorCall.kt │ │ │ │ ├── selfReferenceToCompanionObjectInInlineLambdaInConstructorBody.kt │ │ │ │ ├── selfReferenceToCompanionObjectInInlineLambdaInSuperConstructorCall.kt │ │ │ │ ├── selfReferenceToCompanionObjectInLambdaInSuperConstructorCall.kt │ │ │ │ ├── selfReferenceToInterfaceCompanionObjectInAnonymousObjectInSuperConstructorCall.kt │ │ │ │ ├── selfReferenceToInterfaceCompanionObjectInInlineLambdaInConstructorBody.kt │ │ │ │ ├── selfReferenceToInterfaceCompanionObjectInInlineLambdaInSuperConstructorCall.kt │ │ │ │ ├── selfReferenceToInterfaceCompanionObjectInLambdaInSuperConstructorCall.kt │ │ │ │ ├── selfReferenceToObjectInAnonymousObjectInSuperConstructorCall.kt │ │ │ │ ├── selfReferenceToObjectInInlineLambdaInConstructorBody.kt │ │ │ │ ├── selfReferenceToObjectInInlineLambdaInSuperConstructorCall.kt │ │ │ │ ├── selfReferenceToObjectInLambdaInSuperConstructorCall.kt │ │ │ │ ├── simpleObject.kt │ │ │ │ ├── thisInConstructor.kt │ │ │ │ ├── useAnonymousObjectAsIterator.kt │ │ │ │ ├── useImportedMember.kt │ │ │ │ └── useImportedMemberFromCompanion.kt │ │ │ ├── operatorConventions │ │ │ │ ├── annotatedAssignment.kt │ │ │ │ ├── assignmentOperations.kt │ │ │ │ ├── augmentedAssignmentInInitializer.kt │ │ │ │ ├── augmentedAssignmentWithArrayLHS.kt │ │ │ │ ├── compareTo │ │ │ │ │ ├── boolean.kt │ │ │ │ │ ├── comparable.kt │ │ │ │ │ ├── doubleInt.kt │ │ │ │ │ ├── doubleLong.kt │ │ │ │ │ ├── extensionArray.kt │ │ │ │ │ ├── extensionObject.kt │ │ │ │ │ ├── intDouble.kt │ │ │ │ │ ├── intLong.kt │ │ │ │ │ ├── longDouble.kt │ │ │ │ │ └── longInt.kt │ │ │ │ ├── incDecOnObject.kt │ │ │ │ ├── infixFunctionOverBuiltinMember.kt │ │ │ │ ├── kt14201.kt │ │ │ │ ├── kt14201_2.kt │ │ │ │ ├── kt20387.kt │ │ │ │ ├── kt4152.kt │ │ │ │ ├── kt4987.kt │ │ │ │ ├── nestedMaps.kt │ │ │ │ ├── operatorSetLambda.kt │ │ │ │ ├── overloadedSet.kt │ │ │ │ ├── percentAsModOnBigIntegerWithoutRem.kt │ │ │ │ ├── plusExplicit.kt │ │ │ │ ├── remAssignmentOperation.kt │ │ │ │ └── remOverModOperation.kt │ │ │ ├── optimizations │ │ │ │ └── kt20844.kt │ │ │ ├── package │ │ │ │ ├── boxPrimitiveTypeInClinit.kt │ │ │ │ ├── checkCast.kt │ │ │ │ ├── incrementProperty.kt │ │ │ │ ├── initializationOrder.kt │ │ │ │ ├── invokespecial.kt │ │ │ │ ├── mainInFiles.kt │ │ │ │ ├── nullablePrimitiveNoFieldInitializer.kt │ │ │ │ ├── packageLocalClassNotImportedWithDefaultImport.kt │ │ │ │ ├── packageQualifiedMethod.kt │ │ │ │ ├── privateMembersInImportList.kt │ │ │ │ └── privateTopLevelPropAndVarInInner.kt │ │ │ ├── platformTypes │ │ │ │ └── primitives │ │ │ │ │ ├── assign.kt │ │ │ │ │ ├── compareTo.kt │ │ │ │ │ ├── dec.kt │ │ │ │ │ ├── div.kt │ │ │ │ │ ├── equals.kt │ │ │ │ │ ├── equalsNull_lv11.kt │ │ │ │ │ ├── equalsNull_lv12.kt │ │ │ │ │ ├── equalsNull_withExplicitFlag.kt │ │ │ │ │ ├── hashCode.kt │ │ │ │ │ ├── identityEquals.kt │ │ │ │ │ ├── inc.kt │ │ │ │ │ ├── minus.kt │ │ │ │ │ ├── mod.kt │ │ │ │ │ ├── not.kt │ │ │ │ │ ├── notEquals.kt │ │ │ │ │ ├── plus.kt │ │ │ │ │ ├── plusAssign.kt │ │ │ │ │ ├── rangeTo.kt │ │ │ │ │ ├── times.kt │ │ │ │ │ ├── toShort.kt │ │ │ │ │ ├── toString.kt │ │ │ │ │ ├── unaryMinus.kt │ │ │ │ │ └── unaryPlus.kt │ │ │ ├── primitiveTypes │ │ │ │ ├── comparisonWithNaN.kt │ │ │ │ ├── comparisonWithNullCallsFun.kt │ │ │ │ ├── conversions.kt │ │ │ │ ├── ea35963.kt │ │ │ │ ├── equalityWithObject │ │ │ │ │ ├── boxedEqPrimitiveEvaluationOrder.kt │ │ │ │ │ ├── boxedLongEqualsLong.kt │ │ │ │ │ ├── generated │ │ │ │ │ │ ├── boxedEqPrimitiveBoolean.kt │ │ │ │ │ │ ├── boxedEqPrimitiveByte.kt │ │ │ │ │ │ ├── boxedEqPrimitiveChar.kt │ │ │ │ │ │ ├── boxedEqPrimitiveInt.kt │ │ │ │ │ │ ├── boxedEqPrimitiveLong.kt │ │ │ │ │ │ ├── boxedEqPrimitiveShort.kt │ │ │ │ │ │ ├── primitiveEqBoxedBoolean.kt │ │ │ │ │ │ ├── primitiveEqBoxedByte.kt │ │ │ │ │ │ ├── primitiveEqBoxedChar.kt │ │ │ │ │ │ ├── primitiveEqBoxedInt.kt │ │ │ │ │ │ ├── primitiveEqBoxedLong.kt │ │ │ │ │ │ ├── primitiveEqBoxedShort.kt │ │ │ │ │ │ ├── primitiveEqObjectBoolean.kt │ │ │ │ │ │ ├── primitiveEqObjectByte.kt │ │ │ │ │ │ ├── primitiveEqObjectChar.kt │ │ │ │ │ │ ├── primitiveEqObjectInt.kt │ │ │ │ │ │ ├── primitiveEqObjectLong.kt │ │ │ │ │ │ └── primitiveEqObjectShort.kt │ │ │ │ │ ├── objectWithAsymmetricEqualsEqPrimitive.kt │ │ │ │ │ └── whenNullableBoxed.kt │ │ │ │ ├── equalsHashCodeToString.kt │ │ │ │ ├── incrementByteCharShort.kt │ │ │ │ ├── intLiteralIsNotNull.kt │ │ │ │ ├── kt1054.kt │ │ │ │ ├── kt1055.kt │ │ │ │ ├── kt1093.kt │ │ │ │ ├── kt13023.kt │ │ │ │ ├── kt14868.kt │ │ │ │ ├── kt1508.kt │ │ │ │ ├── kt1634.kt │ │ │ │ ├── kt16732.kt │ │ │ │ ├── kt2251.kt │ │ │ │ ├── kt2269.kt │ │ │ │ ├── kt2275.kt │ │ │ │ ├── kt239.kt │ │ │ │ ├── kt242.kt │ │ │ │ ├── kt243.kt │ │ │ │ ├── kt248.kt │ │ │ │ ├── kt2768.kt │ │ │ │ ├── kt2794.kt │ │ │ │ ├── kt3078.kt │ │ │ │ ├── kt3517.kt │ │ │ │ ├── kt3576.kt │ │ │ │ ├── kt3613.kt │ │ │ │ ├── kt4097.kt │ │ │ │ ├── kt4098.kt │ │ │ │ ├── kt4210.kt │ │ │ │ ├── kt4251.kt │ │ │ │ ├── kt446.kt │ │ │ │ ├── kt518.kt │ │ │ │ ├── kt6590_identityEquals.kt │ │ │ │ ├── kt665.kt │ │ │ │ ├── kt684.kt │ │ │ │ ├── kt711.kt │ │ │ │ ├── kt737.kt │ │ │ │ ├── kt752.kt │ │ │ │ ├── kt753.kt │ │ │ │ ├── kt756.kt │ │ │ │ ├── kt757.kt │ │ │ │ ├── kt828.kt │ │ │ │ ├── kt877.kt │ │ │ │ ├── kt882.kt │ │ │ │ ├── kt887.kt │ │ │ │ ├── kt935.kt │ │ │ │ ├── nullAsNullableIntIsNull.kt │ │ │ │ ├── nullableCharBoolean.kt │ │ │ │ ├── number.kt │ │ │ │ ├── rangeTo.kt │ │ │ │ ├── substituteIntForGeneric.kt │ │ │ │ └── unboxComparable.kt │ │ │ ├── private │ │ │ │ ├── arrayConvention.kt │ │ │ │ └── kt9855.kt │ │ │ ├── privateConstructors │ │ │ │ ├── base.kt │ │ │ │ ├── captured.kt │ │ │ │ ├── companion.kt │ │ │ │ ├── inline.kt │ │ │ │ ├── inner.kt │ │ │ │ ├── kt4860.kt │ │ │ │ ├── secondary.kt │ │ │ │ ├── synthetic.kt │ │ │ │ ├── withArguments.kt │ │ │ │ ├── withDefault.kt │ │ │ │ ├── withLinkedClasses.kt │ │ │ │ ├── withLinkedObjects.kt │ │ │ │ └── withVarargs.kt │ │ │ ├── properties │ │ │ │ ├── accessToPrivateProperty.kt │ │ │ │ ├── accessToPrivateSetter.kt │ │ │ │ ├── augmentedAssignmentsAndIncrements.kt │ │ │ │ ├── classArtificialFieldInsideNested.kt │ │ │ │ ├── classFieldInsideLambda.kt │ │ │ │ ├── classFieldInsideLocalInSetter.kt │ │ │ │ ├── classFieldInsideNested.kt │ │ │ │ ├── classObjectProperties.kt │ │ │ │ ├── classPrivateArtificialFieldInsideNested.kt │ │ │ │ ├── collectionSize.kt │ │ │ │ ├── commonPropertiesKJK.kt │ │ │ │ ├── companionFieldInsideLambda.kt │ │ │ │ ├── companionObjectAccessor.kt │ │ │ │ ├── companionObjectPropertiesFromJava.kt │ │ │ │ ├── companionPrivateField.kt │ │ │ │ ├── companionPrivateFieldInsideLambda.kt │ │ │ │ ├── const │ │ │ │ │ ├── constFlags.kt │ │ │ │ │ ├── constValInAnnotationDefault.kt │ │ │ │ │ └── interfaceCompanion.kt │ │ │ │ ├── field.kt │ │ │ │ ├── fieldInClass.kt │ │ │ │ ├── fieldInsideField.kt │ │ │ │ ├── fieldInsideLambda.kt │ │ │ │ ├── fieldInsideNested.kt │ │ │ │ ├── fieldSimple.kt │ │ │ │ ├── generalAccess.kt │ │ │ │ ├── javaPropertyBoxedGetter.kt │ │ │ │ ├── javaPropertyBoxedSetter.kt │ │ │ │ ├── kt10715.kt │ │ │ │ ├── kt10729.kt │ │ │ │ ├── kt1159.kt │ │ │ │ ├── kt1165.kt │ │ │ │ ├── kt1168.kt │ │ │ │ ├── kt1170.kt │ │ │ │ ├── kt12200.kt │ │ │ │ ├── kt1398.kt │ │ │ │ ├── kt1417.kt │ │ │ │ ├── kt1482_2279.kt │ │ │ │ ├── kt1714.kt │ │ │ │ ├── kt1714_minimal.kt │ │ │ │ ├── kt1892.kt │ │ │ │ ├── kt2331.kt │ │ │ │ ├── kt257.kt │ │ │ │ ├── kt2655.kt │ │ │ │ ├── kt2786.kt │ │ │ │ ├── kt2892.kt │ │ │ │ ├── kt3118.kt │ │ │ │ ├── kt3524.kt │ │ │ │ ├── kt3551.kt │ │ │ │ ├── kt3556.kt │ │ │ │ ├── kt3930.kt │ │ │ │ ├── kt4140.kt │ │ │ │ ├── kt4252.kt │ │ │ │ ├── kt4252_2.kt │ │ │ │ ├── kt4340.kt │ │ │ │ ├── kt4373.kt │ │ │ │ ├── kt4383.kt │ │ │ │ ├── kt613.kt │ │ │ │ ├── kt8928.kt │ │ │ │ ├── kt9603.kt │ │ │ │ ├── lateinit │ │ │ │ │ ├── accessor.kt │ │ │ │ │ ├── accessorException.kt │ │ │ │ │ ├── exceptionField.kt │ │ │ │ │ ├── exceptionGetter.kt │ │ │ │ │ ├── isInitializedAndDeinitialize │ │ │ │ │ │ ├── emptyLhs.kt │ │ │ │ │ │ ├── innerSubclass.kt │ │ │ │ │ │ ├── propertyImportedFromObject.kt │ │ │ │ │ │ ├── sideEffects.kt │ │ │ │ │ │ ├── simpleIsInitialized.kt │ │ │ │ │ │ └── topLevelProperty.kt │ │ │ │ │ ├── local │ │ │ │ │ │ ├── capturedLocalLateinit.kt │ │ │ │ │ │ ├── localLateinit.kt │ │ │ │ │ │ ├── uninitializedCapturedMemberAccess.kt │ │ │ │ │ │ ├── uninitializedCapturedRead.kt │ │ │ │ │ │ ├── uninitializedMemberAccess.kt │ │ │ │ │ │ └── uninitializedRead.kt │ │ │ │ │ ├── override.kt │ │ │ │ │ ├── overrideException.kt │ │ │ │ │ ├── privateSetter.kt │ │ │ │ │ ├── privateSetterFromLambda.kt │ │ │ │ │ ├── privateSetterViaSubclass.kt │ │ │ │ │ ├── simpleVar.kt │ │ │ │ │ ├── topLevel │ │ │ │ │ │ ├── accessorException.kt │ │ │ │ │ │ ├── accessorForTopLevelLateinit.kt │ │ │ │ │ │ ├── topLevelLateinit.kt │ │ │ │ │ │ ├── uninitializedMemberAccess.kt │ │ │ │ │ │ └── uninitializedRead.kt │ │ │ │ │ └── visibility.kt │ │ │ │ ├── primitiveOverrideDefaultAccessor.kt │ │ │ │ ├── primitiveOverrideDelegateAccessor.kt │ │ │ │ ├── privatePropertyInConstructor.kt │ │ │ │ ├── privatePropertyWithoutBackingField.kt │ │ │ │ ├── protectedJavaFieldInInline.kt │ │ │ │ ├── protectedJavaProperty.kt │ │ │ │ ├── protectedJavaPropertyInCompanion.kt │ │ │ │ ├── substituteJavaSuperField.kt │ │ │ │ ├── twoAnnotatedExtensionPropertiesWithoutBackingFields.kt │ │ │ │ └── typeInferredFromGetter.kt │ │ │ ├── publishedApi │ │ │ │ ├── noMangling.kt │ │ │ │ ├── simple.kt │ │ │ │ └── topLevel.kt │ │ │ ├── ranges │ │ │ │ ├── contains │ │ │ │ │ ├── comparisonWithRangeBoundEliminated.kt │ │ │ │ │ ├── evaluationOrderForCollection.kt │ │ │ │ │ ├── evaluationOrderForComparableRange.kt │ │ │ │ │ ├── evaluationOrderForDownTo.kt │ │ │ │ │ ├── evaluationOrderForRangeLiteral.kt │ │ │ │ │ ├── generated │ │ │ │ │ │ ├── arrayIndices.kt │ │ │ │ │ │ ├── charDownTo.kt │ │ │ │ │ │ ├── charRangeLiteral.kt │ │ │ │ │ │ ├── charSequenceIndices.kt │ │ │ │ │ │ ├── charUntil.kt │ │ │ │ │ │ ├── collectionIndices.kt │ │ │ │ │ │ ├── doubleRangeLiteral.kt │ │ │ │ │ │ ├── floatRangeLiteral.kt │ │ │ │ │ │ ├── intDownTo.kt │ │ │ │ │ │ ├── intRangeLiteral.kt │ │ │ │ │ │ ├── intUntil.kt │ │ │ │ │ │ ├── longDownTo.kt │ │ │ │ │ │ ├── longRangeLiteral.kt │ │ │ │ │ │ └── longUntil.kt │ │ │ │ │ ├── inArray.kt │ │ │ │ │ ├── inCharSequence.kt │ │ │ │ │ ├── inComparableRange.kt │ │ │ │ │ ├── inCustomObjectRange.kt │ │ │ │ │ ├── inDoubleRangeLiteralVsComparableRangeLiteral.kt │ │ │ │ │ ├── inExtensionRange.kt │ │ │ │ │ ├── inIntRange.kt │ │ │ │ │ ├── inIterable.kt │ │ │ │ │ ├── inNonMatchingRange.kt │ │ │ │ │ ├── inOptimizableDoubleRange.kt │ │ │ │ │ ├── inOptimizableFloatRange.kt │ │ │ │ │ ├── inOptimizableIntRange.kt │ │ │ │ │ ├── inOptimizableLongRange.kt │ │ │ │ │ ├── inPrimitiveProgression.kt │ │ │ │ │ ├── inPrimitiveRange.kt │ │ │ │ │ ├── inRangeLiteralComposition.kt │ │ │ │ │ ├── inRangeWithCustomContains.kt │ │ │ │ │ ├── inRangeWithImplicitReceiver.kt │ │ │ │ │ ├── inRangeWithNonmatchingArguments.kt │ │ │ │ │ ├── inRangeWithSmartCast.kt │ │ │ │ │ ├── inUntil.kt │ │ │ │ │ ├── kt20106.kt │ │ │ │ │ ├── nullableInPrimitiveRange.kt │ │ │ │ │ └── rangeContainsString.kt │ │ │ │ ├── expression │ │ │ │ │ ├── emptyDownto.kt │ │ │ │ │ ├── emptyRange.kt │ │ │ │ │ ├── inexactDownToMinValue.kt │ │ │ │ │ ├── inexactSteppedDownTo.kt │ │ │ │ │ ├── inexactSteppedRange.kt │ │ │ │ │ ├── inexactToMaxValue.kt │ │ │ │ │ ├── maxValueMinusTwoToMaxValue.kt │ │ │ │ │ ├── maxValueToMaxValue.kt │ │ │ │ │ ├── maxValueToMinValue.kt │ │ │ │ │ ├── oneElementDownTo.kt │ │ │ │ │ ├── oneElementRange.kt │ │ │ │ │ ├── openRange.kt │ │ │ │ │ ├── progressionDownToMinValue.kt │ │ │ │ │ ├── progressionMaxValueMinusTwoToMaxValue.kt │ │ │ │ │ ├── progressionMaxValueToMaxValue.kt │ │ │ │ │ ├── progressionMaxValueToMinValue.kt │ │ │ │ │ ├── progressionMinValueToMinValue.kt │ │ │ │ │ ├── reversedBackSequence.kt │ │ │ │ │ ├── reversedEmptyBackSequence.kt │ │ │ │ │ ├── reversedEmptyRange.kt │ │ │ │ │ ├── reversedInexactSteppedDownTo.kt │ │ │ │ │ ├── reversedRange.kt │ │ │ │ │ ├── reversedSimpleSteppedRange.kt │ │ │ │ │ ├── simpleDownTo.kt │ │ │ │ │ ├── simpleRange.kt │ │ │ │ │ ├── simpleRangeWithNonConstantEnds.kt │ │ │ │ │ ├── simpleSteppedDownTo.kt │ │ │ │ │ └── simpleSteppedRange.kt │ │ │ │ ├── forByteProgressionWithIntIncrement.kt │ │ │ │ ├── forInDownTo │ │ │ │ │ ├── forIntInDownTo.kt │ │ │ │ │ ├── forIntInNonOptimizedDownTo.kt │ │ │ │ │ ├── forLongInDownTo.kt │ │ │ │ │ └── forNullableIntInDownTo.kt │ │ │ │ ├── forInIndices │ │ │ │ │ ├── forInCharSequenceIndices.kt │ │ │ │ │ ├── forInCollectionImplicitReceiverIndices.kt │ │ │ │ │ ├── forInCollectionIndices.kt │ │ │ │ │ ├── forInNonOptimizedIndices.kt │ │ │ │ │ ├── forInObjectArrayIndices.kt │ │ │ │ │ ├── forInPrimitiveArrayIndices.kt │ │ │ │ │ ├── forNullableIntInArrayIndices.kt │ │ │ │ │ ├── forNullableIntInCollectionIndices.kt │ │ │ │ │ ├── indexOfLast.kt │ │ │ │ │ ├── kt12983_forInGenericArrayIndices.kt │ │ │ │ │ ├── kt12983_forInGenericCollectionIndices.kt │ │ │ │ │ ├── kt12983_forInSpecificArrayIndices.kt │ │ │ │ │ ├── kt12983_forInSpecificCollectionIndices.kt │ │ │ │ │ ├── kt13241_Array.kt │ │ │ │ │ ├── kt13241_CharSequence.kt │ │ │ │ │ └── kt13241_Collection.kt │ │ │ │ ├── forInRangeLiteralWithMixedTypeBounds.kt │ │ │ │ ├── forInRangeToConstWithOverflow.kt │ │ │ │ ├── forInRangeWithImplicitReceiver.kt │ │ │ │ ├── forInUntil │ │ │ │ │ ├── forInUntilChar.kt │ │ │ │ │ ├── forInUntilChar0.kt │ │ │ │ │ ├── forInUntilInt.kt │ │ │ │ │ ├── forInUntilLesserInt.kt │ │ │ │ │ ├── forInUntilLong.kt │ │ │ │ │ ├── forInUntilMaxint.kt │ │ │ │ │ ├── forInUntilMinint.kt │ │ │ │ │ ├── forInUntilMinlong.kt │ │ │ │ │ └── forIntInIntUntilSmartcastInt.kt │ │ │ │ ├── forIntRange.kt │ │ │ │ ├── forNullableIntInRangeWithImplicitReceiver.kt │ │ │ │ ├── literal │ │ │ │ │ ├── emptyDownto.kt │ │ │ │ │ ├── emptyRange.kt │ │ │ │ │ ├── inexactDownToMinValue.kt │ │ │ │ │ ├── inexactSteppedDownTo.kt │ │ │ │ │ ├── inexactSteppedRange.kt │ │ │ │ │ ├── inexactToMaxValue.kt │ │ │ │ │ ├── maxValueMinusTwoToMaxValue.kt │ │ │ │ │ ├── maxValueToMaxValue.kt │ │ │ │ │ ├── maxValueToMinValue.kt │ │ │ │ │ ├── oneElementDownTo.kt │ │ │ │ │ ├── oneElementRange.kt │ │ │ │ │ ├── openRange.kt │ │ │ │ │ ├── progressionDownToMinValue.kt │ │ │ │ │ ├── progressionMaxValueMinusTwoToMaxValue.kt │ │ │ │ │ ├── progressionMaxValueToMaxValue.kt │ │ │ │ │ ├── progressionMaxValueToMinValue.kt │ │ │ │ │ ├── progressionMinValueToMinValue.kt │ │ │ │ │ ├── reversedBackSequence.kt │ │ │ │ │ ├── reversedEmptyBackSequence.kt │ │ │ │ │ ├── reversedEmptyRange.kt │ │ │ │ │ ├── reversedInexactSteppedDownTo.kt │ │ │ │ │ ├── reversedRange.kt │ │ │ │ │ ├── reversedSimpleSteppedRange.kt │ │ │ │ │ ├── simpleDownTo.kt │ │ │ │ │ ├── simpleRange.kt │ │ │ │ │ ├── simpleRangeWithNonConstantEnds.kt │ │ │ │ │ ├── simpleSteppedDownTo.kt │ │ │ │ │ └── simpleSteppedRange.kt │ │ │ │ ├── multiAssignmentIterationOverIntRange.kt │ │ │ │ ├── nullableLoopParameter │ │ │ │ │ ├── progressionExpression.kt │ │ │ │ │ ├── rangeExpression.kt │ │ │ │ │ └── rangeLiteral.kt │ │ │ │ └── safeCallRangeTo.kt │ │ │ ├── reflection │ │ │ │ ├── annotations │ │ │ │ │ ├── annotationRetentionAnnotation.kt │ │ │ │ │ ├── annotationsOnJavaMembers.kt │ │ │ │ │ ├── findAnnotation.kt │ │ │ │ │ ├── openSuspendFun.kt │ │ │ │ │ ├── privateAnnotation.kt │ │ │ │ │ ├── propertyAccessors.kt │ │ │ │ │ ├── propertyWithoutBackingField.kt │ │ │ │ │ ├── retentions.kt │ │ │ │ │ ├── simpleClassAnnotation.kt │ │ │ │ │ ├── simpleConstructorAnnotation.kt │ │ │ │ │ ├── simpleFunAnnotation.kt │ │ │ │ │ ├── simpleParamAnnotation.kt │ │ │ │ │ └── simpleValAnnotation.kt │ │ │ │ ├── call │ │ │ │ │ ├── bound │ │ │ │ │ │ ├── companionObjectPropertyAccessors.kt │ │ │ │ │ │ ├── extensionFunction.kt │ │ │ │ │ │ ├── extensionPropertyAccessors.kt │ │ │ │ │ │ ├── innerClassConstructor.kt │ │ │ │ │ │ ├── javaInstanceField.kt │ │ │ │ │ │ ├── javaInstanceMethod.kt │ │ │ │ │ │ ├── jvmStaticCompanionObjectPropertyAccessors.kt │ │ │ │ │ │ ├── jvmStaticObjectFunction.kt │ │ │ │ │ │ ├── jvmStaticObjectPropertyAccessors.kt │ │ │ │ │ │ ├── memberFunction.kt │ │ │ │ │ │ ├── memberPropertyAccessors.kt │ │ │ │ │ │ ├── objectFunction.kt │ │ │ │ │ │ └── objectPropertyAccessors.kt │ │ │ │ │ ├── callInstanceJavaMethod.kt │ │ │ │ │ ├── callPrivateJavaMethod.kt │ │ │ │ │ ├── callStaticJavaMethod.kt │ │ │ │ │ ├── cannotCallEnumConstructor.kt │ │ │ │ │ ├── disallowNullValueForNotNullField.kt │ │ │ │ │ ├── equalsHashCodeToString.kt │ │ │ │ │ ├── exceptionHappened.kt │ │ │ │ │ ├── fakeOverride.kt │ │ │ │ │ ├── fakeOverrideSubstituted.kt │ │ │ │ │ ├── incorrectNumberOfArguments.kt │ │ │ │ │ ├── innerClassConstructor.kt │ │ │ │ │ ├── jvmStatic.kt │ │ │ │ │ ├── jvmStaticInObjectIncorrectReceiver.kt │ │ │ │ │ ├── localClassMember.kt │ │ │ │ │ ├── memberOfGenericClass.kt │ │ │ │ │ ├── privateProperty.kt │ │ │ │ │ ├── propertyAccessors.kt │ │ │ │ │ ├── propertyGetterAndGetFunctionDifferentReturnType.kt │ │ │ │ │ ├── protectedMembers.kt │ │ │ │ │ ├── returnUnit.kt │ │ │ │ │ ├── simpleConstructor.kt │ │ │ │ │ ├── simpleMemberFunction.kt │ │ │ │ │ └── simpleTopLevelFunctions.kt │ │ │ │ ├── callBy │ │ │ │ │ ├── boundExtensionFunction.kt │ │ │ │ │ ├── boundExtensionPropertyAcessor.kt │ │ │ │ │ ├── boundJvmStaticInObject.kt │ │ │ │ │ ├── companionObject.kt │ │ │ │ │ ├── defaultAndNonDefaultIntertwined.kt │ │ │ │ │ ├── extensionFunction.kt │ │ │ │ │ ├── jvmStaticInCompanionObject.kt │ │ │ │ │ ├── jvmStaticInObject.kt │ │ │ │ │ ├── manyArgumentsNoneDefaultConstructor.kt │ │ │ │ │ ├── manyArgumentsNoneDefaultFunction.kt │ │ │ │ │ ├── manyArgumentsOnlyOneDefault.kt │ │ │ │ │ ├── manyMaskArguments.kt │ │ │ │ │ ├── nonDefaultParameterOmitted.kt │ │ │ │ │ ├── nullValue.kt │ │ │ │ │ ├── ordinaryMethodIsInvokedWhenNoDefaultValuesAreUsed.kt │ │ │ │ │ ├── primitiveDefaultValues.kt │ │ │ │ │ ├── privateMemberFunction.kt │ │ │ │ │ ├── simpleConstructor.kt │ │ │ │ │ ├── simpleMemberFunciton.kt │ │ │ │ │ └── simpleTopLevelFunction.kt │ │ │ │ ├── classLiterals │ │ │ │ │ ├── annotationClassLiteral.kt │ │ │ │ │ ├── arrays.kt │ │ │ │ │ ├── builtinClassLiterals.kt │ │ │ │ │ ├── genericArrays.kt │ │ │ │ │ ├── genericClass.kt │ │ │ │ │ ├── reifiedTypeClassLiteral.kt │ │ │ │ │ └── simpleClassLiteral.kt │ │ │ │ ├── classes │ │ │ │ │ ├── classSimpleName.kt │ │ │ │ │ ├── companionObject.kt │ │ │ │ │ ├── createInstance.kt │ │ │ │ │ ├── declaredMembers.kt │ │ │ │ │ ├── jvmName.kt │ │ │ │ │ ├── localClassSimpleName.kt │ │ │ │ │ ├── nestedClasses.kt │ │ │ │ │ ├── nestedClassesJava.kt │ │ │ │ │ ├── objectInstance.kt │ │ │ │ │ ├── primitiveKClassEquality.kt │ │ │ │ │ ├── qualifiedName.kt │ │ │ │ │ └── starProjectedType.kt │ │ │ │ ├── constructors │ │ │ │ │ ├── annotationClass.kt │ │ │ │ │ ├── classesWithoutConstructors.kt │ │ │ │ │ ├── constructorName.kt │ │ │ │ │ ├── primaryConstructor.kt │ │ │ │ │ └── simpleGetConstructors.kt │ │ │ │ ├── createAnnotation │ │ │ │ │ ├── annotationType.kt │ │ │ │ │ ├── arrayOfKClasses.kt │ │ │ │ │ ├── callByJava.kt │ │ │ │ │ ├── callByKotlin.kt │ │ │ │ │ ├── callJava.kt │ │ │ │ │ ├── callKotlin.kt │ │ │ │ │ ├── createJdkAnnotationInstance.kt │ │ │ │ │ ├── enumKClassAnnotation.kt │ │ │ │ │ ├── equalsHashCodeToString.kt │ │ │ │ │ ├── floatingPointParameters.kt │ │ │ │ │ ├── parameterNamedEquals.kt │ │ │ │ │ └── primitivesAndArrays.kt │ │ │ │ ├── enclosing │ │ │ │ │ ├── anonymousObjectInInlinedLambda.kt │ │ │ │ │ ├── classInLambda.kt │ │ │ │ │ ├── functionExpressionInProperty.kt │ │ │ │ │ ├── kt11969.kt │ │ │ │ │ ├── kt6368.kt │ │ │ │ │ ├── kt6691_lambdaInSamConstructor.kt │ │ │ │ │ ├── lambdaInClassObject.kt │ │ │ │ │ ├── lambdaInConstructor.kt │ │ │ │ │ ├── lambdaInFunction.kt │ │ │ │ │ ├── lambdaInLambda.kt │ │ │ │ │ ├── lambdaInLocalClassConstructor.kt │ │ │ │ │ ├── lambdaInLocalClassSuperCall.kt │ │ │ │ │ ├── lambdaInLocalFunction.kt │ │ │ │ │ ├── lambdaInMemberFunction.kt │ │ │ │ │ ├── lambdaInMemberFunctionInLocalClass.kt │ │ │ │ │ ├── lambdaInMemberFunctionInNestedClass.kt │ │ │ │ │ ├── lambdaInObjectDeclaration.kt │ │ │ │ │ ├── lambdaInObjectExpression.kt │ │ │ │ │ ├── lambdaInObjectLiteralSuperCall.kt │ │ │ │ │ ├── lambdaInPackage.kt │ │ │ │ │ ├── lambdaInPropertyGetter.kt │ │ │ │ │ ├── lambdaInPropertySetter.kt │ │ │ │ │ ├── localClassInTopLevelFunction.kt │ │ │ │ │ └── objectInLambda.kt │ │ │ │ ├── functions │ │ │ │ │ ├── declaredVsInheritedFunctions.kt │ │ │ │ │ ├── functionFromStdlib.kt │ │ │ │ │ ├── functionReferenceErasedToKFunction.kt │ │ │ │ │ ├── genericOverriddenFunction.kt │ │ │ │ │ ├── instanceOfFunction.kt │ │ │ │ │ ├── javaClassGetFunctions.kt │ │ │ │ │ ├── javaMethodsSmokeTest.kt │ │ │ │ │ ├── platformName.kt │ │ │ │ │ ├── privateMemberFunction.kt │ │ │ │ │ ├── simpleGetFunctions.kt │ │ │ │ │ └── simpleNames.kt │ │ │ │ ├── genericSignature │ │ │ │ │ ├── covariantOverride.kt │ │ │ │ │ ├── defaultImplsGenericSignature.kt │ │ │ │ │ ├── functionLiteralGenericSignature.kt │ │ │ │ │ ├── genericBackingFieldSignature.kt │ │ │ │ │ ├── genericMethodSignature.kt │ │ │ │ │ ├── kt11121.kt │ │ │ │ │ ├── kt5112.kt │ │ │ │ │ ├── kt6106.kt │ │ │ │ │ ├── signatureOfDeepGenericInner.kt │ │ │ │ │ ├── signatureOfDeepInner.kt │ │ │ │ │ ├── signatureOfDeepInnerLastGeneric.kt │ │ │ │ │ ├── signatureOfGenericInnerGenericOuter.kt │ │ │ │ │ ├── signatureOfGenericInnerSimpleOuter.kt │ │ │ │ │ └── signatureOfSimpleInnerSimpleOuter.kt │ │ │ │ ├── isInstance │ │ │ │ │ └── isInstanceCastAndSafeCast.kt │ │ │ │ ├── kClassInAnnotation │ │ │ │ │ ├── array.kt │ │ │ │ │ ├── arrayInJava.kt │ │ │ │ │ ├── basic.kt │ │ │ │ │ ├── basicInJava.kt │ │ │ │ │ ├── checkcast.kt │ │ │ │ │ ├── forceWrapping.kt │ │ │ │ │ ├── vararg.kt │ │ │ │ │ ├── varargInJava.kt │ │ │ │ │ └── wrappingForCallableReferences.kt │ │ │ │ ├── lambdaClasses │ │ │ │ │ └── parameterNamesAndNullability.kt │ │ │ │ ├── mapping │ │ │ │ │ ├── constructor.kt │ │ │ │ │ ├── extensionProperty.kt │ │ │ │ │ ├── fakeOverrides │ │ │ │ │ │ ├── javaFieldGetterSetter.kt │ │ │ │ │ │ └── javaMethod.kt │ │ │ │ │ ├── functions.kt │ │ │ │ │ ├── inlineReifiedFun.kt │ │ │ │ │ ├── jvmStatic │ │ │ │ │ │ ├── companionObjectFunction.kt │ │ │ │ │ │ └── objectFunction.kt │ │ │ │ │ ├── mappedClassIsEqualToClassLiteral.kt │ │ │ │ │ ├── memberProperty.kt │ │ │ │ │ ├── openSuspendFun.kt │ │ │ │ │ ├── propertyAccessors.kt │ │ │ │ │ ├── propertyAccessorsWithJvmName.kt │ │ │ │ │ ├── syntheticFields.kt │ │ │ │ │ ├── topLevelFunctionOtherFile.kt │ │ │ │ │ ├── topLevelProperty.kt │ │ │ │ │ └── types │ │ │ │ │ │ ├── annotationConstructorParameters.kt │ │ │ │ │ │ ├── array.kt │ │ │ │ │ │ ├── constructors.kt │ │ │ │ │ │ ├── genericArrayElementType.kt │ │ │ │ │ │ ├── innerGenericTypeArgument.kt │ │ │ │ │ │ ├── memberFunctions.kt │ │ │ │ │ │ ├── overrideAnyWithPrimitive.kt │ │ │ │ │ │ ├── parameterizedTypeArgument.kt │ │ │ │ │ │ ├── parameterizedTypes.kt │ │ │ │ │ │ ├── propertyAccessors.kt │ │ │ │ │ │ ├── rawTypeArgument.kt │ │ │ │ │ │ ├── supertypes.kt │ │ │ │ │ │ ├── topLevelFunctions.kt │ │ │ │ │ │ ├── typeParameters.kt │ │ │ │ │ │ ├── unit.kt │ │ │ │ │ │ └── withNullability.kt │ │ │ │ ├── methodsFromAny │ │ │ │ │ ├── callableReferencesEqualToCallablesFromAPI.kt │ │ │ │ │ ├── classToString.kt │ │ │ │ │ ├── extensionPropertyReceiverToString.kt │ │ │ │ │ ├── functionEqualsHashCode.kt │ │ │ │ │ ├── functionFromStdlibMultiFileFacade.kt │ │ │ │ │ ├── functionFromStdlibSingleFileFacade.kt │ │ │ │ │ ├── functionToString.kt │ │ │ │ │ ├── memberExtensionToString.kt │ │ │ │ │ ├── parametersEqualsHashCode.kt │ │ │ │ │ ├── parametersToString.kt │ │ │ │ │ ├── propertyEqualsHashCode.kt │ │ │ │ │ ├── propertyToString.kt │ │ │ │ │ ├── typeEqualsHashCode.kt │ │ │ │ │ ├── typeParametersEqualsHashCode.kt │ │ │ │ │ ├── typeParametersToString.kt │ │ │ │ │ ├── typeToString.kt │ │ │ │ │ └── typeToStringInnerGeneric.kt │ │ │ │ ├── modifiers │ │ │ │ │ ├── callableModality.kt │ │ │ │ │ ├── callableVisibility.kt │ │ │ │ │ ├── classModality.kt │ │ │ │ │ ├── classVisibility.kt │ │ │ │ │ ├── classes.kt │ │ │ │ │ ├── functions.kt │ │ │ │ │ ├── javaVisibility.kt │ │ │ │ │ ├── properties.kt │ │ │ │ │ └── typeParameters.kt │ │ │ │ ├── multifileClasses │ │ │ │ │ ├── callFunctionsInMultifileClass.kt │ │ │ │ │ ├── callPropertiesInMultifileClass.kt │ │ │ │ │ └── javaFieldForVarAndConstVal.kt │ │ │ │ ├── noReflectAtRuntime │ │ │ │ │ ├── javaClass.kt │ │ │ │ │ ├── methodsFromAny │ │ │ │ │ │ ├── callableReferences.kt │ │ │ │ │ │ ├── classReference.kt │ │ │ │ │ │ └── delegatedProperty.kt │ │ │ │ │ ├── primitiveJavaClass.kt │ │ │ │ │ ├── propertyGetSetName.kt │ │ │ │ │ ├── propertyInstanceof.kt │ │ │ │ │ ├── reifiedTypeJavaClass.kt │ │ │ │ │ └── simpleClassLiterals.kt │ │ │ │ ├── parameters │ │ │ │ │ ├── boundInnerClassConstructor.kt │ │ │ │ │ ├── boundObjectMemberReferences.kt │ │ │ │ │ ├── boundReferences.kt │ │ │ │ │ ├── findParameterByName.kt │ │ │ │ │ ├── functionParameterNameAndIndex.kt │ │ │ │ │ ├── instanceExtensionReceiverAndValueParameters.kt │ │ │ │ │ ├── isMarkedNullable.kt │ │ │ │ │ ├── isOptional.kt │ │ │ │ │ ├── javaAnnotationConstructor.kt │ │ │ │ │ ├── kinds.kt │ │ │ │ │ └── propertySetter.kt │ │ │ │ ├── properties │ │ │ │ │ ├── accessors │ │ │ │ │ │ ├── accessorNames.kt │ │ │ │ │ │ ├── extensionPropertyAccessors.kt │ │ │ │ │ │ ├── memberExtensions.kt │ │ │ │ │ │ ├── memberPropertyAccessors.kt │ │ │ │ │ │ └── topLevelPropertyAccessors.kt │ │ │ │ │ ├── allVsDeclared.kt │ │ │ │ │ ├── callPrivatePropertyFromGetProperties.kt │ │ │ │ │ ├── declaredVsInheritedProperties.kt │ │ │ │ │ ├── fakeOverridesInSubclass.kt │ │ │ │ │ ├── genericClassLiteralPropertyReceiverIsStar.kt │ │ │ │ │ ├── genericOverriddenProperty.kt │ │ │ │ │ ├── genericProperty.kt │ │ │ │ │ ├── getDelegate │ │ │ │ │ │ ├── booleanPropertyNameStartsWithIs.kt │ │ │ │ │ │ ├── boundExtensionProperty.kt │ │ │ │ │ │ ├── boundMemberProperty.kt │ │ │ │ │ │ ├── extensionProperty.kt │ │ │ │ │ │ ├── fakeOverride.kt │ │ │ │ │ │ ├── getExtensionDelegate.kt │ │ │ │ │ │ ├── kPropertyForDelegatedProperty.kt │ │ │ │ │ │ ├── memberExtensionProperty.kt │ │ │ │ │ │ ├── memberProperty.kt │ │ │ │ │ │ ├── nameClashClassAndCompanion.kt │ │ │ │ │ │ ├── nameClashExtensionProperties.kt │ │ │ │ │ │ ├── noSetAccessibleTrue.kt │ │ │ │ │ │ ├── notDelegatedProperty.kt │ │ │ │ │ │ ├── overrideDelegatedByDelegated.kt │ │ │ │ │ │ └── topLevelProperty.kt │ │ │ │ │ ├── getExtensionPropertiesMutableVsReadonly.kt │ │ │ │ │ ├── getPropertiesMutableVsReadonly.kt │ │ │ │ │ ├── invokeKProperty.kt │ │ │ │ │ ├── javaPropertyInheritedInKotlin.kt │ │ │ │ │ ├── javaStaticField.kt │ │ │ │ │ ├── kotlinPropertyInheritedInJava.kt │ │ │ │ │ ├── localDelegated │ │ │ │ │ │ ├── defaultImpls.kt │ │ │ │ │ │ ├── inlineFun.kt │ │ │ │ │ │ ├── localDelegatedProperty.kt │ │ │ │ │ │ ├── multiFileClass.kt │ │ │ │ │ │ └── variableOfGenericType.kt │ │ │ │ │ ├── memberAndMemberExtensionWithSameName.kt │ │ │ │ │ ├── mutatePrivateJavaInstanceField.kt │ │ │ │ │ ├── mutatePrivateJavaStaticField.kt │ │ │ │ │ ├── noConflictOnKotlinGetterAndJavaField.kt │ │ │ │ │ ├── overrideKotlinPropertyByJavaMethod.kt │ │ │ │ │ ├── privateClassVal.kt │ │ │ │ │ ├── privateClassVar.kt │ │ │ │ │ ├── privateFakeOverrideFromSuperclass.kt │ │ │ │ │ ├── privateJvmStaticVarInObject.kt │ │ │ │ │ ├── privatePropertyCallIsAccessibleOnAccessors.kt │ │ │ │ │ ├── privateToThisAccessors.kt │ │ │ │ │ ├── propertyOfNestedClassAndArrayType.kt │ │ │ │ │ ├── protectedClassVar.kt │ │ │ │ │ ├── publicClassValAccessible.kt │ │ │ │ │ ├── referenceToJavaFieldOfKotlinSubclass.kt │ │ │ │ │ └── simpleGetProperties.kt │ │ │ │ ├── specialBuiltIns │ │ │ │ │ └── getMembersOfStandardJavaClasses.kt │ │ │ │ ├── supertypes │ │ │ │ │ ├── builtInClassSupertypes.kt │ │ │ │ │ ├── genericSubstitution.kt │ │ │ │ │ ├── isSubclassOfIsSuperclassOf.kt │ │ │ │ │ ├── primitives.kt │ │ │ │ │ └── simpleSupertypes.kt │ │ │ │ ├── typeParameters │ │ │ │ │ ├── declarationSiteVariance.kt │ │ │ │ │ ├── typeParametersAndNames.kt │ │ │ │ │ └── upperBounds.kt │ │ │ │ └── types │ │ │ │ │ ├── classifierIsClass.kt │ │ │ │ │ ├── classifierIsTypeParameter.kt │ │ │ │ │ ├── classifiersOfBuiltInTypes.kt │ │ │ │ │ ├── createType │ │ │ │ │ ├── equality.kt │ │ │ │ │ ├── innerGeneric.kt │ │ │ │ │ ├── simpleCreateType.kt │ │ │ │ │ ├── typeParameter.kt │ │ │ │ │ └── wrongNumberOfArguments.kt │ │ │ │ │ ├── innerGenericArguments.kt │ │ │ │ │ ├── jvmErasureOfClass.kt │ │ │ │ │ ├── jvmErasureOfTypeParameter.kt │ │ │ │ │ ├── platformTypeClassifier.kt │ │ │ │ │ ├── platformTypeNotEqualToKotlinType.kt │ │ │ │ │ ├── platformTypeToString.kt │ │ │ │ │ ├── subtyping │ │ │ │ │ ├── platformType.kt │ │ │ │ │ ├── simpleGenericTypes.kt │ │ │ │ │ ├── simpleSubtypeSupertype.kt │ │ │ │ │ └── typeProjection.kt │ │ │ │ │ ├── typeArguments.kt │ │ │ │ │ ├── useSiteVariance.kt │ │ │ │ │ └── withNullability.kt │ │ │ ├── regressions │ │ │ │ ├── Kt1149.kt │ │ │ │ ├── Kt1619Test.kt │ │ │ │ ├── Kt2495Test.kt │ │ │ │ ├── approximateIntersectionType.kt │ │ │ │ ├── arrayLengthNPE.kt │ │ │ │ ├── collections.kt │ │ │ │ ├── commonSupertypeContravariant.kt │ │ │ │ ├── commonSupertypeContravariant2.kt │ │ │ │ ├── dontCaptureTypesWithTypeVariables.kt │ │ │ │ ├── doubleMerge.kt │ │ │ │ ├── floatMerge.kt │ │ │ │ ├── functionLiteralAsLastExpressionInBlock.kt │ │ │ │ ├── generic.kt │ │ │ │ ├── getGenericInterfaces.kt │ │ │ │ ├── hashCodeNPE.kt │ │ │ │ ├── internalTopLevelOtherPackage.kt │ │ │ │ ├── intersectionAsLastLambda.kt │ │ │ │ ├── intersectionOfEqualTypes.kt │ │ │ │ ├── kt10143.kt │ │ │ │ ├── kt10934.kt │ │ │ │ ├── kt1172.kt │ │ │ │ ├── kt1202.kt │ │ │ │ ├── kt13381.kt │ │ │ │ ├── kt1406.kt │ │ │ │ ├── kt14447.kt │ │ │ │ ├── kt1515.kt │ │ │ │ ├── kt15196.kt │ │ │ │ ├── kt1528.kt │ │ │ │ ├── kt1568.kt │ │ │ │ ├── kt1779.kt │ │ │ │ ├── kt1800.kt │ │ │ │ ├── kt1845.kt │ │ │ │ ├── kt18779.kt │ │ │ │ ├── kt1932.kt │ │ │ │ ├── kt2017.kt │ │ │ │ ├── kt2060.kt │ │ │ │ ├── kt2210.kt │ │ │ │ ├── kt2246.kt │ │ │ │ ├── kt2318.kt │ │ │ │ ├── kt2509.kt │ │ │ │ ├── kt2593.kt │ │ │ │ ├── kt274.kt │ │ │ │ ├── kt3046.kt │ │ │ │ ├── kt3107.kt │ │ │ │ ├── kt3421.kt │ │ │ │ ├── kt344.kt │ │ │ │ ├── kt3442.kt │ │ │ │ ├── kt3587.kt │ │ │ │ ├── kt3850.kt │ │ │ │ ├── kt3903.kt │ │ │ │ ├── kt4142.kt │ │ │ │ ├── kt4259.kt │ │ │ │ ├── kt4262.kt │ │ │ │ ├── kt4281.kt │ │ │ │ ├── kt5056.kt │ │ │ │ ├── kt528.kt │ │ │ │ ├── kt529.kt │ │ │ │ ├── kt533.kt │ │ │ │ ├── kt5395.kt │ │ │ │ ├── kt5445.kt │ │ │ │ ├── kt5445_2.kt │ │ │ │ ├── kt5786_privateWithDefault.kt │ │ │ │ ├── kt5953.kt │ │ │ │ ├── kt6153.kt │ │ │ │ ├── kt6434.kt │ │ │ │ ├── kt6434_2.kt │ │ │ │ ├── kt6485.kt │ │ │ │ ├── kt715.kt │ │ │ │ ├── kt7401.kt │ │ │ │ ├── kt789.kt │ │ │ │ ├── kt864.kt │ │ │ │ ├── kt998.kt │ │ │ │ ├── lambdaAsLastExpressionInLambda.kt │ │ │ │ ├── lambdaPostponeConstruction.kt │ │ │ │ ├── lambdaWrongReturnType.kt │ │ │ │ ├── nestedIntersection.kt │ │ │ │ ├── noCapturingForTypesWithTypeVariables.kt │ │ │ │ ├── noResolutionRecursion.kt │ │ │ │ ├── nullabilityForCommonCapturedSupertypes.kt │ │ │ │ ├── nullableAfterExclExcl.kt │ │ │ │ ├── objectCaptureOuterConstructorProperty.kt │ │ │ │ ├── objectInsideDelegation.kt │ │ │ │ ├── referenceToSelfInLocal.kt │ │ │ │ ├── resolvedCallForGetOperator.kt │ │ │ │ ├── supertypeDepth.kt │ │ │ │ └── typeCastException.kt │ │ │ ├── reified │ │ │ │ ├── DIExample.kt │ │ │ │ ├── anonymousObject.kt │ │ │ │ ├── anonymousObjectNoPropagate.kt │ │ │ │ ├── anonymousObjectReifiedSupertype.kt │ │ │ │ ├── approximateCapturedTypes.kt │ │ │ │ ├── arraysReification │ │ │ │ │ ├── instanceOf.kt │ │ │ │ │ ├── instanceOfArrays.kt │ │ │ │ │ ├── jClass.kt │ │ │ │ │ ├── jaggedArray.kt │ │ │ │ │ ├── jaggedArrayOfNulls.kt │ │ │ │ │ └── jaggedDeep.kt │ │ │ │ ├── asOnPlatformType.kt │ │ │ │ ├── checkcast.kt │ │ │ │ ├── copyToArray.kt │ │ │ │ ├── defaultJavaClass.kt │ │ │ │ ├── expectedTypeFromCast.kt │ │ │ │ ├── filterIsInstance.kt │ │ │ │ ├── innerAnonymousObject.kt │ │ │ │ ├── instanceof.kt │ │ │ │ ├── isOnPlatformType.kt │ │ │ │ ├── javaClass.kt │ │ │ │ ├── nestedReified.kt │ │ │ │ ├── nestedReifiedSignature.kt │ │ │ │ ├── newArrayInt.kt │ │ │ │ ├── nonInlineableLambdaInReifiedFunction.kt │ │ │ │ ├── recursiveInnerAnonymousObject.kt │ │ │ │ ├── recursiveNewArray.kt │ │ │ │ ├── recursiveNonInlineableLambda.kt │ │ │ │ ├── reifiedChain.kt │ │ │ │ ├── reifiedInlineFunOfObject.kt │ │ │ │ ├── reifiedInlineFunOfObjectWithinReified.kt │ │ │ │ ├── reifiedInlineIntoNonInlineableLambda.kt │ │ │ │ ├── safecast.kt │ │ │ │ ├── sameIndexRecursive.kt │ │ │ │ ├── spreads.kt │ │ │ │ └── varargs.kt │ │ │ ├── safeCall │ │ │ │ ├── genericNull.kt │ │ │ │ ├── kt1572.kt │ │ │ │ ├── kt232.kt │ │ │ │ ├── kt245.kt │ │ │ │ ├── kt247.kt │ │ │ │ ├── kt3430.kt │ │ │ │ ├── kt4733.kt │ │ │ │ ├── primitive.kt │ │ │ │ ├── primitiveEqSafeCall.kt │ │ │ │ ├── primitiveNotEqSafeCall.kt │ │ │ │ ├── safeCallEqPrimitive.kt │ │ │ │ ├── safeCallNotEqPrimitive.kt │ │ │ │ └── safeCallOnLong.kt │ │ │ ├── sam │ │ │ │ └── constructors │ │ │ │ │ ├── comparator.kt │ │ │ │ │ ├── filenameFilter.kt │ │ │ │ │ ├── kt19251.kt │ │ │ │ │ ├── kt19251_child.kt │ │ │ │ │ ├── nonLiteralComparator.kt │ │ │ │ │ ├── nonLiteralFilenameFilter.kt │ │ │ │ │ ├── nonLiteralRunnable.kt │ │ │ │ │ ├── nonTrivialRunnable.kt │ │ │ │ │ ├── runnable.kt │ │ │ │ │ ├── runnableAccessingClosure1.kt │ │ │ │ │ ├── runnableAccessingClosure2.kt │ │ │ │ │ ├── samWrappersDifferentFiles.kt │ │ │ │ │ ├── sameWrapperClass.kt │ │ │ │ │ └── syntheticVsReal.kt │ │ │ ├── sealed │ │ │ │ ├── objects.kt │ │ │ │ └── simple.kt │ │ │ ├── secondaryConstructors │ │ │ │ ├── accessToCompanion.kt │ │ │ │ ├── accessToNestedObject.kt │ │ │ │ ├── basicNoPrimaryManySinks.kt │ │ │ │ ├── basicNoPrimaryOneSink.kt │ │ │ │ ├── basicPrimary.kt │ │ │ │ ├── callFromLocalSubClass.kt │ │ │ │ ├── callFromPrimaryWithNamedArgs.kt │ │ │ │ ├── callFromPrimaryWithOptionalArgs.kt │ │ │ │ ├── callFromSubClass.kt │ │ │ │ ├── clashingDefaultConstructors.kt │ │ │ │ ├── dataClasses.kt │ │ │ │ ├── defaultArgs.kt │ │ │ │ ├── defaultParametersNotDuplicated.kt │ │ │ │ ├── delegateWithComplexExpression.kt │ │ │ │ ├── delegatedThisWithLambda.kt │ │ │ │ ├── delegationWithPrimary.kt │ │ │ │ ├── enums.kt │ │ │ │ ├── generics.kt │ │ │ │ ├── innerClasses.kt │ │ │ │ ├── innerClassesInheritance.kt │ │ │ │ ├── localClasses.kt │ │ │ │ ├── superCallPrimary.kt │ │ │ │ ├── superCallSecondary.kt │ │ │ │ ├── varargs.kt │ │ │ │ ├── withGenerics.kt │ │ │ │ ├── withNonLocalReturn.kt │ │ │ │ ├── withPrimary.kt │ │ │ │ ├── withReturn.kt │ │ │ │ ├── withReturnUnit.kt │ │ │ │ ├── withVarargs.kt │ │ │ │ └── withoutPrimary.kt │ │ │ ├── signatureAnnotations │ │ │ │ ├── defaultAndNamedCombination.kt │ │ │ │ ├── defaultBoxTypes.kt │ │ │ │ ├── defaultEnumType.kt │ │ │ │ ├── defaultLongLiteral.kt │ │ │ │ ├── defaultMultipleParams.kt │ │ │ │ ├── defaultNull.kt │ │ │ │ ├── defaultNullableBoxTypes.kt │ │ │ │ ├── defaultOverrides.kt │ │ │ │ ├── defaultPrimitiveTypes.kt │ │ │ │ ├── defaultValueInConstructor.kt │ │ │ │ ├── defaultWithJavaBase.kt │ │ │ │ ├── defaultWithKotlinBase.kt │ │ │ │ └── reorderedParameterNames.kt │ │ │ ├── smap │ │ │ │ ├── chainCalls.kt │ │ │ │ ├── infixCalls.kt │ │ │ │ └── simpleCallWithParams.kt │ │ │ ├── smartCasts │ │ │ │ ├── falseSmartCast.kt │ │ │ │ ├── genericIntersection.kt │ │ │ │ ├── genericSet.kt │ │ │ │ ├── implicitExtensionReceiver.kt │ │ │ │ ├── implicitMemberReceiver.kt │ │ │ │ ├── implicitReceiver.kt │ │ │ │ ├── implicitReceiverInWhen.kt │ │ │ │ ├── implicitToGrandSon.kt │ │ │ │ ├── kt17725.kt │ │ │ │ ├── kt19058.kt │ │ │ │ ├── kt19100.kt │ │ │ │ ├── lambdaArgumentWithoutType.kt │ │ │ │ ├── nullSmartCast.kt │ │ │ │ ├── smartCastInsideIf.kt │ │ │ │ └── whenSmartCast.kt │ │ │ ├── specialBuiltins │ │ │ │ ├── bridgeNotEmptyMap.kt │ │ │ │ ├── bridges.kt │ │ │ │ ├── collectionImpl.kt │ │ │ │ ├── commonBridgesTarget.kt │ │ │ │ ├── emptyList.kt │ │ │ │ ├── emptyMap.kt │ │ │ │ ├── emptyStringMap.kt │ │ │ │ ├── entrySetSOE.kt │ │ │ │ ├── enumAsOrdinaled.kt │ │ │ │ ├── exceptionCause.kt │ │ │ │ ├── explicitSuperCall.kt │ │ │ │ ├── irrelevantRemoveAtOverride.kt │ │ │ │ ├── maps.kt │ │ │ │ ├── noSpecialBridgeInSuperClass.kt │ │ │ │ ├── notEmptyListAny.kt │ │ │ │ ├── notEmptyMap.kt │ │ │ │ ├── redundantStubForSize.kt │ │ │ │ ├── removeAtTwoSpecialBridges.kt │ │ │ │ ├── removeSetInt.kt │ │ │ │ ├── throwable.kt │ │ │ │ ├── throwableCause.kt │ │ │ │ ├── throwableImpl.kt │ │ │ │ ├── throwableImplWithSecondaryConstructor.kt │ │ │ │ └── valuesInsideEnum.kt │ │ │ ├── statics │ │ │ │ ├── anonymousInitializerIObject.kt │ │ │ │ ├── anonymousInitializerInClassObject.kt │ │ │ │ ├── fields.kt │ │ │ │ ├── functions.kt │ │ │ │ ├── hidePrivateByPublic.kt │ │ │ │ ├── incInClassObject.kt │ │ │ │ ├── incInObject.kt │ │ │ │ ├── inheritedPropertyInClassObject.kt │ │ │ │ ├── inheritedPropertyInObject.kt │ │ │ │ ├── inlineCallsStaticMethod.kt │ │ │ │ ├── kt8089.kt │ │ │ │ ├── protectedSamConstructor.kt │ │ │ │ ├── protectedStatic.kt │ │ │ │ ├── protectedStatic2.kt │ │ │ │ ├── protectedStaticAndInline.kt │ │ │ │ └── syntheticAccessor.kt │ │ │ ├── storeStackBeforeInline │ │ │ │ ├── differentTypes.kt │ │ │ │ ├── primitiveMerge.kt │ │ │ │ ├── simple.kt │ │ │ │ ├── unreachableMarker.kt │ │ │ │ └── withLambda.kt │ │ │ ├── strings │ │ │ │ ├── constInStringTemplate.kt │ │ │ │ ├── ea35743.kt │ │ │ │ ├── forInString.kt │ │ │ │ ├── interpolation.kt │ │ │ │ ├── kt2592.kt │ │ │ │ ├── kt3571.kt │ │ │ │ ├── kt3652.kt │ │ │ │ ├── kt5389_stringBuilderGet.kt │ │ │ │ ├── kt5956.kt │ │ │ │ ├── kt881.kt │ │ │ │ ├── kt889.kt │ │ │ │ ├── kt894.kt │ │ │ │ ├── multilineStringsWithTemplates.kt │ │ │ │ ├── nestedConcat.kt │ │ │ │ ├── rawStrings.kt │ │ │ │ ├── rawStringsWithManyQuotes.kt │ │ │ │ ├── stringBuilderAppend.kt │ │ │ │ └── stringPlusOnlyWorksOnString.kt │ │ │ ├── super │ │ │ │ ├── basicmethodSuperClass.kt │ │ │ │ ├── basicmethodSuperTrait.kt │ │ │ │ ├── basicproperty.kt │ │ │ │ ├── enclosedFun.kt │ │ │ │ ├── enclosedVar.kt │ │ │ │ ├── innerClassLabeledSuper.kt │ │ │ │ ├── innerClassLabeledSuper2.kt │ │ │ │ ├── innerClassLabeledSuperProperty.kt │ │ │ │ ├── innerClassLabeledSuperProperty2.kt │ │ │ │ ├── innerClassQualifiedFunctionCall.kt │ │ │ │ ├── innerClassQualifiedPropertyAccess.kt │ │ │ │ ├── kt14243.kt │ │ │ │ ├── kt14243_2.kt │ │ │ │ ├── kt14243_class.kt │ │ │ │ ├── kt14243_prop.kt │ │ │ │ ├── kt3492ClassFun.kt │ │ │ │ ├── kt3492ClassProperty.kt │ │ │ │ ├── kt3492TraitFun.kt │ │ │ │ ├── kt3492TraitProperty.kt │ │ │ │ ├── kt4173.kt │ │ │ │ ├── kt4173_2.kt │ │ │ │ ├── kt4173_3.kt │ │ │ │ ├── kt4982.kt │ │ │ │ ├── multipleSuperTraits.kt │ │ │ │ ├── superConstructor │ │ │ │ │ ├── kt17464_arrayOf.kt │ │ │ │ │ ├── kt17464_linkedMapOf.kt │ │ │ │ │ ├── kt18356.kt │ │ │ │ │ ├── kt18356_2.kt │ │ │ │ │ ├── objectExtendsInner.kt │ │ │ │ │ └── objectExtendsLocalInner.kt │ │ │ │ ├── traitproperty.kt │ │ │ │ ├── unqualifiedSuper.kt │ │ │ │ ├── unqualifiedSuperWithDeeperHierarchies.kt │ │ │ │ └── unqualifiedSuperWithMethodsOfAny.kt │ │ │ ├── synchronized │ │ │ │ ├── changeMonitor.kt │ │ │ │ ├── exceptionInMonitorExpression.kt │ │ │ │ ├── finally.kt │ │ │ │ ├── longValue.kt │ │ │ │ ├── nestedDifferentObjects.kt │ │ │ │ ├── nestedSameObject.kt │ │ │ │ ├── nonLocalReturn.kt │ │ │ │ ├── objectValue.kt │ │ │ │ ├── sync.kt │ │ │ │ ├── value.kt │ │ │ │ └── wait.kt │ │ │ ├── syntheticAccessors │ │ │ │ ├── accessorForGenericConstructor.kt │ │ │ │ ├── accessorForGenericMethod.kt │ │ │ │ ├── accessorForGenericMethodWithDefaults.kt │ │ │ │ ├── accessorForProtected.kt │ │ │ │ ├── accessorForProtectedInvokeVirtual.kt │ │ │ │ ├── jvmNameForAccessors.kt │ │ │ │ ├── kt10047.kt │ │ │ │ ├── kt9717.kt │ │ │ │ ├── kt9717DifferentPackages.kt │ │ │ │ ├── kt9958.kt │ │ │ │ ├── kt9958Interface.kt │ │ │ │ ├── protectedFromLambda.kt │ │ │ │ └── syntheticAccessorNames.kt │ │ │ ├── toArray │ │ │ │ ├── kt3177-toTypedArray.kt │ │ │ │ ├── returnToTypedArray.kt │ │ │ │ ├── toArray.kt │ │ │ │ ├── toArrayAlreadyPresent.kt │ │ │ │ ├── toArrayShouldBePublic.kt │ │ │ │ ├── toArrayShouldBePublicWithJava.kt │ │ │ │ └── toTypedArray.kt │ │ │ ├── topLevelPrivate │ │ │ │ ├── noPrivateNoAccessorsInMultiFileFacade.kt │ │ │ │ ├── noPrivateNoAccessorsInMultiFileFacade2.kt │ │ │ │ ├── privateInInlineNested.kt │ │ │ │ ├── privateVisibility.kt │ │ │ │ ├── syntheticAccessor.kt │ │ │ │ └── syntheticAccessorInMultiFile.kt │ │ │ ├── traits │ │ │ │ ├── abstractClassInheritsFromInterface.kt │ │ │ │ ├── diamondPropertyAccessors.kt │ │ │ │ ├── genericMethod.kt │ │ │ │ ├── indirectlyInheritPropertyGetter.kt │ │ │ │ ├── inheritJavaInterface.kt │ │ │ │ ├── inheritedFun.kt │ │ │ │ ├── inheritedVar.kt │ │ │ │ ├── interfaceDefaultImpls.kt │ │ │ │ ├── interfaceWithNonAbstractFunIndirect.kt │ │ │ │ ├── interfaceWithNonAbstractFunIndirectGeneric.kt │ │ │ │ ├── kt1936.kt │ │ │ │ ├── kt1936_1.kt │ │ │ │ ├── kt2260.kt │ │ │ │ ├── kt2399.kt │ │ │ │ ├── kt2541.kt │ │ │ │ ├── kt3315.kt │ │ │ │ ├── kt3500.kt │ │ │ │ ├── kt3579.kt │ │ │ │ ├── kt3579_2.kt │ │ │ │ ├── kt5393.kt │ │ │ │ ├── kt5393_property.kt │ │ │ │ ├── multiple.kt │ │ │ │ ├── noPrivateDelegation.kt │ │ │ │ ├── syntheticAccessor.kt │ │ │ │ ├── traitImplDelegationWithCovariantOverride.kt │ │ │ │ ├── traitImplDiamond.kt │ │ │ │ ├── traitImplGenericDelegation.kt │ │ │ │ ├── traitWithPrivateExtension.kt │ │ │ │ ├── traitWithPrivateMember.kt │ │ │ │ └── traitWithPrivateMemberAccessFromLambda.kt │ │ │ ├── typeInfo │ │ │ │ ├── asInLoop.kt │ │ │ │ ├── ifOrWhenSpecialCall.kt │ │ │ │ ├── implicitSmartCastThis.kt │ │ │ │ ├── inheritance.kt │ │ │ │ ├── kt2811.kt │ │ │ │ ├── primitiveTypeInfo.kt │ │ │ │ └── smartCastThis.kt │ │ │ ├── typeMapping │ │ │ │ ├── enhancedPrimitives.kt │ │ │ │ ├── genericTypeWithNothing.kt │ │ │ │ ├── kt2831.kt │ │ │ │ ├── kt309.kt │ │ │ │ ├── kt3286.kt │ │ │ │ ├── kt3863.kt │ │ │ │ ├── kt3976.kt │ │ │ │ ├── nothing.kt │ │ │ │ ├── nullableNothing.kt │ │ │ │ └── typeParameterMultipleBounds.kt │ │ │ ├── typealias │ │ │ │ ├── enumEntryQualifier.kt │ │ │ │ ├── genericTypeAliasConstructor.kt │ │ │ │ ├── genericTypeAliasConstructor2.kt │ │ │ │ ├── innerClassTypeAliasConstructor.kt │ │ │ │ ├── innerClassTypeAliasConstructorInSupertypes.kt │ │ │ │ ├── kt15109.kt │ │ │ │ ├── objectLiteralConstructor.kt │ │ │ │ ├── simple.kt │ │ │ │ ├── typeAliasAsBareType.kt │ │ │ │ ├── typeAliasCompanion.kt │ │ │ │ ├── typeAliasConstructor.kt │ │ │ │ ├── typeAliasConstructorAccessor.kt │ │ │ │ ├── typeAliasConstructorForArray.kt │ │ │ │ ├── typeAliasConstructorInSuperCall.kt │ │ │ │ ├── typeAliasInAnonymousObjectType.kt │ │ │ │ ├── typeAliasObject.kt │ │ │ │ ├── typeAliasObjectCallable.kt │ │ │ │ └── typeAliasSecondaryConstructor.kt │ │ │ ├── unaryOp │ │ │ │ ├── call.kt │ │ │ │ ├── callNullable.kt │ │ │ │ ├── callWithCommonType.kt │ │ │ │ ├── intrinsic.kt │ │ │ │ ├── intrinsicNullable.kt │ │ │ │ └── longOverflow.kt │ │ │ ├── unit │ │ │ │ ├── UnitValue.kt │ │ │ │ ├── closureReturnsNullableUnit.kt │ │ │ │ ├── ifElse.kt │ │ │ │ ├── kt3634.kt │ │ │ │ ├── kt4212.kt │ │ │ │ ├── kt4265.kt │ │ │ │ ├── nullableUnit.kt │ │ │ │ ├── nullableUnitInWhen1.kt │ │ │ │ ├── nullableUnitInWhen2.kt │ │ │ │ ├── nullableUnitInWhen3.kt │ │ │ │ └── unitClassObject.kt │ │ │ ├── vararg │ │ │ │ ├── assigningArrayToVarargInAnnotation.kt │ │ │ │ ├── doNotCopyImmediatelyCreatedArrays.kt │ │ │ │ ├── kt1978.kt │ │ │ │ ├── kt581.kt │ │ │ │ ├── kt6192.kt │ │ │ │ ├── kt796_797.kt │ │ │ │ ├── spreadCopiesArray.kt │ │ │ │ ├── varargInFunParam.kt │ │ │ │ ├── varargInJava.kt │ │ │ │ └── varargsAndFunctionLiterals.kt │ │ │ └── when │ │ │ │ ├── callProperty.kt │ │ │ │ ├── emptyWhen.kt │ │ │ │ ├── enumOptimization │ │ │ │ ├── bigEnum.kt │ │ │ │ ├── duplicatingItems.kt │ │ │ │ ├── enumInsideClassObject.kt │ │ │ │ ├── expression.kt │ │ │ │ ├── functionLiteralInTopLevel.kt │ │ │ │ ├── kt14597.kt │ │ │ │ ├── kt14597_full.kt │ │ │ │ ├── kt14802.kt │ │ │ │ ├── kt15806.kt │ │ │ │ ├── manyWhensWithinClass.kt │ │ │ │ ├── nonConstantEnum.kt │ │ │ │ ├── nullability.kt │ │ │ │ ├── nullableEnum.kt │ │ │ │ ├── subjectAny.kt │ │ │ │ └── withoutElse.kt │ │ │ │ ├── exceptionOnNoMatch.kt │ │ │ │ ├── exhaustiveBoolean.kt │ │ │ │ ├── exhaustiveBreakContinue.kt │ │ │ │ ├── exhaustiveWhenInitialization.kt │ │ │ │ ├── exhaustiveWhenReturn.kt │ │ │ │ ├── implicitExhaustiveAndReturn.kt │ │ │ │ ├── integralWhenWithNoInlinedConstants.kt │ │ │ │ ├── is.kt │ │ │ │ ├── kt2457.kt │ │ │ │ ├── kt2466.kt │ │ │ │ ├── kt5307.kt │ │ │ │ ├── kt5448.kt │ │ │ │ ├── longInRange.kt │ │ │ │ ├── matchNotNullAgainstNullable.kt │ │ │ │ ├── multipleEntries.kt │ │ │ │ ├── noElseExhaustive.kt │ │ │ │ ├── noElseExhaustiveStatement.kt │ │ │ │ ├── noElseExhaustiveUnitExpected.kt │ │ │ │ ├── noElseInStatement.kt │ │ │ │ ├── noElseNoMatch.kt │ │ │ │ ├── nullableWhen.kt │ │ │ │ ├── range.kt │ │ │ │ ├── sealedWhenInitialization.kt │ │ │ │ ├── stringOptimization │ │ │ │ ├── duplicatingItems.kt │ │ │ │ ├── duplicatingItemsSameHashCode.kt │ │ │ │ ├── expression.kt │ │ │ │ ├── nullability.kt │ │ │ │ ├── sameHashCode.kt │ │ │ │ └── statement.kt │ │ │ │ ├── switchOptimizationDense.kt │ │ │ │ ├── switchOptimizationMultipleConditions.kt │ │ │ │ ├── switchOptimizationSparse.kt │ │ │ │ ├── switchOptimizationStatement.kt │ │ │ │ ├── switchOptimizationTypes.kt │ │ │ │ ├── switchOptimizationUnordered.kt │ │ │ │ ├── typeDisjunction.kt │ │ │ │ ├── whenArgumentIsEvaluatedOnlyOnce.kt │ │ │ │ └── whenSafeCallSubjectEvaluatedOnce.kt │ │ └── boxInline │ │ │ ├── anonymousObject │ │ │ ├── anonymousObjectOnCallSite.kt │ │ │ ├── anonymousObjectOnCallSiteSuperParams.kt │ │ │ ├── anonymousObjectOnDeclarationSite.kt │ │ │ ├── anonymousObjectOnDeclarationSiteSuperParams.kt │ │ │ ├── capturedLambdaInInline.kt │ │ │ ├── capturedLambdaInInline2.kt │ │ │ ├── capturedLambdaInInline3.kt │ │ │ ├── capturedLambdaInInlineObject.kt │ │ │ ├── changingReturnType.kt │ │ │ ├── constructorVisibility.kt │ │ │ ├── constructorVisibilityInConstLambda.kt │ │ │ ├── constructorVisibilityInLambda.kt │ │ │ ├── defineClass.kt │ │ │ ├── enumWhen │ │ │ │ ├── callSite.kt │ │ │ │ ├── declSite.kt │ │ │ │ ├── declSiteSeveralMappings.kt │ │ │ │ └── declSiteSeveralMappingsDifOrder.kt │ │ │ ├── kt13133.kt │ │ │ ├── kt13182.kt │ │ │ ├── kt13374.kt │ │ │ ├── kt14011.kt │ │ │ ├── kt14011_2.kt │ │ │ ├── kt14011_3.kt │ │ │ ├── kt16193.kt │ │ │ ├── kt17972.kt │ │ │ ├── kt17972_2.kt │ │ │ ├── kt17972_3.kt │ │ │ ├── kt17972_4.kt │ │ │ ├── kt17972_5.kt │ │ │ ├── kt17972_super.kt │ │ │ ├── kt17972_super2.kt │ │ │ ├── kt17972_super3.kt │ │ │ ├── kt19434.kt │ │ │ ├── kt19434_2.kt │ │ │ ├── kt19723.kt │ │ │ ├── kt6552.kt │ │ │ ├── kt8133.kt │ │ │ ├── kt9064.kt │ │ │ ├── kt9064v2.kt │ │ │ ├── kt9591.kt │ │ │ ├── kt9877.kt │ │ │ ├── kt9877_2.kt │ │ │ ├── objectInLambdaCapturesAnotherObject.kt │ │ │ ├── properRecapturing │ │ │ │ ├── inlineChain.kt │ │ │ │ ├── lambdaChain.kt │ │ │ │ ├── lambdaChainSimple.kt │ │ │ │ ├── lambdaChain_2.kt │ │ │ │ ├── lambdaChain_3.kt │ │ │ │ └── noInlineLambda.kt │ │ │ ├── properRecapturingInClass │ │ │ │ ├── inlineChain.kt │ │ │ │ ├── inlinelambdaChain.kt │ │ │ │ ├── lambdaChain.kt │ │ │ │ ├── lambdaChainSimple.kt │ │ │ │ ├── lambdaChainSimple_2.kt │ │ │ │ ├── lambdaChain_2.kt │ │ │ │ ├── lambdaChain_3.kt │ │ │ │ ├── noCapturedThisOnCallSite.kt │ │ │ │ ├── noInlineLambda.kt │ │ │ │ ├── twoInlineLambda.kt │ │ │ │ ├── twoInlineLambdaComplex.kt │ │ │ │ └── twoInlineLambdaComplex_2.kt │ │ │ ├── safeCall.kt │ │ │ ├── safeCall_2.kt │ │ │ ├── sam.kt │ │ │ └── twoCapturedReceivers │ │ │ │ ├── kt8668.kt │ │ │ │ ├── kt8668_2.kt │ │ │ │ ├── kt8668_3.kt │ │ │ │ ├── twoDifferentDispatchReceivers.kt │ │ │ │ └── twoExtensionReceivers.kt │ │ │ ├── argumentOrder │ │ │ ├── boundFunctionReference.kt │ │ │ ├── boundFunctionReference2.kt │ │ │ ├── captured.kt │ │ │ ├── capturedInExtension.kt │ │ │ ├── defaultParametersAndLastVararg.kt │ │ │ ├── extension.kt │ │ │ ├── extensionInClass.kt │ │ │ ├── lambdaMigration.kt │ │ │ ├── lambdaMigrationInClass.kt │ │ │ ├── simple.kt │ │ │ ├── simpleInClass.kt │ │ │ └── varargAndDefaultParameters.kt │ │ │ ├── arrayConvention │ │ │ ├── simpleAccess.kt │ │ │ ├── simpleAccessInClass.kt │ │ │ ├── simpleAccessWithDefault.kt │ │ │ ├── simpleAccessWithDefaultInClass.kt │ │ │ ├── simpleAccessWithLambda.kt │ │ │ └── simpleAccessWithLambdaInClass.kt │ │ │ ├── builders │ │ │ ├── builders.kt │ │ │ └── buildersAndLambdaCapturing.kt │ │ │ ├── bytecodePreprocessing │ │ │ └── apiVersionAtLeast1.kt │ │ │ ├── callableReference │ │ │ ├── bound │ │ │ │ ├── classProperty.kt │ │ │ │ ├── expression.kt │ │ │ │ ├── extensionReceiver.kt │ │ │ │ ├── filter.kt │ │ │ │ ├── intrinsic.kt │ │ │ │ ├── kt18728.kt │ │ │ │ ├── kt18728_2.kt │ │ │ │ ├── kt18728_3.kt │ │ │ │ ├── kt18728_4.kt │ │ │ │ ├── map.kt │ │ │ │ ├── mixed.kt │ │ │ │ ├── objectProperty.kt │ │ │ │ ├── propertyImportedFromObject.kt │ │ │ │ ├── simple.kt │ │ │ │ └── topLevelExtensionProperty.kt │ │ │ ├── classLevel.kt │ │ │ ├── classLevel2.kt │ │ │ ├── constructor.kt │ │ │ ├── intrinsic.kt │ │ │ ├── kt15449.kt │ │ │ ├── kt16411.kt │ │ │ ├── propertyIntrinsic.kt │ │ │ ├── propertyReference.kt │ │ │ ├── topLevel.kt │ │ │ ├── topLevelExtension.kt │ │ │ └── topLevelProperty.kt │ │ │ ├── capture │ │ │ ├── captureInlinable.kt │ │ │ ├── captureInlinableAndOther.kt │ │ │ ├── captureThisAndReceiver.kt │ │ │ ├── generics.kt │ │ │ ├── simpleCapturingInClass.kt │ │ │ └── simpleCapturingInPackage.kt │ │ │ ├── complex │ │ │ ├── closureChain.kt │ │ │ ├── forEachLine.kt │ │ │ ├── lambdaInLambda.kt │ │ │ ├── swapAndWith.kt │ │ │ ├── swapAndWith2.kt │ │ │ ├── use.kt │ │ │ └── with.kt │ │ │ ├── complexStack │ │ │ ├── asCheck.kt │ │ │ ├── asCheck2.kt │ │ │ ├── simple.kt │ │ │ ├── simple2.kt │ │ │ ├── simple3.kt │ │ │ ├── simple4.kt │ │ │ └── simpleExtension.kt │ │ │ ├── defaultValues │ │ │ ├── 33Parameters.kt │ │ │ ├── 33ParametersInConstructor.kt │ │ │ ├── defaultInExtension.kt │ │ │ ├── defaultMethod.kt │ │ │ ├── defaultMethodInClass.kt │ │ │ ├── defaultParamRemapping.kt │ │ │ ├── inlineInDefaultParameter.kt │ │ │ ├── inlineLambdaInNoInlineDefault.kt │ │ │ ├── kt11479.kt │ │ │ ├── kt11479InlinedDefaultParameter.kt │ │ │ ├── kt14564.kt │ │ │ ├── kt14564_2.kt │ │ │ ├── kt18689.kt │ │ │ ├── kt18689_2.kt │ │ │ ├── kt18689_3.kt │ │ │ ├── kt18689_4.kt │ │ │ ├── kt5685.kt │ │ │ ├── lambdaInlining │ │ │ │ ├── callableReferences │ │ │ │ │ ├── boundFunctionReference.kt │ │ │ │ │ ├── boundFunctionReferenceOnInt.kt │ │ │ │ │ ├── boundFunctionReferenceOnLong.kt │ │ │ │ │ ├── boundPropertyReference.kt │ │ │ │ │ ├── boundPropertyReferenceOnInt.kt │ │ │ │ │ ├── boundPropertyReferenceOnLong.kt │ │ │ │ │ ├── constuctorReference.kt │ │ │ │ │ ├── functionImportedFromObject.kt │ │ │ │ │ ├── functionReference.kt │ │ │ │ │ ├── functionReferenceFromClass.kt │ │ │ │ │ ├── functionReferenceFromObject.kt │ │ │ │ │ ├── innerClassConstuctorReference.kt │ │ │ │ │ ├── privateFunctionReference.kt │ │ │ │ │ ├── privatePropertyReference.kt │ │ │ │ │ ├── propertyImportedFromObject.kt │ │ │ │ │ ├── propertyReference.kt │ │ │ │ │ ├── propertyReferenceFromClass.kt │ │ │ │ │ └── propertyReferenceFromObject.kt │ │ │ │ ├── defaultLambdaInNoInline.kt │ │ │ │ ├── instanceCapuredInClass.kt │ │ │ │ ├── instanceCapuredInInterface.kt │ │ │ │ ├── jvmStaticDefault.kt │ │ │ │ ├── noInline.kt │ │ │ │ ├── nonDefaultInlineInNoInline.kt │ │ │ │ ├── receiverClash.kt │ │ │ │ ├── receiverClash2.kt │ │ │ │ ├── receiverClashInClass.kt │ │ │ │ ├── receiverClashInClass2.kt │ │ │ │ ├── simple.kt │ │ │ │ ├── simpleErased.kt │ │ │ │ ├── simpleErasedStaticInstance.kt │ │ │ │ ├── simpleExtension.kt │ │ │ │ ├── simpleGeneric.kt │ │ │ │ ├── simpleStaticInstance.kt │ │ │ │ ├── thisClash.kt │ │ │ │ └── thisClashInClass.kt │ │ │ ├── maskElimination │ │ │ │ ├── 32Parameters.kt │ │ │ │ ├── 33Parameters.kt │ │ │ │ ├── kt18792.kt │ │ │ │ ├── kt19679.kt │ │ │ │ ├── kt19679_2.kt │ │ │ │ ├── kt19679_3.kt │ │ │ │ └── simple.kt │ │ │ ├── simpleDefaultMethod.kt │ │ │ └── varArgNoInline.kt │ │ │ ├── delegatedProperty │ │ │ ├── kt16864.kt │ │ │ ├── local.kt │ │ │ ├── localInAnonymousObject.kt │ │ │ └── localInLambda.kt │ │ │ ├── enclosingInfo │ │ │ ├── anonymousInLambda.kt │ │ │ ├── inlineChain.kt │ │ │ ├── inlineChain2.kt │ │ │ ├── objectInInlineFun.kt │ │ │ ├── transformedConstructor.kt │ │ │ ├── transformedConstructorWithAdditionalObject.kt │ │ │ └── transformedConstructorWithNestedInline.kt │ │ │ ├── enum │ │ │ ├── kt10569.kt │ │ │ ├── valueOf.kt │ │ │ ├── valueOfCapturedType.kt │ │ │ ├── valueOfChain.kt │ │ │ ├── valueOfChainCapturedType.kt │ │ │ ├── valueOfNonReified.kt │ │ │ ├── values.kt │ │ │ ├── valuesAsArray.kt │ │ │ ├── valuesCapturedType.kt │ │ │ ├── valuesChain.kt │ │ │ ├── valuesChainCapturedType.kt │ │ │ └── valuesNonReified.kt │ │ │ ├── functionExpression │ │ │ └── extension.kt │ │ │ ├── innerClasses │ │ │ ├── innerLambda.kt │ │ │ └── kt10259.kt │ │ │ ├── jvmPackageName │ │ │ └── simple.kt │ │ │ ├── lambdaClassClash │ │ │ ├── lambdaClassClash.kt │ │ │ └── noInlineLambdaX2.kt │ │ │ ├── lambdaTransformation │ │ │ ├── lambdaCloning.kt │ │ │ ├── lambdaInLambda2.kt │ │ │ ├── lambdaInLambdaNoInline.kt │ │ │ ├── regeneratedLambdaName.kt │ │ │ └── sameCaptured.kt │ │ │ ├── localFunInLambda │ │ │ ├── lambdaInLambdaCapturesAnotherFun.kt │ │ │ ├── localFunInLambda.kt │ │ │ └── localFunInLambdaCapturesAnotherFun.kt │ │ │ ├── multifileClasses │ │ │ ├── inlineFromOptimizedMultifileClass.kt │ │ │ └── inlineFromOtherPackage.kt │ │ │ ├── noInline │ │ │ ├── extensionReceiver.kt │ │ │ ├── lambdaAsGeneric.kt │ │ │ ├── lambdaAsNonFunction.kt │ │ │ ├── noInline.kt │ │ │ ├── noInlineLambdaChain.kt │ │ │ ├── noInlineLambdaChainWithCapturedInline.kt │ │ │ └── withoutInline.kt │ │ │ ├── nonLocalReturns │ │ │ ├── deparenthesize │ │ │ │ ├── bracket.kt │ │ │ │ └── labeled.kt │ │ │ ├── explicitLocalReturn.kt │ │ │ ├── justReturnInLambda.kt │ │ │ ├── kt5199.kt │ │ │ ├── kt8948.kt │ │ │ ├── kt8948v2.kt │ │ │ ├── nestedNonLocals.kt │ │ │ ├── noInlineLocalReturn.kt │ │ │ ├── nonLocalReturnFromOuterLambda.kt │ │ │ ├── propertyAccessors.kt │ │ │ ├── returnFromFunctionExpr.kt │ │ │ ├── simple.kt │ │ │ ├── simpleFunctional.kt │ │ │ ├── simpleVoid.kt │ │ │ └── tryFinally │ │ │ │ ├── callSite │ │ │ │ ├── callSite.kt │ │ │ │ ├── callSiteComplex.kt │ │ │ │ ├── exceptionTableSplit.kt │ │ │ │ ├── exceptionTableSplitNoReturn.kt │ │ │ │ ├── finallyInFinally.kt │ │ │ │ └── wrongVarInterval.kt │ │ │ │ ├── chained │ │ │ │ ├── finallyInFinally.kt │ │ │ │ ├── finallyInFinally2.kt │ │ │ │ ├── intReturn.kt │ │ │ │ ├── intReturnComplex.kt │ │ │ │ ├── intReturnComplex2.kt │ │ │ │ ├── intReturnComplex3.kt │ │ │ │ ├── intReturnComplex4.kt │ │ │ │ └── nestedLambda.kt │ │ │ │ ├── declSite │ │ │ │ ├── complex.kt │ │ │ │ ├── intReturn.kt │ │ │ │ ├── intReturnComplex.kt │ │ │ │ ├── longReturn.kt │ │ │ │ ├── nested.kt │ │ │ │ ├── returnInFinally.kt │ │ │ │ ├── returnInTry.kt │ │ │ │ ├── returnInTryAndFinally.kt │ │ │ │ ├── severalInTry.kt │ │ │ │ ├── severalInTryComplex.kt │ │ │ │ ├── voidInlineFun.kt │ │ │ │ └── voidNonLocal.kt │ │ │ │ ├── exceptionTable │ │ │ │ ├── break.kt │ │ │ │ ├── continue.kt │ │ │ │ ├── exceptionInFinally.kt │ │ │ │ ├── forInFinally.kt │ │ │ │ ├── innerAndExternal.kt │ │ │ │ ├── innerAndExternalNested.kt │ │ │ │ ├── innerAndExternalSimple.kt │ │ │ │ ├── nested.kt │ │ │ │ ├── nestedWithReturns.kt │ │ │ │ ├── nestedWithReturnsSimple.kt │ │ │ │ ├── noFinally.kt │ │ │ │ ├── severalCatchClause.kt │ │ │ │ ├── simpleThrow.kt │ │ │ │ ├── synchonized.kt │ │ │ │ ├── throwInFinally.kt │ │ │ │ └── tryCatchInFinally.kt │ │ │ │ ├── kt6956.kt │ │ │ │ ├── kt7273.kt │ │ │ │ ├── nonLocalReturnFromCatchBlock.kt │ │ │ │ ├── nonLocalReturnFromOuterLambda.kt │ │ │ │ ├── nonLocalReturnToCatchBlock.kt │ │ │ │ └── variables │ │ │ │ └── kt7792.kt │ │ │ ├── optimizations │ │ │ └── kt20844.kt │ │ │ ├── private │ │ │ ├── accessorForConst.kt │ │ │ ├── accessorStability.kt │ │ │ ├── accessorStabilityInClass.kt │ │ │ ├── effectivePrivate.kt │ │ │ ├── kt6453.kt │ │ │ ├── kt8094.kt │ │ │ ├── kt8095.kt │ │ │ ├── nestedInPrivateClass.kt │ │ │ ├── privateClass.kt │ │ │ ├── privateClassExtensionLambda.kt │ │ │ ├── privateInInlineInMultiFileFacade.kt │ │ │ └── privateInline.kt │ │ │ ├── property │ │ │ ├── augAssignmentAndInc.kt │ │ │ ├── augAssignmentAndIncInClass.kt │ │ │ ├── augAssignmentAndIncInClassViaConvention.kt │ │ │ ├── augAssignmentAndIncOnExtension.kt │ │ │ ├── augAssignmentAndIncOnExtensionInClass.kt │ │ │ ├── augAssignmentAndIncViaConvention.kt │ │ │ ├── property.kt │ │ │ ├── reifiedVal.kt │ │ │ ├── reifiedVar.kt │ │ │ ├── simple.kt │ │ │ └── simpleExtension.kt │ │ │ ├── reified │ │ │ ├── capturedLambda.kt │ │ │ ├── capturedLambda2.kt │ │ │ ├── checkCast │ │ │ │ ├── chain.kt │ │ │ │ ├── kt8043.kt │ │ │ │ ├── maxStack.kt │ │ │ │ ├── nullable.kt │ │ │ │ ├── simple.kt │ │ │ │ └── simpleSafe.kt │ │ │ ├── defaultLambda │ │ │ │ ├── chain.kt │ │ │ │ ├── nested.kt │ │ │ │ ├── nested2.kt │ │ │ │ ├── nested2Static.kt │ │ │ │ ├── nestedStatic.kt │ │ │ │ ├── simple.kt │ │ │ │ ├── transitiveChain.kt │ │ │ │ └── transitiveChainStatic.kt │ │ │ ├── isCheck │ │ │ │ ├── chain.kt │ │ │ │ ├── nullable.kt │ │ │ │ └── simple.kt │ │ │ ├── kt11081.kt │ │ │ ├── kt11677.kt │ │ │ ├── kt15997.kt │ │ │ ├── kt15997_2.kt │ │ │ ├── kt6988.kt │ │ │ ├── kt6988_2.kt │ │ │ ├── kt6990.kt │ │ │ ├── kt7017.kt │ │ │ ├── kt8047.kt │ │ │ ├── kt9637.kt │ │ │ ├── kt9637_2.kt │ │ │ └── packages.kt │ │ │ ├── signature │ │ │ ├── inProjectionSubstitution.kt │ │ │ ├── outProjectionSubstitution.kt │ │ │ ├── recursion.kt │ │ │ ├── sameFormalParameterName.kt │ │ │ ├── sameReifiedFormalParameterName.kt │ │ │ ├── starProjectionSubstitution.kt │ │ │ ├── typeParameterInLambda.kt │ │ │ ├── typeParametersSubstitution.kt │ │ │ └── typeParametersSubstitution2.kt │ │ │ ├── simple │ │ │ ├── classObject.kt │ │ │ ├── destructuring.kt │ │ │ ├── destructuringIndexClash.kt │ │ │ ├── extension.kt │ │ │ ├── extensionLambda.kt │ │ │ ├── funImportedFromObject.kt │ │ │ ├── params.kt │ │ │ ├── propImportedFromObject.kt │ │ │ ├── rootConstructor.kt │ │ │ ├── safeCall.kt │ │ │ ├── severalClosures.kt │ │ │ ├── severalUsage.kt │ │ │ ├── simpleDouble.kt │ │ │ ├── simpleEnum.kt │ │ │ ├── simpleGenerics.kt │ │ │ ├── simpleInt.kt │ │ │ ├── simpleLambda.kt │ │ │ ├── simpleObject.kt │ │ │ └── vararg.kt │ │ │ ├── smap │ │ │ ├── anonymous │ │ │ │ ├── kt19175.kt │ │ │ │ ├── lambda.kt │ │ │ │ ├── lambdaOnCallSite.kt │ │ │ │ ├── lambdaOnInlineCallSite.kt │ │ │ │ ├── object.kt │ │ │ │ ├── objectOnCallSite.kt │ │ │ │ ├── objectOnInlineCallSite.kt │ │ │ │ ├── objectOnInlineCallSite2.kt │ │ │ │ ├── objectOnInlineCallSiteWithCapture.kt │ │ │ │ └── severalMappingsForDefaultFile.kt │ │ │ ├── assertion.kt │ │ │ ├── classFromDefaultPackage.kt │ │ │ ├── defaultFunction.kt │ │ │ ├── defaultLambda │ │ │ │ ├── nested.kt │ │ │ │ └── simple.kt │ │ │ ├── inlineOnly │ │ │ │ ├── noSmap.kt │ │ │ │ ├── noSmapWithProperty.kt │ │ │ │ ├── reified.kt │ │ │ │ └── reifiedProperty.kt │ │ │ ├── newsmap │ │ │ │ ├── differentMapping.kt │ │ │ │ ├── mappingInInlineFunLambda.kt │ │ │ │ ├── mappingInSubInlineLambda.kt │ │ │ │ └── mappingInSubInlineLambdaSameFileInline.kt │ │ │ ├── oneFile.kt │ │ │ ├── resolve │ │ │ │ ├── inlineComponent.kt │ │ │ │ └── inlineIterator.kt │ │ │ └── smap.kt │ │ │ ├── special │ │ │ ├── identityCheck.kt │ │ │ ├── ifBranches.kt │ │ │ ├── iinc.kt │ │ │ ├── inlineChain.kt │ │ │ ├── loopInStoreLoadChains.kt │ │ │ ├── loopInStoreLoadChains2.kt │ │ │ ├── plusAssign.kt │ │ │ └── stackHeightBug.kt │ │ │ ├── stackOnReturn │ │ │ ├── elvis.kt │ │ │ ├── ifThenElse.kt │ │ │ ├── kt11499.kt │ │ │ ├── kt17591.kt │ │ │ ├── kt17591a.kt │ │ │ ├── kt17591b.kt │ │ │ ├── mixedTypesOnStack1.kt │ │ │ ├── mixedTypesOnStack2.kt │ │ │ ├── mixedTypesOnStack3.kt │ │ │ ├── nonLocalReturn1.kt │ │ │ ├── nonLocalReturn2.kt │ │ │ ├── nonLocalReturn3.kt │ │ │ ├── returnLong.kt │ │ │ └── tryFinally.kt │ │ │ ├── syntheticAccessors │ │ │ ├── constField.kt │ │ │ ├── packagePrivateMembers.kt │ │ │ ├── propertyModifiers.kt │ │ │ ├── protectedMembers.kt │ │ │ ├── protectedMembersFromSuper.kt │ │ │ ├── superCall.kt │ │ │ ├── superProperty.kt │ │ │ └── withinInlineLambda │ │ │ │ ├── directFieldAccess.kt │ │ │ │ ├── directFieldAccessInCrossInline.kt │ │ │ │ ├── privateCall.kt │ │ │ │ ├── privateInCrossInline.kt │ │ │ │ ├── superCall.kt │ │ │ │ └── superInCrossInline.kt │ │ │ ├── trait │ │ │ └── trait.kt │ │ │ ├── tryCatchFinally │ │ │ ├── kt5863.kt │ │ │ ├── tryCatch.kt │ │ │ ├── tryCatch2.kt │ │ │ └── tryCatchFinally.kt │ │ │ └── varargs │ │ │ ├── kt17653.kt │ │ │ ├── varargAndDefaultParameters.kt │ │ │ └── varargAndDefaultParameters2.kt │ └── compileKotlinAgainstKotlin │ │ ├── annotationInInterface.kt │ │ ├── annotationsOnTypeAliases.kt │ │ ├── callsToMultifileClassFromOtherPackage.kt │ │ ├── classInObject.kt │ │ ├── companionObjectInEnum.kt │ │ ├── companionObjectMember.kt │ │ ├── constPropertyReferenceFromMultifileClass.kt │ │ ├── constructorVararg.kt │ │ ├── coroutinesBinary.kt │ │ ├── defaultConstructor.kt │ │ ├── doublyNestedClass.kt │ │ ├── enum.kt │ │ ├── inlinedConstants.kt │ │ ├── innerClassConstructor.kt │ │ ├── jvmField.kt │ │ ├── jvmFieldInConstructor.kt │ │ ├── jvmNames.kt │ │ ├── jvmPackageName.kt │ │ ├── jvmPackageNameInRootPackage.kt │ │ ├── jvmPackageNameWithJvmName.kt │ │ ├── jvmStaticInObject.kt │ │ ├── kotlinPropertyAsAnnotationParameter.kt │ │ ├── kt14012.kt │ │ ├── kt14012_multi.kt │ │ ├── multifileClassInlineFunctionAccessingProperty.kt │ │ ├── multifileClassWithTypealias.kt │ │ ├── nestedClass.kt │ │ ├── nestedEnum.kt │ │ ├── nestedObject.kt │ │ ├── platformTypes.kt │ │ ├── propertyReference.kt │ │ ├── recursiveGeneric.kt │ │ ├── sealedClass.kt │ │ ├── secondaryConstructors.kt │ │ ├── simple.kt │ │ ├── simpleValAnonymousObject.kt │ │ ├── starImportEnum.kt │ │ ├── targetedJvmName.kt │ │ └── typeAliasesKt13181.kt │ ├── framework │ ├── main.swift │ ├── stdlib │ │ ├── stdlib.kt │ │ └── stdlib.swift │ └── values │ │ ├── values.kt │ │ └── values.swift │ ├── helpers.kt │ ├── interop │ ├── basics │ │ ├── 0.kt │ │ ├── 1.kt │ │ ├── 2.kt │ │ ├── 3.kt │ │ ├── 4.kt │ │ ├── bf.kt │ │ ├── bitfields.def │ │ ├── cfunptr.def │ │ ├── cglobals.def │ │ ├── cmacros.def │ │ ├── cstdio.def │ │ ├── echo_server.kt │ │ ├── funptr.kt │ │ ├── globals.kt │ │ ├── macros.kt │ │ ├── opengl_teapot.kt │ │ └── sockets.def │ ├── libiconv.kt │ └── objc │ │ ├── objcSmoke.def │ │ ├── smoke.h │ │ ├── smoke.kt │ │ └── smoke.m │ ├── jsinterop │ └── math.kt │ ├── link │ ├── default │ │ └── default.kt │ ├── lib │ │ ├── foo.kt │ │ └── foo2.kt │ ├── omit │ │ ├── hello.kt │ │ └── lib.kt │ ├── purge1 │ │ ├── lib.kt │ │ └── prog.kt │ └── src │ │ └── bar.kt │ ├── lower │ ├── tailrec.kt │ ├── vararg.kt │ └── vararg_of_literals.kt │ ├── mangling │ ├── mangling.kt │ └── manglinglib.kt │ ├── produce_dynamic │ └── simple │ │ ├── hello.kt │ │ └── main.c │ ├── runtime │ ├── basic │ │ ├── args0.kt │ │ ├── assert_failed.kt │ │ ├── assert_passed.kt │ │ ├── driver0.kt │ │ ├── empty_substring.kt │ │ ├── entry0.kt │ │ ├── entry1.kt │ │ ├── entry2.kt │ │ ├── exit.kt │ │ ├── for0.kt │ │ ├── hash0.kt │ │ ├── hello0.kt │ │ ├── hello1.kt │ │ ├── hello2.kt │ │ ├── hello3.kt │ │ ├── hello4.kt │ │ ├── ieee754.kt │ │ ├── initializers0.kt │ │ ├── initializers1.kt │ │ ├── initializers2.kt │ │ ├── initializers3.kt │ │ ├── initializers4.kt │ │ ├── initializers5.kt │ │ ├── interface0.kt │ │ ├── libentry2.kt │ │ ├── main_exception.kt │ │ ├── readline0.kt │ │ ├── readline1.kt │ │ ├── standard.kt │ │ ├── statements0.kt │ │ ├── throw0.kt │ │ ├── tostring0.kt │ │ ├── tostring1.kt │ │ ├── tostring2.kt │ │ └── tostring3.kt │ ├── collections │ │ ├── AbstractMutableCollection.kt │ │ ├── BitSet.kt │ │ ├── array0.kt │ │ ├── array1.kt │ │ ├── array2.kt │ │ ├── array3.kt │ │ ├── array_list1.kt │ │ ├── hash_map0.kt │ │ ├── hash_set0.kt │ │ ├── listof0.kt │ │ ├── moderately_large_array.kt │ │ ├── moderately_large_array1.kt │ │ ├── range0.kt │ │ ├── sort0.kt │ │ ├── sort1.kt │ │ ├── typed_array0.kt │ │ └── typed_array1.kt │ ├── exceptions │ │ ├── catch1.kt │ │ ├── catch2.kt │ │ ├── catch7.kt │ │ └── extend0.kt │ ├── memory │ │ ├── basic0.kt │ │ ├── cycles0.kt │ │ ├── escape0.kt │ │ ├── escape1.kt │ │ ├── escape2.kt │ │ ├── throw_cleanup.kt │ │ ├── var1.kt │ │ ├── var2.kt │ │ ├── var3.kt │ │ ├── var4.kt │ │ ├── weak0.kt │ │ └── weak1.kt │ ├── text │ │ ├── chars0.kt │ │ ├── parse0.kt │ │ ├── string0.kt │ │ ├── string_builder0.kt │ │ ├── string_builder1.kt │ │ ├── to_string0.kt │ │ ├── trim.kt │ │ └── utf8.kt │ └── workers │ │ ├── freeze0.kt │ │ ├── freeze1.kt │ │ ├── freeze_stress.kt │ │ ├── worker0.kt │ │ ├── worker1.kt │ │ ├── worker2.kt │ │ ├── worker3.kt │ │ ├── worker4.kt │ │ ├── worker5.kt │ │ ├── worker6.kt │ │ ├── worker7.kt │ │ └── worker8.kt │ ├── serialization │ ├── catch.kt │ ├── default_args.kt │ ├── deserialize_members.kt │ ├── deserialized_inline0.kt │ ├── deserialized_listof0.kt │ ├── do_while.kt │ ├── prop.kt │ ├── regression │ │ └── no_type_map.kt │ ├── serialize_members.kt │ ├── use.kt │ └── vararg.kt │ ├── stdlib_external │ ├── OrderingTest.kt │ ├── TuplesTest.kt │ ├── collections │ │ ├── ArraysTest.kt │ │ ├── CollectionBehaviors.kt │ │ ├── CollectionTest.kt │ │ ├── ComparisonDSL.kt │ │ ├── GroupingTest.kt │ │ ├── IterableTests.kt │ │ ├── IteratorsTest.kt │ │ ├── ListBinarySearchTest.kt │ │ ├── ListSpecificTest.kt │ │ ├── MapTest.kt │ │ ├── MutableCollectionsTest.kt │ │ ├── ReversedViewsTest.kt │ │ ├── SequenceTest.kt │ │ └── SetOperationsTest.kt │ ├── coroutines │ │ ├── CoroutineContextTest.kt │ │ ├── CoroutinesReferenceValuesTest.kt │ │ └── SequenceBuilderTest.kt │ ├── language │ │ └── EscapedTestNamesTest.kt │ ├── numbers │ │ ├── BitwiseOperationsTest.kt │ │ ├── HarmonyMathTests.kt │ │ ├── MathExceptionTest.kt │ │ ├── MathTest.kt │ │ ├── NaNPropagationTest.kt │ │ └── NumbersTest.kt │ ├── properties │ │ └── delegation │ │ │ ├── DelegationTest.kt │ │ │ ├── MapAccessorsTest.kt │ │ │ └── lazy │ │ │ └── LazyValuesTest.kt │ ├── ranges │ │ ├── CoercionTest.kt │ │ ├── ProgressionLastElementTest.kt │ │ ├── RangeIterationTest.kt │ │ └── RangeTest.kt │ ├── testUtils.kt │ ├── text │ │ ├── RegexTest.kt │ │ ├── StringBuilderTest.kt │ │ ├── StringNumberConversionTest.kt │ │ ├── StringTest.kt │ │ └── harmony_regex │ │ │ ├── AllCodePointsTest.kt │ │ │ ├── MatchResultTest.kt │ │ │ ├── MatchResultTest2.kt │ │ │ ├── ModeTest.kt │ │ │ ├── PatternErrorTest.kt │ │ │ ├── PatternSyntaxExceptionTest.kt │ │ │ ├── PatternTest.kt │ │ │ ├── PatternTest2.kt │ │ │ ├── ReplaceTest.kt │ │ │ └── SplitTest.kt │ └── utils │ │ ├── KotlinVersionTest.kt │ │ ├── LazyTest.kt │ │ ├── PreconditionsTest.kt │ │ └── TODOTest.kt │ ├── teamcity-test.property │ ├── testLibrary │ └── kotlin │ │ └── test_platform_lib.kt │ ├── testUtils.kt │ └── testing │ ├── annotations.kt │ ├── assertions.kt │ └── custom_main.kt ├── build.gradle ├── buildSrc ├── build.gradle ├── plugins │ ├── build.gradle │ └── src │ │ └── main │ │ ├── groovy │ │ └── org │ │ │ └── jetbrains │ │ │ └── kotlin │ │ │ ├── CompileToBitcode.groovy │ │ │ ├── KonanTest.groovy │ │ │ ├── NativeInteropPlugin.groovy │ │ │ └── Reporter.groovy │ │ └── kotlin │ │ └── org │ │ └── jetbrains │ │ └── kotlin │ │ ├── ExecClang.kt │ │ ├── ExecutorService.kt │ │ ├── FrameworkTest.kt │ │ ├── KLibInstall.kt │ │ └── Utils.kt ├── settings.gradle └── shared │ └── build.gradle ├── cmd ├── cinterop ├── cinterop.bat ├── jsinterop ├── jsinterop.bat ├── klib ├── klib.bat ├── konanc ├── konanc.bat ├── kotlinc ├── kotlinc-native ├── kotlinc-native.bat ├── kotlinc.bat ├── run_konan └── run_konan.bat ├── common ├── build.gradle └── src │ └── hash │ ├── cpp │ ├── Base64.cpp │ ├── City.cpp │ ├── Names.cpp │ └── Sha1.cpp │ └── headers │ ├── Base64.h │ ├── City.h │ ├── Names.h │ └── Sha1.h ├── contrib └── binaryen.diff ├── dependencies └── build.gradle ├── gradle.properties ├── gradle ├── kotlinGradlePlugin.gradle ├── loadRootProperties.gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── klib ├── build.gradle └── src │ ├── main │ └── kotlin │ │ └── org │ │ └── jetbrains │ │ └── kotlin │ │ └── cli │ │ └── klib │ │ ├── KlibPrinter.kt │ │ └── main.kt │ └── test │ ├── kotlin │ └── org │ │ └── jetbrains │ │ └── kotlin │ │ └── cli │ │ └── klib │ │ └── test │ │ └── ContentsTest.kt │ └── testData │ ├── Accessors.kt │ ├── Classes.kt │ ├── Constructors.kt │ ├── Enum.kt │ ├── FunctionModifiers.kt │ ├── MethodModality.kt │ ├── Objects.kt │ └── TopLevelFunctions.kt ├── konan ├── konan.properties └── platforms │ └── zephyr │ └── stm32f4_disco ├── libclangext ├── build.gradle └── src │ └── main │ ├── cpp │ └── ClangExt.cpp │ └── include │ └── clang-c │ └── ext.h ├── licenses ├── LICENSE.txt ├── NOTICE.txt └── third_party │ ├── args4j_LICENSE.txt │ ├── asm_license.txt │ ├── boost_LICENSE.txt │ ├── closure-compiler_LICENSE.txt │ ├── dart_LICENSE.txt │ ├── glibc_license.txt │ ├── harmony_LICENSE.txt │ ├── jshashtable_license.txt │ ├── json_LICENSE.txt │ ├── libffi_license.txt │ ├── llvm_license.txt │ ├── maven_LICENSE.txt │ ├── pcollections_LICENSE.txt │ ├── prototype_license.txt │ ├── rhino_LICENSE.txt │ ├── scala_license.txt │ ├── sdl_license.txt │ ├── trove_license.txt │ ├── trove_readme_license.txt │ ├── unicode_LICENSE.txt │ ├── xcode_license.pdf │ └── zephyr_LICENSE.txt ├── llvmDebugInfoC ├── build.gradle └── src │ ├── dwarf │ └── include │ │ └── dwarf_util.kt.pp │ ├── main │ ├── cpp │ │ └── DebugInfoC.cpp │ └── include │ │ └── DebugInfoC.h │ └── scripts │ └── konan_lldb.py ├── performance ├── build.gradle └── src │ └── main │ ├── kotlin-jvm │ └── cleanup.kt │ ├── kotlin-native │ └── cleanup.kt │ └── kotlin │ ├── main.kt │ └── org │ └── jetbrains │ └── ring │ ├── AbstractMethodBenchmark.kt │ ├── ClassArrayBenchmark.kt │ ├── ClassBaselineBenchmark.kt │ ├── ClassListBenchmark.kt │ ├── ClassStreamBenchmark.kt │ ├── CompanionObjectBenchmark.kt │ ├── Data.kt │ ├── DefaultArgumentBenchmark.kt │ ├── ElvisBenchmark.kt │ ├── EulerBenchmark.kt │ ├── FibonacciBenchmark.kt │ ├── InlineBenchmark.kt │ ├── IntArrayBenchmark.kt │ ├── IntBaselineBenchmark.kt │ ├── IntListBenchmark.kt │ ├── IntStreamBenchmark.kt │ ├── LambdaBenchmark.kt │ ├── LoopBenchmark.kt │ ├── MatrixMapBenchmark.kt │ ├── OctoTest │ ├── basicTest.kt │ └── ocTree.kt │ ├── ParameterNotNullAssertionBenchmark.kt │ ├── PrimeListBenchmark.kt │ ├── StringBenchmark.kt │ ├── SwitchBenchmark.kt │ ├── Utils.kt │ ├── WithIndiciesBenchmark.kt │ ├── launcher.kt │ └── zdf-win.kt ├── platformLibs ├── build.gradle └── src │ └── platform │ ├── android │ ├── android.def │ ├── egl.def │ ├── gles.def │ ├── gles2.def │ ├── gles3.def │ ├── glesCommon.def │ ├── linux.def │ ├── media.def │ ├── omxal.def │ ├── posix.def │ ├── sles.def │ └── zlib.def │ ├── ios │ ├── AVFoundation.def │ ├── AVKit.def │ ├── Accelerate.def │ ├── Accounts.def │ ├── AdSupport.def │ ├── AddressBook.def │ ├── AddressBookUI.def │ ├── AssetsLibrary.def │ ├── AudioToolbox.def │ ├── CFNetwork.def │ ├── CallKit.def │ ├── CloudKit.def │ ├── Contacts.def │ ├── ContactsUI.def │ ├── CoreAudio.def │ ├── CoreAudioKit.def │ ├── CoreBluetooth.def │ ├── CoreData.def │ ├── CoreFoundation.def │ ├── CoreGraphics.def │ ├── CoreImage.def │ ├── CoreLocation.def │ ├── CoreMIDI.def │ ├── CoreMedia.def │ ├── CoreMotion.def │ ├── CoreSpotlight.def │ ├── CoreTelephony.def │ ├── CoreText.def │ ├── CoreVideo.def │ ├── EAGL.def │ ├── EventKit.def │ ├── EventKitUI.def │ ├── ExternalAccessory.def │ ├── FileProvider.def │ ├── Foundation.def │ ├── GLKit.def │ ├── GSS.def │ ├── GameController.def │ ├── GameKit.def │ ├── GameplayKit.def │ ├── HealthKit.def │ ├── HealthKitUI.def │ ├── HomeKit.def │ ├── IOSurface.def │ ├── ImageIO.def │ ├── Intents.def │ ├── IntentsUI.def │ ├── JavaScriptCore.def.disabled │ ├── LocalAuthentication.def │ ├── MapKit.def │ ├── MediaAccessibility.def │ ├── MediaPlayer.def │ ├── MediaToolbox.def │ ├── MessageUI.def │ ├── Messages.def │ ├── Metal.def │ ├── MetalKit.def │ ├── MetalPerformanceShaders.def.disabled │ ├── MobileCoreServices.def │ ├── ModelIO.def │ ├── MultipeerConnectivity.def │ ├── NetworkExtension.def │ ├── NewsstandKit.def │ ├── NotificationCenter.def │ ├── OpenAL.def │ ├── OpenGLES.def │ ├── OpenGLES2.def │ ├── OpenGLES3.def │ ├── OpenGLESCommon.def │ ├── PassKit.def │ ├── Photos.def │ ├── PhotosUI.def │ ├── PushKit.def │ ├── QuartzCore.def │ ├── QuickLook.def │ ├── ReplayKit.def │ ├── SafariServices.def │ ├── SceneKit.def │ ├── Security.def │ ├── Social.def │ ├── Speech.def │ ├── SpriteKit.def │ ├── StoreKit.def │ ├── SystemConfiguration.def │ ├── Twitter.def │ ├── UIKit.def │ ├── UserNotifications.def │ ├── UserNotificationsUI.def │ ├── VideoSubscriberAccount.def │ ├── VideoToolbox.def │ ├── WatchConnectivity.def │ ├── WatchKit.def │ ├── WebKit.def │ ├── darwin.def │ ├── iAd.def │ ├── iconv.def │ ├── objc.def │ ├── posix.def │ └── zlib.def │ ├── linux │ ├── iconv.def │ ├── linux.def │ ├── posix.def │ └── zlib.def │ ├── mingw │ ├── gdiplus.def │ ├── opengl32.def │ ├── posix.def │ └── windows.def │ └── osx │ ├── AppKit.def │ ├── ApplicationServices.def │ ├── CFNetwork.def │ ├── CoreData.def │ ├── CoreFoundation.def │ ├── CoreGraphics.def │ ├── CoreImage.def │ ├── CoreServices.def │ ├── CoreText.def │ ├── CoreVideo.def │ ├── DiskArbitration.def │ ├── Foundation.def │ ├── GLUT.def │ ├── IOKit.def │ ├── IOSurface.def │ ├── ImageIO.def │ ├── Metal.def │ ├── OpenGL.def │ ├── OpenGL3.def │ ├── OpenGLCommon.def │ ├── QuartzCore.def │ ├── Security.def │ ├── darwin.def │ ├── iconv.def │ ├── libkern.def │ ├── objc.def │ ├── osx.def │ ├── posix.def │ └── zlib.def ├── runtime ├── build.gradle └── src │ ├── launcher │ ├── cpp │ │ ├── androidLauncher.cpp │ │ ├── androidLauncher.h │ │ └── launcher.cpp │ ├── js │ │ ├── index.html │ │ └── launcher.js │ └── kotlin │ │ └── konan │ │ └── start.kt │ └── main │ ├── cpp │ ├── Alloc.h │ ├── Arrays.cpp │ ├── Assert.cpp │ ├── Assert.h │ ├── Atomic.h │ ├── Boxing.cpp │ ├── Common.h │ ├── Console.cpp │ ├── DoubleConversions.h │ ├── Exceptions.cpp │ ├── Exceptions.h │ ├── ExecFormat.cpp │ ├── ExecFormat.h │ ├── Interop.cpp │ ├── JSInterop.cpp │ ├── KDebug.cpp │ ├── KDebug.h │ ├── KString.cpp │ ├── KString.h │ ├── KotlinMath.cpp │ ├── KotlinMath.h │ ├── Memory.cpp │ ├── Memory.h │ ├── MemoryPrivate.hpp │ ├── Natives.cpp │ ├── Natives.h │ ├── ObjCExport.h │ ├── ObjCExport.mm │ ├── ObjCExportCollections.mm │ ├── ObjCExportErrors.mm │ ├── ObjCInterop.cpp │ ├── ObjCInteropUtils.mm │ ├── Operator.cpp │ ├── Porting.cpp │ ├── Porting.h │ ├── Regex.cpp │ ├── ReturnSlot.cpp │ ├── ReturnSlot.h │ ├── Runtime.cpp │ ├── Runtime.h │ ├── StdCppStubs.cpp │ ├── Time.cpp │ ├── ToString.cpp │ ├── TypeInfo.cpp │ ├── TypeInfo.h │ ├── Types.cpp │ ├── Types.h │ ├── Utils.h │ ├── Weak.cpp │ ├── Worker.cpp │ ├── dlmalloc │ │ └── malloc.cpp │ ├── dtoa │ │ ├── cbigint.cpp │ │ ├── cbigint.h │ │ ├── dblparse.cpp │ │ ├── fltconst.h │ │ ├── fltparse.cpp │ │ └── hycomp.h │ ├── math │ │ ├── COPYRIGHT │ │ ├── endian.h │ │ ├── fmod.cpp │ │ ├── fmodf.cpp │ │ ├── libm.h │ │ └── scalbn.cpp │ ├── snprintf │ │ ├── AUTHORS │ │ ├── COPYING │ │ └── snprintf.cpp │ ├── utf8.h │ └── utf8 │ │ ├── checked.h │ │ ├── core.h │ │ ├── unchecked.h │ │ └── with_replacement.h │ ├── js │ └── math.js │ └── kotlin │ ├── konan │ ├── Annotations.kt │ ├── BinaryBlob.kt │ ├── TypedArrays.kt │ ├── concurrent.kt │ ├── internal │ │ ├── Annotations.kt │ │ ├── Boxing.kt │ │ ├── Char.kt │ │ ├── Coroutines.kt │ │ ├── DefaultConstructorMarker.kt │ │ ├── FloatingPointParser.kt │ │ ├── GC.kt │ │ ├── HexStringParser.kt │ │ ├── InteropBoxing.kt │ │ ├── Intrinsics.kt │ │ ├── KClassImpl.kt │ │ ├── KFunctionImpl.kt │ │ ├── KPropertyImpl.kt │ │ ├── KonanCollections.kt │ │ ├── NativePtr.kt │ │ ├── NumberConverter.kt │ │ ├── ObjCExportUtils.kt │ │ ├── Ref.kt │ │ ├── RuntimeUtils.kt │ │ ├── Strings.kt │ │ └── Undefined.kt │ ├── ref │ │ ├── Weak.kt │ │ └── WeakPrivate.kt │ ├── runtime.kt │ ├── test │ │ ├── GTestLogger.kt │ │ ├── Launcher.kt │ │ ├── TeamCityLogger.kt │ │ ├── TestListener.kt │ │ ├── TestLogger.kt │ │ ├── TestRunner.kt │ │ ├── TestStatistics.kt │ │ └── TestSuite.kt │ └── worker │ │ ├── Freezing.kt │ │ ├── Future.kt │ │ ├── ObjectTransfer.kt │ │ └── Worker.kt │ └── kotlin │ ├── Annotation.kt │ ├── Annotations.kt │ ├── Any.kt │ ├── Array.kt │ ├── Arrays.kt │ ├── Assertions.kt │ ├── BitSet.kt │ ├── Boolean.kt │ ├── Char.kt │ ├── CharSequence.kt │ ├── Comparable.kt │ ├── Enum.kt │ ├── Exceptions.kt │ ├── Experimental.kt │ ├── Function.kt │ ├── Functions.kt │ ├── KotlinVersion.kt │ ├── Lazy.kt │ ├── Nothing.kt │ ├── Number.kt │ ├── Numbers.kt │ ├── Primitives.kt │ ├── String.kt │ ├── SuspendFunction.kt │ ├── SuspendFunctions.kt │ ├── Throwable.kt │ ├── Unit.kt │ ├── annotation │ └── Annotations.kt │ ├── collections │ ├── AbstractCollection.kt │ ├── AbstractIterator.kt │ ├── AbstractList.kt │ ├── AbstractSet.kt │ ├── ArrayList.kt │ ├── ArrayUtil.kt │ ├── Arrays.kt │ ├── Collection.kt │ ├── Collections.kt │ ├── Grouping.kt │ ├── HashMap.kt │ ├── HashSet.kt │ ├── IndexedValue.kt │ ├── IntUtil.kt │ ├── Iterables.kt │ ├── Iterator.kt │ ├── Iterators.kt │ ├── List.kt │ ├── Map.kt │ ├── MapAccessors.kt │ ├── MapWithDefault.kt │ ├── Maps.kt │ ├── MutableCollections.kt │ ├── RandomAccess.kt │ ├── ReversedViews.kt │ ├── Set.kt │ ├── Sets.kt │ └── SlidingWindow.kt │ ├── comparisons │ └── Comparisons.kt │ ├── coroutines │ └── experimental │ │ ├── ContinuationInterceptor.kt │ │ ├── CoroutineContext.kt │ │ ├── Coroutines.kt │ │ ├── CoroutinesLibrary.kt │ │ ├── EmptyCoroutineContext.kt │ │ ├── SequenceBuilder.kt │ │ └── intrinsics │ │ └── Intrinsics.kt │ ├── internal │ ├── Annotations.kt │ └── progressionUtil.kt │ ├── io │ └── Console.kt │ ├── math │ └── math.kt │ ├── properties │ ├── Delegates.kt │ ├── Interfaces.kt │ └── ObservableProperty.kt │ ├── ranges │ ├── ProgressionIterators.kt │ ├── Progressions.kt │ ├── Range.kt │ ├── Ranges.kt │ └── _Ranges.kt │ ├── reflect │ ├── KAnnotatedElement.kt │ ├── KCallable.kt │ ├── KClass.kt │ ├── KClassifier.kt │ ├── KDeclarationContainer.kt │ ├── KFunction.kt │ ├── KFunctions.kt │ └── KProperty.kt │ ├── sequences │ ├── Sequence.kt │ └── Sequences.kt │ ├── system │ ├── Process.kt │ └── Timing.kt │ ├── test │ ├── Annotation.kt │ ├── Assertions.kt │ ├── DefaultAsserter.kt │ └── Utils.kt │ ├── text │ ├── Appendable.kt │ ├── Char.kt │ ├── CharCategory.kt │ ├── Indent.kt │ ├── MatchResult.kt │ ├── PatternSyntaxException.kt │ ├── Regex.kt │ ├── StringBuilder.kt │ ├── StringBuilderNative.kt │ ├── StringNumberConversions.kt │ ├── Strings.kt │ └── regex │ │ ├── AbstractCharClass.kt │ │ ├── AbstractLineTerminator.kt │ │ ├── CharClass.kt │ │ ├── Lexer.kt │ │ ├── MatchResultImpl.kt │ │ ├── Pattern.kt │ │ ├── Quantifier.kt │ │ └── sets │ │ ├── AbstractSet.kt │ │ ├── AtomicJointSet.kt │ │ ├── BackReferenceSet.kt │ │ ├── CharSet.kt │ │ ├── CompositeRangeSet.kt │ │ ├── DecomposedCharSet.kt │ │ ├── DotQuantifierSet.kt │ │ ├── DotSet.kt │ │ ├── EOISet.kt │ │ ├── EOLSet.kt │ │ ├── EmptySet.kt │ │ ├── FSets.kt │ │ ├── GroupQuantifierSet.kt │ │ ├── HangulDecomposedCharSet.kt │ │ ├── JointSet.kt │ │ ├── LeafQuantifierSet.kt │ │ ├── LeafSet.kt │ │ ├── LookAheadSets.kt │ │ ├── LookBehindSets.kt │ │ ├── NonCapturingJointSet.kt │ │ ├── PossessiveGroupQuantifierSet.kt │ │ ├── PossessiveLeafQuantifierSet.kt │ │ ├── PreviousMatchSet.kt │ │ ├── QuantifierSet.kt │ │ ├── RangeSet.kt │ │ ├── ReluctantGroupQuantifierSet.kt │ │ ├── ReluctantLeafQuantifierSet.kt │ │ ├── SOLSet.kt │ │ ├── SequenceSet.kt │ │ ├── SingleSet.kt │ │ ├── SupplementaryCharSet.kt │ │ ├── SupplementaryRangeSet.kt │ │ ├── SurrogateCharSets.kt │ │ ├── SurrogateRangeSet.kt │ │ ├── UnifiedQuantifierSet.kt │ │ └── WordBoundarySet.kt │ └── util │ ├── Lateinit.kt │ ├── Preconditions.kt │ ├── Sort.kt │ ├── Standard.kt │ └── Tuples.kt ├── samples ├── README.md ├── androidNativeActivity │ ├── README.md │ ├── android.def │ ├── androidLauncher.h │ ├── build.gradle │ ├── gradle.properties │ ├── settings.gradle │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── assets │ │ └── kotlin_logo.bmp │ │ ├── kotlin │ │ ├── engine.kt │ │ ├── polyhedra.kt │ │ ├── renderer.kt │ │ └── vectors.kt │ │ └── res │ │ ├── mipmap-hdpi │ │ └── konan_activity.png │ │ ├── mipmap-mdpi │ │ └── konan_activity.png │ │ ├── mipmap-xhdpi │ │ └── konan_activity.png │ │ ├── mipmap-xxhdpi │ │ └── konan_activity.png │ │ └── values │ │ └── strings.xml ├── build.gradle ├── build.sh ├── calculator │ ├── README.md │ ├── android │ │ ├── build.gradle │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── kotlin │ │ │ └── org │ │ │ │ └── konan │ │ │ │ └── calculator │ │ │ │ └── MainActivity.kt │ │ │ └── res │ │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── drawable │ │ │ └── ic_launcher_background.xml │ │ │ ├── layout │ │ │ └── activity_main.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ ├── build.gradle │ ├── common │ │ ├── build.gradle │ │ └── src │ │ │ └── main │ │ │ └── kotlin │ │ │ └── org │ │ │ └── konan │ │ │ └── arithmeticparser │ │ │ └── Parser.kt │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── ios │ │ ├── build.gradle │ │ ├── calculator.xcodeproj │ │ │ ├── project.pbxproj │ │ │ └── project.xcworkspace │ │ │ │ └── contents.xcworkspacedata │ │ └── calculator │ │ │ ├── AppDelegate.swift │ │ │ ├── Assets.xcassets │ │ │ └── AppIcon.appiconset │ │ │ │ └── Contents.json │ │ │ ├── Base.lproj │ │ │ ├── LaunchScreen.storyboard │ │ │ └── Main.storyboard │ │ │ ├── Info.plist │ │ │ └── ViewController.swift │ ├── jvm │ │ ├── build.gradle │ │ └── src │ │ │ └── main │ │ │ └── kotlin │ │ │ └── org │ │ │ └── konan │ │ │ └── calculator │ │ │ └── JvmCli.kt │ └── settings.gradle ├── csvparser │ ├── European_Mammals_Red_List_Nov_2009.csv │ ├── README.md │ ├── build.bat │ ├── build.gradle │ ├── build.sh │ ├── gradle.properties │ └── src │ │ └── main │ │ └── kotlin │ │ └── CsvParser.kt ├── curl │ ├── README.md │ ├── build.gradle │ ├── build.sh │ ├── gradle.properties │ ├── libcurl.iml │ └── src │ │ └── main │ │ └── kotlin │ │ ├── main.kt │ │ └── org │ │ └── konan │ │ └── libcurl │ │ ├── CUrl.kt │ │ ├── Event.kt │ │ └── Program.kt ├── gitchurn │ ├── README.md │ ├── build.gradle │ ├── build.sh │ ├── gradle.properties │ └── src │ │ └── main │ │ ├── c_interop │ │ └── libgit2.def │ │ └── kotlin │ │ ├── main.kt │ │ └── org │ │ └── konan │ │ └── libgit │ │ ├── GitChurn.kt │ │ ├── GitCommit.kt │ │ ├── GitDiff.kt │ │ ├── GitRemote.kt │ │ ├── GitRepository.kt │ │ ├── GitTree.kt │ │ └── git.kt ├── globalState │ ├── README.md │ ├── build.gradle │ └── src │ │ └── main │ │ ├── c_interop │ │ └── global.def │ │ └── kotlin │ │ └── Global.kt ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── gtk │ ├── README.md │ ├── build.gradle │ ├── build.sh │ └── src │ │ └── main │ │ ├── c_interop │ │ └── gtk3.def │ │ └── kotlin │ │ └── Main.kt ├── html5Canvas │ ├── build.bat │ ├── build.sh │ ├── index.html │ └── src │ │ └── main │ │ └── kotlin │ │ └── main.kt ├── konan.sh ├── libcurl │ ├── build.gradle │ ├── gradle.properties │ └── src │ │ └── main │ │ └── c_interop │ │ └── libcurl.def ├── nonBlockingEchoServer │ ├── README.md │ ├── build.gradle │ ├── build.sh │ ├── gradle.properties │ └── src │ │ └── main │ │ └── kotlin │ │ └── EchoServer.kt ├── objc │ ├── build.gradle │ ├── build.sh │ └── src │ │ └── main │ │ └── kotlin │ │ └── Window.kt ├── opengl │ ├── README.md │ ├── build.gradle │ ├── build.sh │ └── src │ │ └── main │ │ └── kotlin │ │ └── OpenGlTeapot.kt ├── python_extension │ ├── README.md │ ├── build.bat │ ├── build.sh │ └── src │ │ └── main │ │ ├── c │ │ └── kotlin_bridge.c │ │ ├── kotlin │ │ └── Server.kt │ │ └── python │ │ ├── main.py │ │ └── setup.py ├── settings.gradle ├── socket │ ├── README.md │ ├── build.gradle │ ├── build.sh │ ├── gradle.properties │ └── src │ │ └── main │ │ └── kotlin │ │ └── EchoServer.kt ├── tensorflow │ ├── README.md │ ├── build.gradle │ ├── build.sh │ ├── downloadTensorflow.sh │ └── src │ │ └── main │ │ ├── c_interop │ │ └── tensorflow.def │ │ └── kotlin │ │ └── HelloTensorflow.kt ├── tetris │ ├── README.md │ ├── Tetris.rc │ ├── build.bat │ ├── build.gradle │ ├── build.sh │ └── src │ │ └── main │ │ ├── c_interop │ │ └── sdl.def │ │ ├── kotlin │ │ └── Tetris.kt │ │ └── resources │ │ ├── Info.plist │ │ └── tetris_all.bmp ├── torch │ ├── README.md │ ├── build.gradle │ ├── build.sh │ ├── downloadMNIST.sh │ ├── downloadTorch.sh │ └── src │ │ └── main │ │ ├── c_interop │ │ └── torch.def │ │ └── kotlin │ │ ├── ClassifierDemo.kt │ │ ├── Dataset.kt │ │ ├── Disposable.kt │ │ ├── Modules.kt │ │ ├── SmallDemos.kt │ │ └── Tensors.kt ├── uikit │ ├── .gitignore │ ├── README.md │ ├── build.gradle │ ├── build.sh │ ├── konan.xcodeproj │ │ ├── project.pbxproj │ │ └── project.xcworkspace │ │ │ └── contents.xcworkspacedata │ ├── konan │ │ ├── Assets.xcassets │ │ │ └── AppIcon.appiconset │ │ │ │ └── Contents.json │ │ ├── Base.lproj │ │ │ ├── LaunchScreen.storyboard │ │ │ └── Main.storyboard │ │ └── Info.plist │ └── src │ │ └── main │ │ └── kotlin │ │ └── main.kt ├── videoplayer │ ├── README.md │ ├── build.gradle │ └── src │ │ └── main │ │ ├── c_interop │ │ ├── ffmpeg.def │ │ └── sdl.def │ │ └── kotlin │ │ ├── DecoderWorker.kt │ │ ├── Dimensions.kt │ │ ├── Disposable.kt │ │ ├── Queue.kt │ │ ├── SDLAudio.kt │ │ ├── SDLErrors.kt │ │ ├── SDLInput.kt │ │ ├── SDLVideo.kt │ │ └── VideoPlayer.kt ├── win32 │ ├── README.md │ ├── build.bat │ ├── build.gradle │ └── src │ │ └── main │ │ └── kotlin │ │ └── MessageBox.kt ├── workers │ ├── README.md │ ├── build.gradle │ ├── build.sh │ └── src │ │ └── main │ │ └── kotlin │ │ └── Workers.kt └── zephyr │ ├── CMakeLists.txt │ ├── build.bat │ ├── build.sh │ ├── c_interop │ └── platforms │ │ ├── stm32f4_disco.bat │ │ ├── stm32f4_disco.def │ │ └── stm32f4_disco.sh │ ├── prj.conf │ └── src │ └── main.kt ├── settings.gradle ├── shared ├── build.gradle ├── buildSrc │ ├── build.gradle │ └── src │ │ └── main │ │ └── kotlin │ │ └── org │ │ └── jetbrains │ │ └── kotlin │ │ └── VersionGenerator.kt ├── settings.gradle └── src │ └── main │ └── kotlin │ └── org │ └── jetbrains │ └── kotlin │ └── konan │ ├── Exceptions.kt │ ├── MetaVersion.kt │ ├── TempFiles.kt │ ├── VisibleNamed.kt │ ├── exec │ └── ExecuteCommand.kt │ ├── file │ ├── File.kt │ └── NativeFileType.kt │ ├── library │ └── SearchPathResolver.kt │ ├── target │ ├── Apple.kt │ ├── ClangArgs.kt │ ├── Configurables.kt │ ├── ConfigurablesImpl.kt │ ├── Distribution.kt │ ├── KonanProperties.kt │ ├── KonanTarget.kt │ ├── Linker.kt │ ├── Platform.kt │ ├── Properties.kt │ ├── TargetProperties.kt │ └── Xcode.kt │ └── util │ ├── DefFile.kt │ ├── DependencyDownloader.kt │ ├── DependencyExtractor.kt │ ├── DependencyProcessor.kt │ ├── Helper0.kt │ ├── Substitution.kt │ ├── TargetDefFile.kt │ └── Util.kt ├── tools ├── kotlin-native-gradle-plugin │ ├── build.gradle │ ├── settings.gradle │ └── src │ │ ├── main │ │ └── kotlin │ │ │ └── org │ │ │ └── jetbrains │ │ │ └── kotlin │ │ │ └── gradle │ │ │ └── plugin │ │ │ ├── EnvironmentVariables.kt │ │ │ ├── KonanArtifactContainer.kt │ │ │ ├── KonanBuildingConfig.kt │ │ │ ├── KonanCompileConfig.kt │ │ │ ├── KonanInteropLibrary.kt │ │ │ ├── KonanLibrariesSpec.kt │ │ │ ├── KonanPlugin.kt │ │ │ ├── KonanSpecs.kt │ │ │ ├── KonanToolRunner.kt │ │ │ ├── KonanToolingModelBuilder.kt │ │ │ ├── KotlinNativePlatformPlugin.kt │ │ │ ├── model │ │ │ └── KonanModel.kt │ │ │ └── tasks │ │ │ ├── KonanBaseTasks.kt │ │ │ ├── KonanBuildingTask.kt │ │ │ ├── KonanCompileTask.kt │ │ │ ├── KonanCompilerDownloadTask.kt │ │ │ ├── KonanGenerateCMakeTask.kt │ │ │ └── KonanInteropTask.kt │ │ └── test │ │ ├── groovy │ │ └── org │ │ │ └── jetbrains │ │ │ └── kotlin │ │ │ └── gradle │ │ │ └── plugin │ │ │ └── test │ │ │ ├── BaseKonanSpecification.groovy │ │ │ ├── CMakeSpecification.groovy │ │ │ ├── DefaultSpecification.groovy │ │ │ ├── EnvVariableSpecification.groovy │ │ │ ├── IncrementalSpecification.groovy │ │ │ ├── KonanProject.groovy │ │ │ ├── LibrarySpecification.groovy │ │ │ ├── MultiplatformSpecification.groovy │ │ │ ├── PathSpecification.groovy │ │ │ ├── RegressionSpecification.groovy │ │ │ └── TaskSpecification.groovy │ │ └── kotlin │ │ └── PropertiesAsEnvVariables.kt ├── publish-release.sh └── scripts │ └── update_xcode.sh └── utilities ├── build.gradle ├── env_blacklist └── src └── main └── kotlin └── org └── jetbrains └── kotlin └── cli └── utilities ├── InteropCompiler.kt └── main.kt /.gitmodules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mano7onam/kotlin-native/d5169f2370a6b20ae91fc31999fe5ebefcb4344d/.gitmodules -------------------------------------------------------------------------------- /backend.native/compiler/ir/backend.native/resources/META-INF/services/org.jetbrains.kotlin.resolve.ExternalOverridabilityCondition: -------------------------------------------------------------------------------- 1 | org.jetbrains.kotlin.backend.konan.ObjCOverridabilityCondition 2 | -------------------------------------------------------------------------------- /backend.native/tests/codegen/basics/array_to_any.kt: -------------------------------------------------------------------------------- 1 | package codegen.basics.array_to_any 2 | 3 | import kotlin.test.* 4 | 5 | @Test 6 | fun runTest() { 7 | foo().hashCode() 8 | } 9 | 10 | fun foo(): Any { 11 | return Array(0, { i -> null }) 12 | } -------------------------------------------------------------------------------- /backend.native/tests/codegen/basics/companion.kt: -------------------------------------------------------------------------------- 1 | class A { 2 | companion object { 3 | fun foo() = "comp" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /backend.native/tests/codegen/basics/typealias1.kt: -------------------------------------------------------------------------------- 1 | package codegen.basics.typealias1 2 | 3 | import kotlin.test.* 4 | 5 | @Test 6 | fun runTest() { 7 | println(Bar(42).x) 8 | } 9 | 10 | class Foo(val x: Int) 11 | typealias Bar = Foo -------------------------------------------------------------------------------- /backend.native/tests/codegen/basics/unit1.kt: -------------------------------------------------------------------------------- 1 | package codegen.basics.unit1 2 | 3 | import kotlin.test.* 4 | 5 | @Test 6 | fun runTest() { 7 | println(println("First").toString()) 8 | } -------------------------------------------------------------------------------- /backend.native/tests/codegen/basics/unit2.kt: -------------------------------------------------------------------------------- 1 | package codegen.basics.unit2 2 | 3 | import kotlin.test.* 4 | 5 | @Test 6 | fun runTest() { 7 | val x = foo() 8 | println(x.toString()) 9 | } 10 | 11 | fun foo() { 12 | return Unit 13 | } -------------------------------------------------------------------------------- /backend.native/tests/codegen/basics/unit3.kt: -------------------------------------------------------------------------------- 1 | package codegen.basics.unit3 2 | 3 | import kotlin.test.* 4 | 5 | @Test 6 | fun runTest() { 7 | foo(Unit) 8 | } 9 | 10 | fun foo(x: Any) { 11 | println(x.toString()) 12 | } -------------------------------------------------------------------------------- /backend.native/tests/codegen/boxing/boxing0.kt: -------------------------------------------------------------------------------- 1 | package codegen.boxing.boxing0 2 | 3 | import kotlin.test.* 4 | 5 | class Box(t: T) { 6 | var value = t 7 | } 8 | 9 | @Test fun runTest() { 10 | val box: Box = Box(17) 11 | println(box.value) 12 | } 13 | 14 | -------------------------------------------------------------------------------- /backend.native/tests/codegen/boxing/boxing1.kt: -------------------------------------------------------------------------------- 1 | package codegen.boxing.boxing1 2 | 3 | import kotlin.test.* 4 | 5 | fun foo(arg: Any) { 6 | println(arg.toString()) 7 | } 8 | 9 | @Test fun runTest() { 10 | foo(1) 11 | foo(false) 12 | foo("Hello") 13 | } -------------------------------------------------------------------------------- /backend.native/tests/codegen/boxing/boxing12.kt: -------------------------------------------------------------------------------- 1 | package codegen.boxing.boxing12 2 | 3 | import kotlin.test.* 4 | 5 | fun foo(x: Number) { 6 | println(x.toByte()) 7 | } 8 | 9 | @Test fun runTest() { 10 | foo(18) 11 | } -------------------------------------------------------------------------------- /backend.native/tests/codegen/boxing/boxing14.kt: -------------------------------------------------------------------------------- 1 | package codegen.boxing.boxing14 2 | 3 | import kotlin.test.* 4 | 5 | @Test fun runTest() { 6 | 42.println() 7 | } 8 | 9 | fun T.println() = println(this.toString()) -------------------------------------------------------------------------------- /backend.native/tests/codegen/boxing/boxing15.kt: -------------------------------------------------------------------------------- 1 | package codegen.boxing.boxing15 2 | 3 | import kotlin.test.* 4 | 5 | @Test fun runTest() { 6 | println(foo(17)) 7 | } 8 | 9 | fun foo(x: T): Int = x -------------------------------------------------------------------------------- /backend.native/tests/codegen/branching/when6.kt: -------------------------------------------------------------------------------- 1 | package codegen.branching.when6 2 | 3 | import kotlin.test.* 4 | 5 | fun foo() { 6 | } 7 | 8 | @Test fun runTest() { 9 | if (true) foo() else foo() 10 | } -------------------------------------------------------------------------------- /backend.native/tests/codegen/branching/when8.kt: -------------------------------------------------------------------------------- 1 | package codegen.branching.when8 2 | 3 | import kotlin.test.* 4 | 5 | @Test fun runTest() { 6 | when (true) { 7 | true -> println("true") 8 | false -> println("false") 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /backend.native/tests/codegen/branching/when9.kt: -------------------------------------------------------------------------------- 1 | package codegen.branching.when9 2 | 3 | import kotlin.test.* 4 | 5 | @Test fun runTest() { 6 | foo(0) 7 | println("Ok") 8 | } 9 | 10 | fun foo(x: Int) { 11 | when (x) { 12 | 0 -> 0 13 | } 14 | } -------------------------------------------------------------------------------- /backend.native/tests/codegen/bridges/linkTest2_main.kt: -------------------------------------------------------------------------------- 1 | fun main(args: Array) { 2 | val test: TagBoolean = TagBoolean.True 3 | println(test.value()) 4 | } 5 | -------------------------------------------------------------------------------- /backend.native/tests/codegen/bridges/linkTest_lib.kt: -------------------------------------------------------------------------------- 1 | package a 2 | 3 | interface A { 4 | fun foo(): T 5 | } 6 | 7 | open class C: A { 8 | override fun foo(): Int = 42 9 | } -------------------------------------------------------------------------------- /backend.native/tests/codegen/bridges/linkTest_main.kt: -------------------------------------------------------------------------------- 1 | import a.* 2 | 3 | class B: C() 4 | 5 | fun main(args: Array) { 6 | val b = B() 7 | println(b.foo()) 8 | val c: C = b 9 | println(c.foo()) 10 | val a: A = b 11 | println(a.foo()) 12 | } -------------------------------------------------------------------------------- /backend.native/tests/codegen/controlflow/break1.kt: -------------------------------------------------------------------------------- 1 | package codegen.controlflow.break1 2 | 3 | import kotlin.test.* 4 | 5 | @Test fun runTest() { 6 | loop@ while (true) { 7 | println("Body") 8 | break 9 | } 10 | println("Done") 11 | } 12 | -------------------------------------------------------------------------------- /backend.native/tests/codegen/controlflow/for_loops_lowering/test10.out: -------------------------------------------------------------------------------- 1 | 1 2 | 2 3 | 3 4 | 4 5 | 5 6 | 6 7 | 7 8 | 8 9 | 9 10 | 10 11 | -------------------------------------------------------------------------------- /backend.native/tests/codegen/controlflow/for_loops_lowering/test11.out: -------------------------------------------------------------------------------- 1 | 1 2 | 3 3 | 5 4 | 7 5 | 9 6 | -------------------------------------------------------------------------------- /backend.native/tests/codegen/controlflow/for_loops_lowering/test12.out: -------------------------------------------------------------------------------- 1 | -1044856554 2 | -------------------------------------------------------------------------------- /backend.native/tests/codegen/controlflow/for_loops_lowering/test13.out: -------------------------------------------------------------------------------- 1 | -6338578047935536577 2 | -------------------------------------------------------------------------------- /backend.native/tests/codegen/controlflow/for_loops_lowering/test14.out: -------------------------------------------------------------------------------- 1 | 3778122732511062497 2 | -------------------------------------------------------------------------------- /backend.native/tests/codegen/controlflow/for_loops_lowering/test15.out: -------------------------------------------------------------------------------- 1 | 59147280 2 | -------------------------------------------------------------------------------- /backend.native/tests/codegen/controlflow/for_loops_lowering/test16.out: -------------------------------------------------------------------------------- 1 | 2746296 2 | -------------------------------------------------------------------------------- /backend.native/tests/codegen/controlflow/for_loops_lowering/test17.out: -------------------------------------------------------------------------------- 1 | 1897630 2 | -------------------------------------------------------------------------------- /backend.native/tests/codegen/controlflow/for_loops_lowering/test18.out: -------------------------------------------------------------------------------- 1 | 7931520 2 | -------------------------------------------------------------------------------- /backend.native/tests/codegen/controlflow/for_loops_lowering/test19.out: -------------------------------------------------------------------------------- 1 | 71656200 2 | -------------------------------------------------------------------------------- /backend.native/tests/codegen/controlflow/for_loops_lowering/test20.out: -------------------------------------------------------------------------------- 1 | 422820 2 | -------------------------------------------------------------------------------- /backend.native/tests/codegen/controlflow/for_loops_lowering/test21.out: -------------------------------------------------------------------------------- 1 | 0 2 | -------------------------------------------------------------------------------- /backend.native/tests/codegen/controlflow/for_loops_lowering/test22.out: -------------------------------------------------------------------------------- 1 | 141568 2 | -------------------------------------------------------------------------------- /backend.native/tests/codegen/controlflow/for_loops_lowering/test23.out: -------------------------------------------------------------------------------- 1 | 472026 2 | -------------------------------------------------------------------------------- /backend.native/tests/codegen/controlflow/for_loops_lowering/test29.out: -------------------------------------------------------------------------------- 1 | 2 2 | 3 3 | -------------------------------------------------------------------------------- /backend.native/tests/codegen/controlflow/for_loops_lowering/test30.out: -------------------------------------------------------------------------------- 1 | 2 2 | 0 3 | -------------------------------------------------------------------------------- /backend.native/tests/codegen/controlflow/for_loops_lowering/test31.out: -------------------------------------------------------------------------------- 1 | 7 2 | 7 3 | 6 4 | 7 5 | -------------------------------------------------------------------------------- /backend.native/tests/codegen/controlflow/for_loops_lowering/test32.out: -------------------------------------------------------------------------------- 1 | 7 2 | 2 3 | 6 4 | 7 5 | 0 6 | 4 7 | -------------------------------------------------------------------------------- /backend.native/tests/codegen/controlflow/for_loops_lowering/test33.out: -------------------------------------------------------------------------------- 1 | 7 2 | 2 3 | 7 4 | 4 5 | -------------------------------------------------------------------------------- /backend.native/tests/codegen/controlflow/for_loops_lowering/test4.out: -------------------------------------------------------------------------------- 1 | e 2 | f 3 | g 4 | h 5 | i 6 | j 7 | k 8 | -------------------------------------------------------------------------------- /backend.native/tests/codegen/controlflow/for_loops_lowering/test5.out: -------------------------------------------------------------------------------- 1 | e 2 | f 3 | g 4 | h 5 | i 6 | j 7 | -------------------------------------------------------------------------------- /backend.native/tests/codegen/controlflow/for_loops_lowering/test6.out: -------------------------------------------------------------------------------- 1 | e 2 | f 3 | g 4 | h 5 | i 6 | j 7 | k 8 | -------------------------------------------------------------------------------- /backend.native/tests/codegen/controlflow/for_loops_lowering/test7.out: -------------------------------------------------------------------------------- 1 | d 2 | f 3 | -------------------------------------------------------------------------------- /backend.native/tests/codegen/controlflow/for_loops_lowering/test8.out: -------------------------------------------------------------------------------- 1 | a 2 | c 3 | -------------------------------------------------------------------------------- /backend.native/tests/codegen/controlflow/for_loops_lowering/test9.out: -------------------------------------------------------------------------------- 1 | a 2 | c 3 | e 4 | -------------------------------------------------------------------------------- /backend.native/tests/codegen/controlflow/unreachable1.kt: -------------------------------------------------------------------------------- 1 | package codegen.controlflow.unreachable1 2 | 3 | import kotlin.test.* 4 | 5 | @Test fun runTest() { 6 | println(foo()) 7 | } 8 | 9 | fun foo(): Int { 10 | return 1 11 | println("After return") 12 | } -------------------------------------------------------------------------------- /backend.native/tests/codegen/dataflow/scope1.kt: -------------------------------------------------------------------------------- 1 | package codegen.dataflow.scope1 2 | 3 | import kotlin.test.* 4 | 5 | var b = true 6 | 7 | @Test fun runTest() { 8 | var x = 1 9 | if (b) { 10 | var x = 2 11 | } 12 | println(x) 13 | } 14 | -------------------------------------------------------------------------------- /backend.native/tests/codegen/enum/linkTest_lib.kt: -------------------------------------------------------------------------------- 1 | package a 2 | 3 | enum class A(val x: Int) { 4 | Z1(42), 5 | Z2(117), 6 | Z3(-1) 7 | } -------------------------------------------------------------------------------- /backend.native/tests/codegen/enum/linkTest_main.kt: -------------------------------------------------------------------------------- 1 | import a.* 2 | 3 | fun main(args: Array) { 4 | println(A.Z1.x) 5 | println(A.valueOf("Z2").x) 6 | println(A.values()[2].x) 7 | } -------------------------------------------------------------------------------- /backend.native/tests/codegen/enum/loop.kt: -------------------------------------------------------------------------------- 1 | package codegen.enum.loop 2 | 3 | import kotlin.test.* 4 | 5 | enum class Zzz { 6 | Z { 7 | init { 8 | println(Z.name) 9 | } 10 | } 11 | } 12 | 13 | @Test fun runTest() { 14 | println(Zzz.Z) 15 | } -------------------------------------------------------------------------------- /backend.native/tests/codegen/enum/nested.kt: -------------------------------------------------------------------------------- 1 | package codegen.enum.nested 2 | 3 | import kotlin.test.* 4 | 5 | enum class Foo { 6 | A; 7 | enum class Bar { C } 8 | } 9 | 10 | @Test fun runTest() { 11 | println(Foo.A) 12 | println(Foo.Bar.C) 13 | } -------------------------------------------------------------------------------- /backend.native/tests/codegen/enum/test1.kt: -------------------------------------------------------------------------------- 1 | package codegen.enum.test1 2 | 3 | import kotlin.test.* 4 | 5 | enum class Zzz(val zzz: String, val x: Int) { 6 | Z1("z1", 1), 7 | Z2("z2", 2) 8 | } 9 | 10 | @Test fun runTest() { 11 | println(Zzz.Z1.zzz + Zzz.Z2.x) 12 | } -------------------------------------------------------------------------------- /backend.native/tests/codegen/enum/varargParam.kt: -------------------------------------------------------------------------------- 1 | package codegen.enum.varargParam 2 | 3 | import kotlin.test.* 4 | 5 | enum class Piece(vararg val states: Int) { 6 | I(3, 4, 5) 7 | } 8 | 9 | @Test fun runTest() { 10 | println(Piece.I.states[0]) 11 | } -------------------------------------------------------------------------------- /backend.native/tests/codegen/function/boolean.kt: -------------------------------------------------------------------------------- 1 | package codegen.function.boolean 2 | 3 | import kotlin.test.* 4 | 5 | fun bool_yes(): Boolean = true 6 | 7 | @Test fun runTest() { 8 | if (!bool_yes()) throw Error() 9 | } 10 | -------------------------------------------------------------------------------- /backend.native/tests/codegen/function/defaults10.kt: -------------------------------------------------------------------------------- 1 | package codegen.function.defaults10 2 | 3 | import kotlin.test.* 4 | 5 | enum class A(one: Int, val two: Int = one) { 6 | FOO(42) 7 | } 8 | 9 | @Test fun runTest() { 10 | println(A.FOO.two) 11 | } -------------------------------------------------------------------------------- /backend.native/tests/codegen/function/defaults6.kt: -------------------------------------------------------------------------------- 1 | package codegen.function.defaults6 2 | 3 | import kotlin.test.* 4 | 5 | open class Foo(val x: Int = 42) 6 | class Bar : Foo() 7 | 8 | @Test fun runTest() { 9 | println(Bar().x) 10 | } -------------------------------------------------------------------------------- /backend.native/tests/codegen/function/extension.kt: -------------------------------------------------------------------------------- 1 | class B(val a: Int) 2 | 3 | fun B.foo() = this.a -------------------------------------------------------------------------------- /backend.native/tests/codegen/function/named.kt: -------------------------------------------------------------------------------- 1 | package codegen.function.named 2 | 3 | import kotlin.test.* 4 | 5 | fun foo(a:Int, b:Int) = a - b 6 | 7 | @Test fun runTest() { 8 | if (foo(b = 24, a = 42) != 18) 9 | throw Error() 10 | } -------------------------------------------------------------------------------- /backend.native/tests/codegen/function/plus_eq.kt: -------------------------------------------------------------------------------- 1 | package codegen.function.plus_eq 2 | 3 | import kotlin.test.* 4 | 5 | fun plus_eq(a: Int): Int { 6 | var b = 11 7 | b += a 8 | return b 9 | } 10 | 11 | @Test fun runTest() { 12 | if (plus_eq(3) != 14) throw Error() 13 | } -------------------------------------------------------------------------------- /backend.native/tests/codegen/function/sum_3const.kt: -------------------------------------------------------------------------------- 1 | package codegen.function.sum_3const 2 | 3 | import kotlin.test.* 4 | 5 | fun sum3():Int = sum(1, 2, 33) 6 | fun sum(a:Int, b:Int, c:Int): Int = a + b + c 7 | 8 | @Test fun runTest() { 9 | if (sum3() != 36) throw Error() 10 | } -------------------------------------------------------------------------------- /backend.native/tests/codegen/function/sum_func.kt: -------------------------------------------------------------------------------- 1 | package codegen.function.sum_func 2 | 3 | import kotlin.test.* 4 | 5 | fun foo():Int = 1 6 | //fun bar():Int = 2 7 | //fun sum():Int = foo() + bar() 8 | 9 | // FIXME: has no checks -------------------------------------------------------------------------------- /backend.native/tests/codegen/function/sum_imm.kt: -------------------------------------------------------------------------------- 1 | package codegen.function.sum_imm 2 | 3 | import kotlin.test.* 4 | 5 | fun sum(a:Int): Int = a + 33 6 | 7 | @Test fun runTest() { 8 | if (sum(2) != 35) throw Error() 9 | } -------------------------------------------------------------------------------- /backend.native/tests/codegen/function/sum_mixed.kt: -------------------------------------------------------------------------------- 1 | package codegen.function.sum_mixed 2 | 3 | import kotlin.test.* 4 | 5 | // FIXME: has no checks 6 | fun sum(a:Float, b:Int) = a + b -------------------------------------------------------------------------------- /backend.native/tests/codegen/function/sum_silly.kt: -------------------------------------------------------------------------------- 1 | package codegen.function.sum_silly 2 | 3 | import kotlin.test.* 4 | 5 | // FIXME: has no checks 6 | 7 | fun sum(a:Int, b:Int):Int { 8 | var c:Int 9 | c = a + b 10 | return c 11 | } -------------------------------------------------------------------------------- /backend.native/tests/codegen/inline/defaultArgs_linkTest_lib.kt: -------------------------------------------------------------------------------- 1 | package a 2 | 3 | inline fun foo(x: Int, y: Int = 117) = x + y -------------------------------------------------------------------------------- /backend.native/tests/codegen/inline/defaultArgs_linkTest_main.kt: -------------------------------------------------------------------------------- 1 | import a.* 2 | 3 | fun main(args: Array) { 4 | println(foo(5)) 5 | println(foo(5, 42)) 6 | } -------------------------------------------------------------------------------- /backend.native/tests/codegen/inline/lambdaAsAny.kt: -------------------------------------------------------------------------------- 1 | package codegen.inline.lambdaAsAny 2 | 3 | import kotlin.test.* 4 | 5 | inline fun foo(x: Any) { 6 | println(if (x === x) "Ok" else "Fail") 7 | } 8 | 9 | @Test fun runTest() { 10 | foo { 42 } 11 | } -------------------------------------------------------------------------------- /backend.native/tests/codegen/lambda/lambda1.kt: -------------------------------------------------------------------------------- 1 | package codegen.lambda.lambda1 2 | 3 | import kotlin.test.* 4 | 5 | @Test fun runTest() { 6 | run { 7 | println("lambda") 8 | } 9 | } 10 | 11 | fun run(f: () -> Unit) { 12 | f() 13 | } -------------------------------------------------------------------------------- /backend.native/tests/codegen/lambda/lambda3.kt: -------------------------------------------------------------------------------- 1 | package codegen.lambda.lambda3 2 | 3 | import kotlin.test.* 4 | 5 | @Test fun runTest() { 6 | var str = "lambda" 7 | run { 8 | println(str) 9 | } 10 | } 11 | 12 | fun run(f: () -> Unit) { 13 | f() 14 | } -------------------------------------------------------------------------------- /backend.native/tests/codegen/lambda/lambda5.kt: -------------------------------------------------------------------------------- 1 | package codegen.lambda.lambda5 2 | 3 | import kotlin.test.* 4 | 5 | @Test fun runTest() { 6 | foo { 7 | println(it) 8 | } 9 | } 10 | 11 | fun foo(f: (Int) -> Unit) { 12 | f(42) 13 | } -------------------------------------------------------------------------------- /backend.native/tests/codegen/lambda/lambda7.kt: -------------------------------------------------------------------------------- 1 | package codegen.lambda.lambda7 2 | 3 | import kotlin.test.* 4 | 5 | @Test fun runTest() { 6 | val x = foo { 7 | it + 1 8 | } 9 | println(x) 10 | } 11 | 12 | fun foo(f: (Int) -> Int) = f(42) -------------------------------------------------------------------------------- /backend.native/tests/codegen/lateinit/localInitialized.kt: -------------------------------------------------------------------------------- 1 | package codegen.lateinit.localInitialized 2 | 3 | import kotlin.test.* 4 | 5 | @Test fun runTest() { 6 | lateinit var s: String 7 | s = "zzz" 8 | println(s) 9 | } -------------------------------------------------------------------------------- /backend.native/tests/codegen/mpp/mpp2.kt: -------------------------------------------------------------------------------- 1 | fun main(args: Array) { 2 | println(C(42)) 3 | println(C(42) is T) 4 | println(f(1)) 5 | 6 | p = "h" 7 | println(p) 8 | } 9 | -------------------------------------------------------------------------------- /backend.native/tests/codegen/object/constructor.kt: -------------------------------------------------------------------------------- 1 | package codegen.`object`.constructor 2 | 3 | class A() 4 | 5 | class B(val a:Int) 6 | 7 | class C(val a:Int, b:Int) -------------------------------------------------------------------------------- /backend.native/tests/codegen/object/constructor0.kt: -------------------------------------------------------------------------------- 1 | package codegen.`object`.constructor0 2 | 3 | import kotlin.test.* 4 | 5 | class A { 6 | var field0:Int = 0; 7 | constructor(arg0:Int) { 8 | field0 = arg0 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /backend.native/tests/codegen/object/init0.kt: -------------------------------------------------------------------------------- 1 | package codegen.`object`.init0 2 | 3 | import kotlin.test.* 4 | 5 | class A(a:Int) { 6 | var i:Int = 0 7 | init { 8 | if (a == 0) i = 1 9 | } 10 | } -------------------------------------------------------------------------------- /backend.native/tests/codegen/propertyCallableReference/linkTest_lib.kt: -------------------------------------------------------------------------------- 1 | package a 2 | 3 | class A(val x: Int) -------------------------------------------------------------------------------- /backend.native/tests/codegen/propertyCallableReference/linkTest_main.kt: -------------------------------------------------------------------------------- 1 | import a.A 2 | 3 | fun main(args: Array) { 4 | val p1 = A::x 5 | println(p1.get(A(42))) 6 | val a = A(117) 7 | val p2 = a::x 8 | println(p2.get()) 9 | } -------------------------------------------------------------------------------- /backend.native/tests/codegen/propertyCallableReference/valModule.kt: -------------------------------------------------------------------------------- 1 | package codegen.propertyCallableReference.valModule 2 | 3 | import kotlin.test.* 4 | 5 | val x = 42 6 | 7 | @Test fun runTest() { 8 | val p = ::x 9 | println(p.get()) 10 | } -------------------------------------------------------------------------------- /backend.native/tests/codegen/try/finally1.kt: -------------------------------------------------------------------------------- 1 | package codegen.`try`.finally1 2 | 3 | import kotlin.test.* 4 | 5 | @Test fun runTest() { 6 | 7 | try { 8 | println("Try") 9 | } finally { 10 | println("Finally") 11 | } 12 | 13 | println("Done") 14 | } -------------------------------------------------------------------------------- /backend.native/tests/codegen/try/try1.kt: -------------------------------------------------------------------------------- 1 | package codegen.`try`.try1 2 | 3 | import kotlin.test.* 4 | 5 | @Test fun runTest() { 6 | val x = try { 7 | 5 8 | } catch (e: Throwable) { 9 | 6 10 | } 11 | 12 | println(x) 13 | } -------------------------------------------------------------------------------- /backend.native/tests/codegen/try/try2.kt: -------------------------------------------------------------------------------- 1 | package codegen.`try`.try2 2 | 3 | import kotlin.test.* 4 | 5 | @Test fun runTest() { 6 | val x = try { 7 | throw Error() 8 | 5 9 | } catch (e: Throwable) { 10 | 6 11 | } 12 | 13 | println(x) 14 | } -------------------------------------------------------------------------------- /backend.native/tests/codegen/try/try3.kt: -------------------------------------------------------------------------------- 1 | package codegen.`try`.try3 2 | 3 | import kotlin.test.* 4 | 5 | @Test fun runTest() { 6 | val x = try { 7 | throw Error() 8 | } catch (e: Throwable) { 9 | 6 10 | } 11 | 12 | println(x) 13 | } -------------------------------------------------------------------------------- /backend.native/tests/datagen/literals/empty_string.kt: -------------------------------------------------------------------------------- 1 | package datagen.literals.empty_string 2 | 3 | import kotlin.test.* 4 | 5 | @Test fun runTest() { 6 | println("") 7 | } 8 | -------------------------------------------------------------------------------- /backend.native/tests/datagen/literals/strdedup1.kt: -------------------------------------------------------------------------------- 1 | package datagen.literals.strdedup1 2 | 3 | import kotlin.test.* 4 | 5 | @Test fun runTest() { 6 | val str1 = "Hello" 7 | val str2 = "Hello" 8 | println(str1 == str2) 9 | println(str1 === str2) 10 | } 11 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/arrays/arrayPlusAssign.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | val s = IntArray(1) 3 | s[0] = 5 4 | s[0] += 7 5 | return if (s[0] == 12) "OK" else "Fail ${s[0]}" 6 | } 7 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/arrays/forEachBooleanArray.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | for (x in BooleanArray(5)) { 3 | if (x != false) return "Fail $x" 4 | } 5 | return "OK" 6 | } 7 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/arrays/forEachByteArray.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | for (x in ByteArray(5)) { 3 | if (x != 0.toByte()) return "Fail $x" 4 | } 5 | return "OK" 6 | } 7 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/arrays/forEachCharArray.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | for (x in CharArray(5)) { 3 | if (x != 0.toChar()) return "Fail $x" 4 | } 5 | return "OK" 6 | } 7 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/arrays/forEachDoubleArray.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | for (x in DoubleArray(5)) { 3 | if (x != 0.toDouble()) return "Fail $x" 4 | } 5 | return "OK" 6 | } 7 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/arrays/forEachFloatArray.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | for (x in FloatArray(5)) { 3 | if (x != 0.toFloat()) return "Fail $x" 4 | } 5 | return "OK" 6 | } 7 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/arrays/forEachIntArray.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | for (x in IntArray(5)) { 3 | if (x != 0) return "Fail $x" 4 | } 5 | return "OK" 6 | } 7 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/arrays/forEachLongArray.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | for (x in LongArray(5)) { 3 | if (x != 0.toLong()) return "Fail $x" 4 | } 5 | return "OK" 6 | } 7 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/arrays/forEachShortArray.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | for (x in ShortArray(5)) { 3 | if (x != 0.toShort()) return "Fail $x" 4 | } 5 | return "OK" 6 | } 7 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/arrays/iterator.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | val x = Array(5, { it } ).iterator() 3 | var i = 0 4 | while (x.hasNext()) { 5 | if (x.next() != i) return "Fail $i" 6 | i++ 7 | } 8 | return "OK" 9 | } 10 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/arrays/kt33.kt: -------------------------------------------------------------------------------- 1 | fun box () : String { 2 | val s = ArrayList() 3 | s.add("foo") 4 | s[0] += "bar" 5 | return if(s[0] == "foobar") "OK" else "fail" 6 | } 7 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/arrays/kt4357.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | val array = intArrayOf(11, 12, 13) 3 | val p = array.get(0) 4 | if (p != 11) return "fail 1: $p" 5 | 6 | val stringArray = arrayOf("OK", "FAIL") 7 | return stringArray.get(0) 8 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/arrays/kt602.kt: -------------------------------------------------------------------------------- 1 | // TODO: muted automatically, investigate should it be ran for JS or not 2 | // IGNORE_BACKEND: JS, NATIVE 3 | 4 | // WITH_RUNTIME 5 | 6 | fun box() = if(arrayOfNulls(10).isArrayOf()) "OK" else "fail" 7 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/arrays/kt7009.kt: -------------------------------------------------------------------------------- 1 | // WITH_RUNTIME 2 | 3 | fun box() : String { 4 | val value = (1 to doubleArrayOf(1.0)).second[0] 5 | return if (value == 1.0) "OK" else "fail" 6 | } 7 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/arrays/kt779.kt: -------------------------------------------------------------------------------- 1 | val Array.length : Int get() = this.size 2 | 3 | fun box() = if(arrayOfNulls(10).length == 10) "OK" else "fail" 4 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/arrays/kt950.kt: -------------------------------------------------------------------------------- 1 | operator fun MutableMap.set(k : K, v : V) = put(k, v) 2 | 3 | fun box() : String { 4 | val map = HashMap() 5 | map["239"] = "932" 6 | return if(map["239"] == "932") "OK" else "fail" 7 | } 8 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/arrays/nonNullArray.kt: -------------------------------------------------------------------------------- 1 | class A() { 2 | class B(val i: Int) { 3 | } 4 | 5 | fun test() = Array (10, { B(it) }) 6 | } 7 | 8 | fun box() = if(A().test()[5].i == 5) "OK" else "fail" 9 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/boxingOptimization/explicitEqualsOnDouble.kt: -------------------------------------------------------------------------------- 1 | // IGNORE_BACKEND: JS 2 | 3 | fun equals1(a: Double, b: Double) = a.equals(b) 4 | 5 | fun box(): String { 6 | if ((-0.0).equals(0.0)) return "fail 0" 7 | return "OK" 8 | } 9 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/boxingOptimization/intCompareTo.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | val a: Any = 1 3 | val b: Any = 42 4 | val test = (a as Comparable).compareTo(b) 5 | if (test != -1) return "Fail: $test" 6 | 7 | return "OK" 8 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/boxingOptimization/kt15871.kt: -------------------------------------------------------------------------------- 1 | fun box() = 2 | if (getAndCheck({ 42 }, { 42 })) "OK" else "fail" 3 | 4 | inline fun getAndCheck(getFirst: () -> T, getSecond: () -> T) = 5 | getFirst() == getSecond() -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/boxingOptimization/kt19767_2.kt: -------------------------------------------------------------------------------- 1 | //WITH_RUNTIME 2 | 3 | fun box(): String { 4 | val map: Map? = mapOf() 5 | return if (map?.get("") == true) "fail" else "OK" 6 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/boxingOptimization/kt5493.kt: -------------------------------------------------------------------------------- 1 | fun box() : String { 2 | try { 3 | return "OK" 4 | } 5 | finally { 6 | null?.toString() 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/boxingOptimization/kt5588.kt: -------------------------------------------------------------------------------- 1 | fun box() : String { 2 | val s = "notA" 3 | val id = when (s) { 4 | "a" -> 1 5 | else -> null 6 | } 7 | 8 | if (id == null) return "OK" 9 | return "fail" 10 | } 11 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/boxingOptimization/kt6842.kt: -------------------------------------------------------------------------------- 1 | // WITH_RUNTIME 2 | 3 | import kotlin.test.assertEquals 4 | 5 | fun box(): String { 6 | val x = (10L..50).map { it * 40L } 7 | assertEquals(400L, x.first()) 8 | return "OK" 9 | } 10 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/bridges/kt1959.kt: -------------------------------------------------------------------------------- 1 | open class A { 2 | open fun f(args : Array) {} 3 | } 4 | 5 | class B(): A() { 6 | override fun f(args : Array) {} 7 | } 8 | 9 | fun box(): String { 10 | B() 11 | return "OK" 12 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/bridges/kt2920.kt: -------------------------------------------------------------------------------- 1 | interface Tr { 2 | val v: T 3 | } 4 | 5 | class C : Tr { 6 | override val v = "OK" 7 | } 8 | 9 | fun box() = C().v 10 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/bridges/propertyInConstructor.kt: -------------------------------------------------------------------------------- 1 | interface A { 2 | var x: T 3 | } 4 | 5 | class B(override var x: String) : A 6 | 7 | fun box(): String { 8 | val a: A = B("Fail") 9 | a.x = "OK" 10 | return a.x 11 | } 12 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/callableReference/bound/array.kt: -------------------------------------------------------------------------------- 1 | open class A { 2 | var f: String = "OK" 3 | } 4 | 5 | class B : A() { 6 | } 7 | 8 | fun box() : String { 9 | val b = B() 10 | return (b::f).get() 11 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/callableReference/bound/companionObjectReceiver.kt: -------------------------------------------------------------------------------- 1 | class A { 2 | companion object { 3 | fun ok() = "OK" 4 | } 5 | } 6 | 7 | fun box() = (A.Companion::ok)() -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/callableReference/bound/inline/simple.kt: -------------------------------------------------------------------------------- 1 | inline fun foo(x: () -> String) = x() 2 | 3 | fun String.id() = this 4 | 5 | fun box() = foo("OK"::id) 6 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/callableReference/bound/inline/simpleVal.kt: -------------------------------------------------------------------------------- 1 | inline fun go(f: () -> String) = f() 2 | 3 | fun String.id(): String = this 4 | 5 | fun box(): String { 6 | val x = "OK" 7 | return go(x::id) 8 | } 9 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/callableReference/bound/kt12738.kt: -------------------------------------------------------------------------------- 1 | fun get(t: T): () -> String { 2 | return t::toString 3 | } 4 | 5 | fun box(): String { 6 | if (get(null).invoke() != "null") return "Fail null" 7 | 8 | return get("OK").invoke() 9 | } 10 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/callableReference/bound/nullReceiver.kt: -------------------------------------------------------------------------------- 1 | val String?.ok: String 2 | get() = "OK" 3 | 4 | fun box() = (null::ok).get() -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/callableReference/bound/objectReceiver.kt: -------------------------------------------------------------------------------- 1 | object Singleton { 2 | fun ok() = "OK" 3 | } 4 | 5 | fun box() = (Singleton::ok)() -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/callableReference/bound/simpleFunction.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | val f = "KOTLIN"::get 3 | return "${f(1)}${f(0)}" 4 | } 5 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/callableReference/bound/simpleProperty.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | val f = "kotlin"::length 3 | val result = f.get() 4 | return if (result == 6) "OK" else "Fail: $result" 5 | } 6 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/callableReference/function/abstractClassMember.kt: -------------------------------------------------------------------------------- 1 | abstract class A { 2 | abstract fun foo(): String 3 | } 4 | 5 | class B : A() { 6 | override fun foo() = "OK" 7 | } 8 | 9 | fun box(): String = (A::foo)(B()) 10 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/callableReference/function/booleanNotIntrinsic.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | if ((Boolean::not)(true) != false) return "Fail 1" 3 | if ((Boolean::not)(false) != true) return "Fail 2" 4 | return "OK" 5 | } 6 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/callableReference/function/classMemberFromTopLevelStringNoArgs.kt: -------------------------------------------------------------------------------- 1 | class A { 2 | fun foo() = "OK" 3 | } 4 | 5 | fun box(): String { 6 | val x = A::foo 7 | return x(A()) 8 | } 9 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/callableReference/function/classMemberFromTopLevelStringOneStringArg.kt: -------------------------------------------------------------------------------- 1 | class A { 2 | fun foo(result: String) = result 3 | } 4 | 5 | fun box(): String { 6 | val x = A::foo 7 | return x(A(), "OK") 8 | } 9 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/callableReference/function/constructorFromTopLevelNoArgs.kt: -------------------------------------------------------------------------------- 1 | class A { 2 | var result = "OK" 3 | } 4 | 5 | fun box() = (::A)().result 6 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/callableReference/function/constructorFromTopLevelOneStringArg.kt: -------------------------------------------------------------------------------- 1 | class A(val result: String) 2 | 3 | fun box() = (::A)("OK").result 4 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/callableReference/function/equalsIntrinsic.kt: -------------------------------------------------------------------------------- 1 | class A 2 | 3 | fun box() = if ((A::equals)(A(), A())) "Fail" else "OK" 4 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/callableReference/function/extensionFromClass.kt: -------------------------------------------------------------------------------- 1 | class A { 2 | fun result() = (A::foo)(this, "OK") 3 | } 4 | 5 | fun A.foo(x: String) = x 6 | 7 | fun box() = A().result() 8 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/callableReference/function/extensionFromExtension.kt: -------------------------------------------------------------------------------- 1 | class A 2 | 3 | fun A.foo() = (A::bar)(this, "OK") 4 | 5 | fun A.bar(x: String) = x 6 | 7 | fun box() = A().foo() 8 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/callableReference/function/extensionFromTopLevelStringNoArgs.kt: -------------------------------------------------------------------------------- 1 | class A 2 | 3 | fun A.foo() = "OK" 4 | 5 | fun box(): String { 6 | val x = A::foo 7 | return x(A()) 8 | } 9 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/callableReference/function/extensionFromTopLevelStringOneStringArg.kt: -------------------------------------------------------------------------------- 1 | class A 2 | 3 | fun A.foo(result: String) = result 4 | 5 | fun box(): String { 6 | val x = A::foo 7 | return x(A(), "OK") 8 | } 9 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/callableReference/function/genericMember.kt: -------------------------------------------------------------------------------- 1 | class A(val t: T) { 2 | fun foo(): T = t 3 | } 4 | 5 | fun box() = (A::foo)(A("OK")) 6 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/callableReference/function/genericWithDependentType.kt: -------------------------------------------------------------------------------- 1 | // WITH_RUNTIME 2 | 3 | class Wrapper(val value: T) 4 | 5 | fun box(): String { 6 | val ls = listOf("OK").map(::Wrapper) 7 | return ls[0].value 8 | } 9 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/callableReference/function/local/classMember.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | class Local { 3 | fun foo() = "OK" 4 | } 5 | 6 | val ref = Local::foo 7 | return ref(Local()) 8 | } 9 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/callableReference/function/local/closureWithSideEffect.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | var result = "Fail" 3 | 4 | fun changeToOK() { result = "OK" } 5 | 6 | val ok = ::changeToOK 7 | ok() 8 | return result 9 | } 10 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/callableReference/function/local/constructor.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | class A { 3 | val result = "OK" 4 | } 5 | 6 | return (::A)().result 7 | } 8 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/callableReference/function/local/enumExtendsTrait.kt: -------------------------------------------------------------------------------- 1 | interface Named { 2 | val name: String 3 | } 4 | 5 | enum class E : Named { 6 | OK 7 | } 8 | 9 | fun box(): String { 10 | return E.OK.name 11 | } 12 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/callableReference/function/local/extension.kt: -------------------------------------------------------------------------------- 1 | class A 2 | 3 | fun box(): String { 4 | fun A.foo() = "OK" 5 | return (A::foo)(A()) 6 | } 7 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/callableReference/function/local/extensionToLocalClass.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | class A 3 | fun A.foo() = "OK" 4 | return (A::foo)((::A)()) 5 | } 6 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/callableReference/function/local/extensionToPrimitive.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | fun Int.is42With(that: Int) = this + 2 * that == 42 3 | return if ((Int::is42With)(16, 13)) "OK" else "Fail" 4 | } 5 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/callableReference/function/local/extensionWithClosure.kt: -------------------------------------------------------------------------------- 1 | class A 2 | 3 | fun box(): String { 4 | var result = "Fail" 5 | 6 | fun A.ext() { result = "OK" } 7 | 8 | val f = A::ext 9 | f(A()) 10 | return result 11 | } 12 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/callableReference/function/local/genericMember.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | class Id { 3 | fun invoke(t: T) = t 4 | } 5 | 6 | val ref = Id::invoke 7 | return ref(Id(), "OK") 8 | } 9 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/callableReference/function/local/localFunctionName.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | fun OK() {} 3 | 4 | return ::OK.name 5 | } 6 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/callableReference/function/local/recursiveClosure.kt: -------------------------------------------------------------------------------- 1 | fun foo(until: Int): String { 2 | fun bar(x: Int): String = 3 | if (x == until) "OK" else bar(x + 1) 4 | return (::bar)(0) 5 | } 6 | 7 | fun box() = foo(10) 8 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/callableReference/function/local/simple.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | fun foo() = "OK" 3 | return (::foo)() 4 | } 5 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/callableReference/function/local/simpleClosure.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | val result = "OK" 3 | 4 | fun foo() = result 5 | 6 | return (::foo)() 7 | } 8 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/callableReference/function/local/simpleWithArg.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | fun foo(s: String) = s 3 | return (::foo)("OK") 4 | } 5 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/callableReference/function/nestedConstructorFromTopLevelNoArgs.kt: -------------------------------------------------------------------------------- 1 | class A { 2 | class Nested { 3 | val result = "OK" 4 | } 5 | } 6 | 7 | fun box() = (A::Nested)().result 8 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/callableReference/function/nestedConstructorFromTopLevelOneStringArg.kt: -------------------------------------------------------------------------------- 1 | class A { 2 | class Nested(val result: String) 3 | } 4 | 5 | fun box() = (A::Nested)("OK").result 6 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/callableReference/function/privateClassMember.kt: -------------------------------------------------------------------------------- 1 | class A { 2 | private fun foo() = "OK" 3 | 4 | fun bar() = (A::foo)(this) 5 | } 6 | 7 | fun box() = A().bar() 8 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/callableReference/function/topLevelFromTopLevelStringNoArgs.kt: -------------------------------------------------------------------------------- 1 | fun foo() = "OK" 2 | 3 | fun box(): String { 4 | val x = ::foo 5 | return x() 6 | } 7 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/callableReference/function/topLevelFromTopLevelStringOneStringArg.kt: -------------------------------------------------------------------------------- 1 | fun foo(x: String) = x 2 | 3 | fun box(): String { 4 | val x = ::foo 5 | return x("OK") 6 | } 7 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/callableReference/function/topLevelFromTopLevelUnitNoArgs.kt: -------------------------------------------------------------------------------- 1 | var result = "Fail" 2 | 3 | fun foo() { 4 | result = "OK" 5 | } 6 | 7 | fun box(): String { 8 | val x = ::foo 9 | x() 10 | return result 11 | } 12 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/callableReference/function/traitMember.kt: -------------------------------------------------------------------------------- 1 | interface A { 2 | fun foo(): String 3 | } 4 | 5 | class B : A { 6 | override fun foo() = "OK" 7 | } 8 | 9 | fun box() = (A::foo)(B()) 10 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/callableReference/property/accessViaSubclass.kt: -------------------------------------------------------------------------------- 1 | abstract class Base { 2 | val result = "OK" 3 | } 4 | 5 | class Derived : Base() 6 | 7 | fun box(): String { 8 | return (Base::result).get(Derived()) 9 | } 10 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/callableReference/property/extensionToArray.kt: -------------------------------------------------------------------------------- 1 | val Array.firstElement: String get() = get(0) 2 | 3 | fun box(): String { 4 | val p = Array::firstElement 5 | return p.get(arrayOf("OK", "Fail")) 6 | } 7 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/callableReference/property/kt14330.kt: -------------------------------------------------------------------------------- 1 | data class Foo(var bar: Int?) 2 | 3 | fun box(): String { 4 | val receiver = Foo(1) 5 | Foo::bar.set(receiver, null) 6 | return if (receiver.bar == null) "OK" else "fail ${receiver.bar}" 7 | 8 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/callableReference/property/listOfStringsMapLength.kt: -------------------------------------------------------------------------------- 1 | // WITH_RUNTIME 2 | 3 | fun box(): String = 4 | if (listOf("abc", "de", "f").map(String::length) == listOf(3, 2, 1)) "OK" else "Fail" 5 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/callableReference/property/localClassVar.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | class Local { 3 | var result = "Fail" 4 | } 5 | 6 | val l = Local() 7 | (Local::result).set(l, "OK") 8 | return (Local::result).get(l) 9 | } 10 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/callableReference/property/overriddenInSubclass.kt: -------------------------------------------------------------------------------- 1 | open class Base { 2 | open val foo = "Base" 3 | } 4 | 5 | class Derived : Base() { 6 | override val foo = "OK" 7 | } 8 | 9 | fun box() = (Base::foo).get(Derived()) 10 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/casts/asUnit.kt: -------------------------------------------------------------------------------- 1 | fun box() = if (4 as? Unit != null) "Fail" else "OK" -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/casts/lambdaToUnitCast.kt: -------------------------------------------------------------------------------- 1 | val foo: () -> Unit = {} 2 | 3 | fun box(): String { 4 | foo() as Unit 5 | return "OK" 6 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/casts/literalExpressionAsGenericArgument/binaryExpressionCast.kt: -------------------------------------------------------------------------------- 1 | class Box(val value: T) 2 | 3 | fun box() : String { 4 | val b = Box(2 * 3) 5 | val expected: Long? = 6L 6 | return if (b.value == expected) "OK" else "fail" 7 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/casts/literalExpressionAsGenericArgument/unaryExpressionCast.kt: -------------------------------------------------------------------------------- 1 | class Box(val value: T) 2 | 3 | fun box() : String { 4 | val b = Box(-1) 5 | val expected: Long? = -1L 6 | return if (b.value == expected) "OK" else "fail" 7 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/casts/unitAsAny.kt: -------------------------------------------------------------------------------- 1 | fun println(s: String) { 2 | } 3 | 4 | fun box(): String { 5 | val x = println(":Hi!") as Any 6 | if (x != Unit) return "Fail: $x" 7 | return "OK" 8 | } 9 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/casts/unitAsSafeAny.kt: -------------------------------------------------------------------------------- 1 | fun println(s: String) { 2 | } 3 | 4 | fun box(): String { 5 | val x = println(":Hi!") as? Any 6 | if (x != Unit) return "Fail: $x" 7 | return "OK" 8 | } 9 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/casts/unitNullableCast.kt: -------------------------------------------------------------------------------- 1 | fun foo() {} 2 | 3 | fun bar(): Int? = foo() as? Int 4 | 5 | fun box(): String { 6 | return if (bar() == null) "OK" else "fail" 7 | } 8 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/classLiteral/bound/simple.kt: -------------------------------------------------------------------------------- 1 | 2 | fun box(): String { 3 | val x: CharSequence = "" 4 | val klass = x::class 5 | return if (klass == String::class) "OK" else "Fail: $klass" 6 | } 7 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/classes/classNamedAsOldPackageFacade.kt: -------------------------------------------------------------------------------- 1 | package test 2 | 3 | class TestPackage { 4 | val OK = "OK" 5 | } 6 | 7 | fun box(): String = TestPackage().OK -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/classes/classObject.kt: -------------------------------------------------------------------------------- 1 | class C() { 2 | companion object { 3 | fun create() = C() 4 | } 5 | } 6 | 7 | fun box(): String { 8 | val c = C.create() 9 | return if (c is C) "OK" else "fail" 10 | } 11 | 12 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/classes/classObjectAsExtensionReceiver.kt: -------------------------------------------------------------------------------- 1 | fun Any.foo() = 1 2 | 3 | class A { 4 | companion object 5 | } 6 | 7 | fun box() = if (A.foo() == 1) "OK" else "fail" 8 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/classes/classObjectField.kt: -------------------------------------------------------------------------------- 1 | class A() { 2 | companion object { 3 | val value = 10 4 | } 5 | } 6 | 7 | fun box() = if (A.value == 10) "OK" else "Fail ${A.value}" 8 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/classes/classObjectNotOfEnum.kt: -------------------------------------------------------------------------------- 1 | class A { 2 | companion object { 3 | fun values() = "O" 4 | fun valueOf() = "K" 5 | } 6 | } 7 | 8 | fun box() = A.values() + A.valueOf() 9 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/classes/exceptionConstructor.kt: -------------------------------------------------------------------------------- 1 | class GameError(msg: String): Exception(msg) { 2 | } 3 | 4 | fun box(): String { 5 | val e = GameError("foo") 6 | return if (e.message == "foo") "OK" else "fail" 7 | } 8 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/classes/initializerBlock.kt: -------------------------------------------------------------------------------- 1 | class C() { 2 | public var f: Int 3 | 4 | init { 5 | f = 610 6 | } 7 | } 8 | 9 | fun box(): String { 10 | val c = C() 11 | if (c.f != 610) return "fail" 12 | return "OK" 13 | } 14 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/classes/inner/kt6708.kt: -------------------------------------------------------------------------------- 1 | open class A() { 2 | open inner class InnerA 3 | } 4 | 5 | class B : A() { 6 | inner class InnerB : A.InnerA() 7 | } 8 | 9 | fun box(): String { 10 | B().InnerB() 11 | return "OK" 12 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/classes/kt1247.kt: -------------------------------------------------------------------------------- 1 | fun f(a : Int?, b : Int.(Int)->Int) = a?.b(1) 2 | 3 | fun box(): String { 4 | val x = f(1) { this+it+2 } 5 | return if (x == 4) "OK" else "fail" 6 | } 7 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/classes/kt1578.kt: -------------------------------------------------------------------------------- 1 | fun box() : String { 2 | var i = 0 3 | { 4 | i++ 5 | }() 6 | i++ //the problem is here 7 | // i = i + 1 //this way it works 8 | return if (i == 2) "OK" else "fail" 9 | } 10 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/classes/kt1721.kt: -------------------------------------------------------------------------------- 1 | class T(val f : () -> Any?) { 2 | fun call() : Any? = f() 3 | } 4 | fun box(): String { 5 | return T({ "OK" }).call() as String 6 | } 7 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/classes/kt1759.kt: -------------------------------------------------------------------------------- 1 | class Greeter(var name : String) { 2 | fun greet() { 3 | name = name.plus("") 4 | } 5 | } 6 | 7 | fun box() : String { 8 | Greeter("OK").greet() 9 | return "OK" 10 | } 11 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/classes/kt1976.kt: -------------------------------------------------------------------------------- 1 | class A { 2 | public val f : ()->String = {"OK"} 3 | } 4 | 5 | fun box(): String { 6 | val a = A() 7 | return a.f() // does not work: (in runtime) ClassCastException: A cannot be cast to kotlin.Function0 8 | } 9 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/classes/kt2607.kt: -------------------------------------------------------------------------------- 1 | fun box() : String { 2 | val o = object { 3 | 4 | inner class C { 5 | fun foo() = "OK" 6 | } 7 | } 8 | return o.C().foo() 9 | } 10 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/classes/kt2784.kt: -------------------------------------------------------------------------------- 1 | open class Factory(p: Int) 2 | 3 | class A { 4 | companion object : Factory(1) 5 | } 6 | 7 | fun box() : String { 8 | A 9 | return "OK" 10 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/classes/kt3001.kt: -------------------------------------------------------------------------------- 1 | interface A { 2 | val result: String 3 | } 4 | 5 | class Base(override val result: String) : A 6 | 7 | open class Derived : A by Base("OK") 8 | 9 | class Z : Derived() 10 | 11 | fun box() = Z().result 12 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/classes/kt454.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | var s1 = (l1@ "s") 3 | val s2 = (l2@ if (l3@ true) s1 else null) 4 | return if (s2 == "s") "OK" else "fail" 5 | } 6 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/classes/kt725.kt: -------------------------------------------------------------------------------- 1 | operator fun Int?.inc() = this!!.inc() 2 | 3 | public fun box() : String { 4 | var i : Int? = 10 5 | val j = i++ 6 | 7 | return if(j==10 && 11 == i) "OK" else "fail" 8 | } 9 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/classes/quotedClassName.kt: -------------------------------------------------------------------------------- 1 | // IGNORE_BACKEND: JS 2 | 3 | class `A!u00A0`() { 4 | val ok = "OK" 5 | } 6 | 7 | fun box(): String { 8 | return `A!u00A0`().ok 9 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/classes/simpleBox.kt: -------------------------------------------------------------------------------- 1 | class Box(t: T) { 2 | var value = t 3 | } 4 | 5 | fun box(): String { 6 | val box: Box = Box(1) 7 | return if (box.value == 1) "OK" else "fail" 8 | } 9 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/closures/capturedVarsOptimization/capturedInCrossinline.kt: -------------------------------------------------------------------------------- 1 | inline fun runCrossInline(crossinline f: () -> Unit) { 2 | f() 3 | } 4 | 5 | fun box(): String { 6 | var x = "" 7 | runCrossInline { x = "OK" } 8 | return x 9 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/closures/capturedVarsOptimization/capturedInInlineOnlyAssign.kt: -------------------------------------------------------------------------------- 1 | // WITH_RUNTIME 2 | 3 | fun box(): String { 4 | var x = "" 5 | run { x = "OK" } 6 | return x 7 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/closures/capturedVarsOptimization/capturedInInlineOnlyCAO.kt: -------------------------------------------------------------------------------- 1 | // WITH_RUNTIME 2 | 3 | fun box(): String { 4 | var x = "" 5 | run { 6 | x += "O" 7 | x += "K" 8 | } 9 | return x 10 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/closures/capturedVarsOptimization/capturedInInlineOnlyIncrDecr.kt: -------------------------------------------------------------------------------- 1 | // WITH_RUNTIME 2 | 3 | fun box(): String { 4 | var x = 0 5 | run { x++ } 6 | run { ++x } 7 | return if (x == 2) "OK" else "Fail: $x" 8 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/closures/closureWithParameter.kt: -------------------------------------------------------------------------------- 1 | fun box() : String { 2 | return apply( "OK", {arg: String -> arg } ) 3 | } 4 | 5 | fun apply(arg : String, f : (p:String) -> String) : String { 6 | return f(arg) 7 | } 8 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/closures/closureWithParameterAndBoxing.kt: -------------------------------------------------------------------------------- 1 | fun box() : String { 2 | return if (apply( 5, {arg: Int -> arg + 13 } ) == 18) "OK" else "fail" 3 | } 4 | 5 | fun apply(arg : Int, f : (p:Int) -> Int) : Int { 6 | return f(arg) 7 | } 8 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/closures/doubleEnclosedLocalVariable.kt: -------------------------------------------------------------------------------- 1 | fun box() : String { 2 | val cl = 39 3 | return if (sum(200, { val ff = {cl}; ff() }) == 239) "OK" else "FAIL" 4 | } 5 | 6 | fun sum(arg:Int, f : () -> Int) : Int { 7 | return arg + f() 8 | } 9 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/closures/kt2151.kt: -------------------------------------------------------------------------------- 1 | fun foo(): String { 2 | return if (true) { 3 | var x = "OK" 4 | fun foo() { x += "fail" } 5 | x 6 | } else "fail" 7 | } 8 | 9 | fun box(): String { 10 | return foo() 11 | } 12 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/closures/kt3905.kt: -------------------------------------------------------------------------------- 1 | fun box() : String { 2 | fun foo(t:() -> T) : T = t() 3 | 4 | return foo {"OK"} 5 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/closures/kt5589.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | val x = "OK" 3 | fun bar(y: String = x): String = y 4 | return bar() 5 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/closures/localClassFunClosure.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | val o = "O" 3 | fun ok() = o + "K" 4 | class OK { 5 | val ok = ok() 6 | } 7 | return OK().ok 8 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/closures/localClassLambdaClosure.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | val o = "O" 3 | val ok_L = {o + "K"} 4 | class OK { 5 | val ok = ok_L() 6 | } 7 | return OK().ok 8 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/closures/localFunctionInInitializer.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | 3 | fun local():Int { 4 | return 10; 5 | } 6 | 7 | class A { 8 | val test = local() 9 | } 10 | 11 | return if (A().test == 10) "OK" else "fail" 12 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/closures/recursiveClosure.kt: -------------------------------------------------------------------------------- 1 | fun foo(s: String): String { 2 | fun bar(count: Int): String = 3 | if (count == 0) s else bar(count - 1) 4 | return bar(10) 5 | } 6 | 7 | fun box(): String = foo("OK") 8 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/closures/simplestClosure.kt: -------------------------------------------------------------------------------- 1 | fun box() : String { 2 | return invoker( {"OK"} ) 3 | } 4 | 5 | fun invoker(gen : () -> String) : String { 6 | return gen() 7 | } 8 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/closures/simplestClosureAndBoxing.kt: -------------------------------------------------------------------------------- 1 | fun box() : String { 2 | return if (int_invoker( { 7 } ) == 7) "OK" else "fail" 3 | } 4 | 5 | fun int_invoker(gen : () -> Int) : Int { 6 | return gen() 7 | } 8 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/closures/underscoreParameters.kt: -------------------------------------------------------------------------------- 1 | fun foo(block: (String, String, String) -> String): String = block("O", "fail", "K") 2 | 3 | fun box() = foo { x, _, y -> x + y } 4 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/constants/privateConst.kt: -------------------------------------------------------------------------------- 1 | private const val z = "OK"; 2 | 3 | fun box(): String { 4 | return { 5 | z 6 | }() 7 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/controlStructures/breakContinueInExpressions/breakInDoWhile.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | val ok: String? = "OK" 3 | var res = "" 4 | 5 | do { 6 | res += ok ?: break 7 | } while (false) 8 | 9 | return res 10 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/controlStructures/breakContinueInExpressions/breakInExpr.kt: -------------------------------------------------------------------------------- 1 | fun test(str: String): String { 2 | var s = "" 3 | for (i in 1..3) { 4 | s += if (i<2) str else break 5 | } 6 | return s 7 | } 8 | 9 | fun box(): String = test("OK") -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/controlStructures/breakContinueInExpressions/continueInDoWhile.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | var i = 0 3 | do continue while (i++ < 3) 4 | 5 | return "OK" 6 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/controlStructures/breakContinueInExpressions/continueInExpr.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | var s = "OK" 3 | for (i in 1..3) { 4 | s = s + if (i<2) "" else continue 5 | } 6 | return s 7 | } 8 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/controlStructures/breakContinueInExpressions/kt9022And.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | var cycle = true; 3 | while (true) { 4 | if (true && break) { 5 | return "fail" 6 | } 7 | } 8 | return "OK" 9 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/controlStructures/breakContinueInExpressions/kt9022Or.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | var cycle = true; 3 | while (true) { 4 | if (true || break) { 5 | return "OK" 6 | } 7 | } 8 | return "fail" 9 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/controlStructures/breakContinueInExpressions/pathologicalDoWhile.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | var flag = false 3 | do { 4 | if (flag) break 5 | continue 6 | } while (false) 7 | return "OK" 8 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/controlStructures/breakContinueInExpressions/whileTrueBreak.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | while (true) break 3 | return "OK" 4 | } 5 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/controlStructures/breakInFinally.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | while (true) { 3 | try { 4 | continue; 5 | } 6 | finally { 7 | break; 8 | } 9 | } 10 | return "OK" 11 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/controlStructures/emptyDoWhile.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | do while (false); 3 | 4 | var x = 0 5 | do while (x++<5); 6 | if (x != 6) return "Fail: $x" 7 | 8 | return "OK" 9 | } 10 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/controlStructures/emptyWhile.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | while (false); 3 | 4 | var x = 0 5 | while (x++<5); 6 | if (x != 6) return "Fail: $x" 7 | 8 | return "OK" 9 | } 10 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/controlStructures/forInCharSequence.kt: -------------------------------------------------------------------------------- 1 | // WITH_RUNTIME 2 | 3 | fun box(): String { 4 | var s = "" 5 | for (c in StringBuilder("OK")) { 6 | s += c 7 | } 8 | return s 9 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/controlStructures/inRangeConditionsInWhen.kt: -------------------------------------------------------------------------------- 1 | operator fun Int.contains(i : Int) = true 2 | 3 | fun box(): String { 4 | when (1) { 5 | in 2 -> return "OK" 6 | else -> return "fail" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/controlStructures/kt1688.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | var s = "" 3 | try { 4 | throw RuntimeException() 5 | } catch (e : RuntimeException) { 6 | } finally { 7 | s += "OK" 8 | } 9 | return s 10 | } 11 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/controlStructures/kt1742.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | val x = 2 3 | return when(x) { 4 | in (1..3) -> "OK" 5 | else -> "fail" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/controlStructures/kt17590.kt: -------------------------------------------------------------------------------- 1 | fun zap(s: String): String? = s 2 | 3 | inline fun tryZap(s: String, fn: (String) -> String): String { 4 | return fn(zap(s) ?: return "null") 5 | } 6 | 7 | fun box() = tryZap("OK") { it } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/controlStructures/kt1899.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | if (1 != 0) { 3 | } 4 | return "OK" 5 | } 6 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/controlStructures/kt2147.kt: -------------------------------------------------------------------------------- 1 | class Foo { 2 | fun isOk() = true 3 | } 4 | 5 | fun box(): String { 6 | val foo: Foo? = Foo() 7 | if (foo?.isOk()!!) return "OK" 8 | return "fail" 9 | } 10 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/controlStructures/kt2259.kt: -------------------------------------------------------------------------------- 1 | fun foo(args: Array) { 2 | try { 3 | } finally { 4 | try { 5 | } catch (e: Throwable) { 6 | } 7 | } 8 | } 9 | 10 | fun box() = "OK" 11 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/controlStructures/kt2291.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | 1 in 1.rangeTo(10) 3 | 1..10 4 | 'h' in 'A'.rangeTo('Z') 5 | return "OK" 6 | } 7 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/controlStructures/kt2597.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | var i = 0 3 | { 4 | if (1 == 1) { 5 | i++ 6 | } else { 7 | } 8 | }() 9 | return "OK" 10 | } 11 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/controlStructures/kt416.kt: -------------------------------------------------------------------------------- 1 | fun box() : String { 2 | var a = 10 3 | return if(a?.plus(10) == 20) "OK" else "fail" 4 | } 5 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/controlStructures/kt870.kt: -------------------------------------------------------------------------------- 1 | fun box() = when { 2 | 1 > 2 -> "false" 3 | 1 >= 1 -> "OK" 4 | else -> "else" 5 | } 6 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/controlStructures/kt958.kt: -------------------------------------------------------------------------------- 1 | fun test() = 239 2 | 3 | fun box() = if(test() in 239..240) "OK" else "fail" 4 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/controlStructures/longRange.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | val r = 1.toLong()..2 3 | var s = "" 4 | for (l in r) { 5 | s += l 6 | } 7 | return if (s == "12") "OK" else "fail: $s" 8 | } 9 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/controlStructures/parameterWithNameForFunctionType.kt: -------------------------------------------------------------------------------- 1 | fun test(a: T, b: T, operation: (x: T) -> T) { 2 | operation(if (3 > 2) a else b) 3 | } 4 | 5 | fun box(): String { 6 | test(1, 1, { it }) 7 | return "OK" 8 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/controlStructures/tryCatchInExpressions/catch.kt: -------------------------------------------------------------------------------- 1 | fun box(): String = 2 | "O" + try { throw Exception("oops!") } catch (e: Exception) { "K" } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/controlStructures/tryCatchInExpressions/finally.kt: -------------------------------------------------------------------------------- 1 | fun box(): String = 2 | "O" + try { "K" } finally { "hmmm" } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/controlStructures/tryCatchInExpressions/kt17573.kt: -------------------------------------------------------------------------------- 1 | fun zap(s: String) = s 2 | 3 | inline fun tryZap(string: String, fn: (String) -> String) = 4 | fn(try { zap(string) } finally {}) 5 | 6 | fun box(): String = tryZap("OK") { it } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/controlStructures/tryCatchInExpressions/try.kt: -------------------------------------------------------------------------------- 1 | fun box(): String = 2 | "O" + try { "K" } catch (e: Exception) { "oops!" } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/controlStructures/tryCatchInExpressions/tryAfterTry.kt: -------------------------------------------------------------------------------- 1 | fun box(): String = 2 | "" + 3 | try { "O" } catch (e: Exception) { "1" } + 4 | try { throw Exception("oops!") } catch (e: Exception) { "K" } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/dataClasses/changingVarParam.kt: -------------------------------------------------------------------------------- 1 | data class A(var string: String) 2 | 3 | fun box(): String { 4 | val a = A("Fail") 5 | a.string = "OK" 6 | val (result) = a 7 | return result 8 | } 9 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/dataClasses/equals/alreadyDeclared.kt: -------------------------------------------------------------------------------- 1 | data class A(val x: Int) { 2 | override fun equals(other: Any?): Boolean = false 3 | } 4 | 5 | fun box(): String { 6 | val a = A(0) 7 | return if (a.equals(a)) "fail" else "OK" 8 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/dataClasses/equals/sameinstance.kt: -------------------------------------------------------------------------------- 1 | data class A(val arg: Any? = null) 2 | 3 | fun box() : String { 4 | val a = A() 5 | val b = a 6 | return if(b == a) "OK" else "fail" 7 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/dataClasses/hashCode/alreadyDeclared.kt: -------------------------------------------------------------------------------- 1 | data class A(val x: Int) { 2 | override fun hashCode(): Int = -3 3 | } 4 | 5 | fun box(): String { 6 | return if (A(0).hashCode() == -3) "OK" else "fail" 7 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/dataClasses/hashCode/boolean.kt: -------------------------------------------------------------------------------- 1 | data class A(val a: Boolean) 2 | 3 | fun box() : String { 4 | if (A(true).hashCode() != 1) return "fail1" 5 | if (A(false).hashCode() !=0) return "fail2" 6 | return "OK" 7 | } 8 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/dataClasses/hashCode/byte.kt: -------------------------------------------------------------------------------- 1 | data class A(val a: Byte) 2 | 3 | fun box() : String { 4 | val v1 = A(10.toByte()).hashCode() 5 | val v2 = (10.toByte() as Byte?)!!.hashCode() 6 | return if( v1 == v2 ) "OK" else "$v1 $v2" 7 | } 8 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/dataClasses/hashCode/char.kt: -------------------------------------------------------------------------------- 1 | data class A(val a: Char) 2 | 3 | fun box() : String { 4 | val v1 = A('a').hashCode() 5 | val v2 = ('a' as Char?)!!.hashCode() 6 | return if( v1 == v2 ) "OK" else "$v1 $v2" 7 | } 8 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/dataClasses/hashCode/float.kt: -------------------------------------------------------------------------------- 1 | data class A(val a: Float) 2 | 3 | fun box() : String { 4 | val v1 = A(-10.toFloat()).hashCode() 5 | val v2 = (-10.toFloat() as Float?)!!.hashCode() 6 | return if( v1 == v2 ) "OK" else "$v1 $v2" 7 | } 8 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/dataClasses/hashCode/genericNull.kt: -------------------------------------------------------------------------------- 1 | data class A(val t: T) 2 | 3 | fun box(): String { 4 | val h = A(null).hashCode() 5 | if (h != 0) return "Fail $h" 6 | return "OK" 7 | } 8 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/dataClasses/hashCode/int.kt: -------------------------------------------------------------------------------- 1 | data class A(val a: Int) 2 | 3 | fun box() : String { 4 | val v1 = A(-10.toInt()).hashCode() 5 | val v2 = (-10.toInt() as Int?)!!.hashCode() 6 | return if( v1 == v2 ) "OK" else "$v1 $v2" 7 | } 8 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/dataClasses/hashCode/long.kt: -------------------------------------------------------------------------------- 1 | data class A(val a: Long) 2 | 3 | fun box() : String { 4 | val v1 = A(-10.toLong()).hashCode() 5 | val v2 = (-10.toLong() as Long?)!!.hashCode() 6 | return if( v1 == v2 ) "OK" else "$v1 $v2" 7 | } 8 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/dataClasses/hashCode/short.kt: -------------------------------------------------------------------------------- 1 | data class A(val a: Short) 2 | 3 | fun box() : String { 4 | val v1 = A(10.toShort()).hashCode() 5 | val v2 = (10.toShort() as Short?)!!.hashCode() 6 | return if( v1 == v2 ) "OK" else "$v1 $v2" 7 | } 8 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/dataClasses/multiDeclaration.kt: -------------------------------------------------------------------------------- 1 | data class A(val x: Int, val y: Any?, val z: String) 2 | 3 | fun box(): String { 4 | val a = A(42, null, "OK") 5 | val (x, y, z) = a 6 | return if (x == 42 && y == null) z else "Fail" 7 | } 8 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/dataClasses/toString/alreadyDeclared.kt: -------------------------------------------------------------------------------- 1 | data class A(val x: Int) { 2 | override fun toString(): String = "!" 3 | } 4 | 5 | fun box(): String { 6 | return if (A(0).toString() == "!") "OK" else "fail" 7 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/dataClasses/toString/mixedParams.kt: -------------------------------------------------------------------------------- 1 | data class A(var x: Int, val z: Int?) 2 | 3 | fun box(): String { 4 | val a = A(1, null) 5 | if("$a" != "A(x=1, z=null)") return "$a" 6 | return "OK" 7 | } 8 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/dataClasses/toString/unitComponent.kt: -------------------------------------------------------------------------------- 1 | data class A(val x: Unit) 2 | 3 | fun box(): String { 4 | val a = A(Unit) 5 | return if ("$a" == "A(x=kotlin.Unit)") "OK" else "$a" 6 | } 7 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/dataClasses/twoValParams.kt: -------------------------------------------------------------------------------- 1 | data class A(val x: Int, val y: String) 2 | 3 | fun box(): String { 4 | val a = A(42, "OK") 5 | return if (a.component1() == 42) a.component2() else a.component1().toString() 6 | } 7 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/dataClasses/unitComponent.kt: -------------------------------------------------------------------------------- 1 | data class A(val x: Unit) 2 | 3 | fun box(): String { 4 | val a = A(Unit) 5 | return if (a.component1() is Unit) "OK" else "Fail ${a.component1()}" 6 | } 7 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/deadCodeElimination/kt14357.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | if (false) { 3 | try { 4 | null!! 5 | } catch (e: Exception) { 6 | throw e 7 | } 8 | } 9 | return "OK" 10 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/defaultArguments/constructor/defArgs1.kt: -------------------------------------------------------------------------------- 1 | class A(val a: Int = 0) 2 | 3 | fun box(): String { 4 | if (A().a == 0 && A(1).a == 1) { 5 | return "OK" 6 | } 7 | return "fail" 8 | } 9 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/defaultArguments/constructor/kt2852.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | val o = object { 3 | inner class A(val value: String = "OK") 4 | } 5 | 6 | return o.A().value 7 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/defaultArguments/function/extentionFunction.kt: -------------------------------------------------------------------------------- 1 | fun Int.foo(a: Int = 1): Int { 2 | return a 3 | } 4 | 5 | fun box(): String { 6 | if (1.foo() != 1) return "fail" 7 | if (1.foo(2) != 2) return "fail" 8 | return "OK" 9 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/defaultArguments/simpleFromOtherFile.kt: -------------------------------------------------------------------------------- 1 | // FILE: 1.kt 2 | 3 | fun box() = ok() 4 | 5 | // FILE: 2.kt 6 | 7 | fun ok(res: String = "OK") = res 8 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/delegatedProperty/local/kt12891.kt: -------------------------------------------------------------------------------- 1 | //WITH_RUNTIME 2 | fun box(): String { 3 | val x by lazy { "OK" } 4 | return x 5 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/destructuringDeclInLambdaParam/inline.kt: -------------------------------------------------------------------------------- 1 | data class A(val x: String, val y: String) 2 | 3 | inline fun foo(a: A, block: (A) -> String): String = block(a) 4 | 5 | fun box() = foo(A("O", "K")) { (x, y) -> x + y } 6 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/destructuringDeclInLambdaParam/simple.kt: -------------------------------------------------------------------------------- 1 | data class A(val x: String, val y: String) 2 | 3 | fun foo(a: A, block: (A) -> String): String = block(a) 4 | 5 | fun box() = foo(A("O", "K")) { (x, y) -> x + y } 6 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/diagnostics/functions/invoke/onObjects/invokeOnClassObject1.kt: -------------------------------------------------------------------------------- 1 | class A { 2 | companion object { 3 | operator fun invoke(i: Int) = i 4 | } 5 | } 6 | 7 | fun box() = if (A(42) == 42) "OK" else "fail" 8 | 9 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/diagnostics/functions/invoke/onObjects/invokeOnEnum1.kt: -------------------------------------------------------------------------------- 1 | enum class A { 2 | ONE, 3 | TWO; 4 | 5 | operator fun invoke(i: Int) = i 6 | } 7 | 8 | fun box() = if (A.ONE(42) == 42) "OK" else "fail" 9 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/diagnostics/functions/invoke/onObjects/invokeOnEnum2.kt: -------------------------------------------------------------------------------- 1 | enum class A { 2 | ONE, 3 | TWO 4 | } 5 | 6 | operator fun A.invoke(i: Int) = i 7 | 8 | fun box() = if (A.ONE(42) == 42) "OK" else "fail" 9 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/diagnostics/functions/invoke/onObjects/invokeOnImportedEnum2.kt: -------------------------------------------------------------------------------- 1 | import A.ONE 2 | 3 | enum class A { 4 | ONE, 5 | TWO 6 | } 7 | 8 | operator fun A.invoke(i: Int) = i 9 | 10 | fun box() = if (ONE(42) == 42) "OK" else "fail" 11 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/diagnostics/functions/invoke/onObjects/invokeOnObject1.kt: -------------------------------------------------------------------------------- 1 | object A 2 | 3 | operator fun A.invoke(i: Int) = i 4 | 5 | fun box() = if (A(42) == 42) "OK" else "fail" -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/diagnostics/functions/invoke/onObjects/invokeOnObject2.kt: -------------------------------------------------------------------------------- 1 | object A { 2 | operator fun invoke(i: Int) = i 3 | } 4 | 5 | fun box() = if (A(42) == 42) "OK" else "fail" -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/elvis/genericNull.kt: -------------------------------------------------------------------------------- 1 | fun foo(t: T) { 2 | (t ?: 42).toInt() 3 | } 4 | 5 | fun box(): String { 6 | foo(null) 7 | return "OK" 8 | } 9 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/elvis/nullNullOk.kt: -------------------------------------------------------------------------------- 1 | fun box() = null ?: null ?: "OK" -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/elvis/primitive.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | if ((42 ?: 239) != 42) return "Fail Int" 3 | if ((42.toLong() ?: 239.toLong()) != 42.toLong()) return "Fail Long" 4 | 5 | return "OK" 6 | } 7 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/enum/abstractMethodInEnum.kt: -------------------------------------------------------------------------------- 1 | enum class A() { 2 | ENTRY(){ override fun t() = "OK"}; 3 | 4 | abstract fun t(): String 5 | } 6 | 7 | fun f(a: A) = a.t() 8 | 9 | fun box()= f(A.ENTRY) 10 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/enum/abstractNestedClass.kt: -------------------------------------------------------------------------------- 1 | enum class E { 2 | ENTRY; 3 | 4 | abstract class Nested 5 | } 6 | 7 | fun box(): String { 8 | E.ENTRY 9 | return "OK" 10 | } 11 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/enum/defaultCtor/constructorWithDefaultArguments.kt: -------------------------------------------------------------------------------- 1 | enum class Test(val str: String = "OK") { 2 | OK 3 | } 4 | 5 | fun box(): String = 6 | Test.OK.str -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/enum/defaultCtor/constructorWithVararg.kt: -------------------------------------------------------------------------------- 1 | enum class Test(vararg xs: Int) { 2 | OK; 3 | val values = xs 4 | } 5 | 6 | fun box(): String = 7 | if (Test.OK.values.size == 0) "OK" else "Fail" -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/enum/defaultCtor/secondaryConstructorWithDefaultArguments.kt: -------------------------------------------------------------------------------- 1 | enum class Test(val x: Int, val str: String) { 2 | OK; 3 | constructor(x: Int = 0) : this(x, "OK") 4 | } 5 | 6 | fun box(): String = 7 | Test.OK.str -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/enum/emptyConstructor.kt: -------------------------------------------------------------------------------- 1 | package test 2 | 3 | enum class My(val s: String) { 4 | ENTRY; 5 | constructor(): this("OK") 6 | } 7 | 8 | fun box() = My.ENTRY.s 9 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/enum/inner.kt: -------------------------------------------------------------------------------- 1 | class A { 2 | enum class E { 3 | OK 4 | } 5 | } 6 | 7 | fun box() = A.E.OK.toString() 8 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/enum/innerWithExistingClassObject.kt: -------------------------------------------------------------------------------- 1 | class A { 2 | companion object {} 3 | enum class E { 4 | OK 5 | } 6 | } 7 | 8 | fun box() = A.E.OK.toString() 9 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/enum/kt20651a.kt: -------------------------------------------------------------------------------- 1 | enum class Foo( 2 | val x: String, 3 | val callback: () -> String 4 | ) { 5 | FOO("OK", { FOO.x }) 6 | } 7 | 8 | fun box() = Foo.FOO.callback() -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/enum/kt2350.kt: -------------------------------------------------------------------------------- 1 | enum class A(val b: String) { 2 | E1("OK"){ override fun t() = b }; 3 | 4 | abstract fun t(): String 5 | } 6 | 7 | fun box()= A.E1.t() 8 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/enum/kt7257.kt: -------------------------------------------------------------------------------- 1 | enum class X { 2 | B { 3 | val value2 = "K" 4 | override val value = "O".let { it + value2 } 5 | }; 6 | 7 | abstract val value: String 8 | } 9 | 10 | fun box() = X.B.value -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/enum/ordinal.kt: -------------------------------------------------------------------------------- 1 | enum class State { 2 | _0, 3 | _1, 4 | _2, 5 | _3 6 | } 7 | 8 | fun box() = if(State._0.ordinal == 0 && State._1.ordinal == 1 && State._2.ordinal == 2 && State._3.ordinal == 3) "OK" else "fail" 9 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/enum/simple.kt: -------------------------------------------------------------------------------- 1 | enum class Season { 2 | WINTER, 3 | SPRING, 4 | SUMMER, 5 | AUTUMN 6 | } 7 | 8 | fun foo(): Season = Season.SPRING 9 | 10 | fun box() = 11 | if (foo() == Season.SPRING) "OK" 12 | else "fail" 13 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/enum/toString.kt: -------------------------------------------------------------------------------- 1 | enum class State { 2 | O, 3 | K 4 | } 5 | 6 | fun box() = "${State.O}${State.K}" 7 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/exclExcl/genericNull.kt: -------------------------------------------------------------------------------- 1 | fun foo(t: T) { 2 | t!! 3 | } 4 | 5 | fun box(): String { 6 | try { 7 | foo(null) 8 | } catch (e: Exception) { 9 | return "OK" 10 | } 11 | return "Fail" 12 | } 13 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/exclExcl/primitive.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | 42!! 3 | 42.toLong()!! 4 | return "OK"!! 5 | } 6 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/extensionFunctions/kt1061.kt: -------------------------------------------------------------------------------- 1 | //KT-1061 Can't call function defined as a val 2 | 3 | object X { 4 | val doit = { i: Int -> i } 5 | } 6 | 7 | fun box() : String = if (X.doit(3) == 3) "OK" else "fail" 8 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/extensionFunctions/kt1953.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | val sb = StringBuilder() 3 | operator fun String.unaryPlus() { 4 | sb.append(this) 5 | } 6 | 7 | +"OK" 8 | return sb.toString()!! 9 | } 10 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/extensionFunctions/kt3646.kt: -------------------------------------------------------------------------------- 1 | fun test(cl: Int.() -> Int):Int = 11.cl() 2 | 3 | class Foo { 4 | val a = test { this } 5 | } 6 | 7 | fun box(): String { 8 | if (Foo().a != 11) return "fail" 9 | 10 | return "OK" 11 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/extensionFunctions/kt4228.kt: -------------------------------------------------------------------------------- 1 | class A { 2 | companion object 3 | } 4 | 5 | val foo: Any.() -> Unit = {} 6 | 7 | fun test() { 8 | A.(foo)() 9 | } 10 | 11 | fun box(): String { 12 | test() 13 | return "OK" 14 | } 15 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/extensionFunctions/nested2.kt: -------------------------------------------------------------------------------- 1 | fun box() : String { 2 | val y = 12 3 | val op = { x:Int -> (x + y).toString() } 4 | 5 | val op2 : Int.(Int) -> String = { op(this + it) } 6 | 7 | return if("27" == 5.op2(10)) "OK" else "fail" 8 | } 9 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/extensionFunctions/simple.kt: -------------------------------------------------------------------------------- 1 | fun StringBuilder.first() = this.get(0) 2 | 3 | fun foo() = StringBuilder("foo").first() 4 | 5 | fun box() = if (foo() == 'f') "OK" else "Fail ${foo()}" 6 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/extensionProperties/topLevel.kt: -------------------------------------------------------------------------------- 1 | val Int.foo: String 2 | get() = "OK" 3 | 4 | fun box(): String { 5 | return 1.foo 6 | } 7 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/functions/defaultargs6.kt: -------------------------------------------------------------------------------- 1 | interface A { 2 | fun foo(x: Int, y: Int = x + 20, z: Int = y * 2) = z 3 | } 4 | 5 | class B : A {} 6 | 7 | fun box() = if (B().foo(1) == 42) "OK" else "Fail" 8 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/functions/defaultargs7.kt: -------------------------------------------------------------------------------- 1 | class A(val expected: Int) { 2 | fun foo(x: Int, y: Int = x + 20, z: Int = y * 2) = z == expected 3 | } 4 | 5 | fun box() = if (A(42).foo(1)) "OK" else "Fail" 6 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/functions/ea33909.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | return justPrint(9.compareTo(4)) 3 | } 4 | 5 | fun justPrint(value: Int): String { 6 | return if (value > 0) "OK" else "Fail $value" 7 | } 8 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/functions/functionExpression/underscoreParameters.kt: -------------------------------------------------------------------------------- 1 | fun foo(block: (String, String, String) -> String): String = block("O", "fail", "K") 2 | 3 | fun box() = foo(fun(x: String, _: String, y: String) = x + y) 4 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/functions/infixRecursiveCall.kt: -------------------------------------------------------------------------------- 1 | infix fun Int.test(x : Int) : Int { 2 | if (this > 1) { 3 | return (this - 1) test x 4 | } 5 | return this 6 | } 7 | 8 | fun box() : String = if (10.test(10) == 1) "OK" else "FAIL" -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/functions/invoke/kt3631invokeOnString.kt: -------------------------------------------------------------------------------- 1 | //KT-3631 String.invoke doesn't work with literals 2 | 3 | operator fun String.invoke(i: Int) = "$this$i" 4 | 5 | fun box() = if ("a"(12) == "a12") "OK" else "fail" -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/functions/kt2270.kt: -------------------------------------------------------------------------------- 1 | class A( 2 | val i : Int, 3 | val j : Int = i 4 | ) 5 | 6 | fun box() = if (A(1).j == 1) "OK" else "fail" 7 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/functions/kt2271.kt: -------------------------------------------------------------------------------- 1 | fun foo(i: Int, j: Int = i) = j 2 | 3 | fun box() = if (foo(1) == 1) "OK" else "fail" 4 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/functions/kt2280.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | fun rmrf(i: Int) { 3 | if (i > 0) rmrf(i - 1) 4 | } 5 | rmrf(5) 6 | return "OK" 7 | } 8 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/functions/kt2929.kt: -------------------------------------------------------------------------------- 1 | fun foo(): Int { 2 | val a = "test" 3 | val b = "test" 4 | return a.compareTo(b) 5 | } 6 | 7 | fun box(): String = if(foo() == 0) "OK" else "Fail" 8 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/functions/kt3313.kt: -------------------------------------------------------------------------------- 1 | fun foo(t: T) { 2 | } 3 | 4 | fun box(): String { 5 | foo(null) 6 | return "OK" 7 | } 8 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/functions/localFunctions/kt3308.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | fun foo(t: T) = t 3 | 4 | return foo("OK") 5 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/functions/localFunctions/kt3978.kt: -------------------------------------------------------------------------------- 1 | fun box() : String { 2 | 3 | 4 | fun local(i: Int = 1) : Int { 5 | return i 6 | } 7 | 8 | return if (local() != 1) "fail" else "OK" 9 | } 10 | 11 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/functions/prefixRecursiveCall.kt: -------------------------------------------------------------------------------- 1 | operator fun String.unaryPlus() : String { 2 | if (this == "") { 3 | return "done" 4 | } 5 | return +"" 6 | } 7 | 8 | fun box() : String = if (+"11" == "done") "OK" else "FAIL" -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/ieee754/dataClass.kt: -------------------------------------------------------------------------------- 1 | data class Test(val z1: Double, val z2: Double?) 2 | 3 | fun box(): String { 4 | val x = Test(Double.NaN, Double.NaN) 5 | val y = Test(Double.NaN, Double.NaN) 6 | 7 | return if (x == y) "OK" else "fail" 8 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/increment/assignPlusOnSmartCast.kt: -------------------------------------------------------------------------------- 1 | public fun box() : String { 2 | var i : Int? 3 | i = 10 4 | // assignPlus on a smart cast should work 5 | i += 1 6 | 7 | return if (11 == i) "OK" else "fail i = $i" 8 | } 9 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/increment/extOnLong.kt: -------------------------------------------------------------------------------- 1 | operator fun Long.get(i: Int) = this 2 | operator fun Long.set(i: Int, newValue: Long) {} 3 | 4 | fun box(): String { 5 | var x = 0L 6 | val y = x[0]++ 7 | return if (y == 0L) "OK" else "Failed, y=$y" 8 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/innerNested/extensionToNested.kt: -------------------------------------------------------------------------------- 1 | class Test { 2 | class Nested { 3 | val value = "OK" 4 | } 5 | } 6 | 7 | fun Test.Nested.foo() = value 8 | 9 | fun box() = Test.Nested().foo() 10 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/innerNested/innerSimple.kt: -------------------------------------------------------------------------------- 1 | class Outer { 2 | inner class Inner { 3 | fun box() = "OK" 4 | } 5 | } 6 | 7 | fun box() = Outer().Inner().box() 8 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/innerNested/nestedClassInObject.kt: -------------------------------------------------------------------------------- 1 | object A { 2 | class B 3 | class C 4 | } 5 | 6 | fun box(): String { 7 | val b = A.B() 8 | val c = A.C() 9 | return "OK" 10 | } 11 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/innerNested/nestedEnumConstant.kt: -------------------------------------------------------------------------------- 1 | class Outer { 2 | enum class Nested { 3 | O, 4 | K 5 | } 6 | } 7 | 8 | fun box() = "${Outer.Nested.O}${Outer.Nested.K}" 9 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/innerNested/nestedInPackage.kt: -------------------------------------------------------------------------------- 1 | package Package 2 | 3 | class Outer { 4 | class Nested { 5 | val O = "O" 6 | val K = "K" 7 | } 8 | } 9 | 10 | fun box() = Package.Outer.Nested().O + Outer.Nested().K 11 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/innerNested/nestedObjects.kt: -------------------------------------------------------------------------------- 1 | object A { 2 | object B { 3 | object C { 4 | val ok = "OK" 5 | } 6 | } 7 | } 8 | 9 | fun box() = A.B.C.ok 10 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/innerNested/nestedSimple.kt: -------------------------------------------------------------------------------- 1 | class Outer { 2 | class Nested { 3 | fun box() = "OK" 4 | } 5 | } 6 | 7 | fun box() = Outer.Nested().box() 8 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/innerNested/superConstructorCall/objectExtendsClassDefaultArgument.kt: -------------------------------------------------------------------------------- 1 | // KT-3581 2 | 3 | open class A(val result: String = "OK") { 4 | } 5 | 6 | fun box(): String { 7 | val a = object : A() {} 8 | return a.result 9 | } 10 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/instructions/swap/swapRefToSharedVarInt.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | var a: Int 3 | a = 12 4 | fun f() { 5 | foo(a) 6 | } 7 | 8 | return "OK" 9 | } 10 | 11 | fun foo(l: Int) {} -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/intrinsics/charToInt.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | val x: Any = 'A' 3 | var y = 0 4 | if (x is Char) { 5 | y = x.toInt() 6 | } 7 | return if (y == 65) "OK" else "fail" 8 | } 9 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/intrinsics/ea35953.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | if (12.toString().equals("13")) { 3 | return "Fail" 4 | } 5 | return "OK" 6 | } 7 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/intrinsics/incWithLabel.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | var x = 1 3 | (foo@ x)++ 4 | ++(foo@ x) 5 | 6 | if (x != 3) return "Fail: $x" 7 | return "OK" 8 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/intrinsics/kt10131.kt: -------------------------------------------------------------------------------- 1 | // WITH_RUNTIME 2 | 3 | fun box(): String = 4 | listOf('O', 'K').fold("", String::plus) 5 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/intrinsics/kt10131a.kt: -------------------------------------------------------------------------------- 1 | // WITH_RUNTIME 2 | 3 | fun box(): String = 4 | charArrayOf('O', 'K').fold("", String::plus) 5 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/intrinsics/longRangeWithExplicitDot.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | val l: Long = 1 3 | val l2: Long = 2 4 | val r = l.rangeTo(l2) 5 | return if (r.start == l && r.endInclusive == l2) "OK" else "fail" 6 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/intrinsics/rangeFromCollection.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | val list = ArrayList() 3 | list.add(1..3) 4 | list[0].start 5 | return "OK" 6 | } 7 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/intrinsics/stringFromCollection.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | val list = ArrayList() 3 | list.add("0") 4 | list[0][0] 5 | list[0].length 6 | return "OK" 7 | } 8 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/javaInterop/notNullAssertions/mapPut.kt: -------------------------------------------------------------------------------- 1 | 2 | fun foo(k: K, v: V) { 3 | val map = HashMap() 4 | val old = map.put(k, v) 5 | } 6 | 7 | fun box(): String { 8 | foo("", "") 9 | return "OK" 10 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/lazyCodegen/optimizations/negateConstantCompare.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | if (!(1 < 2)) { 3 | return "fail" 4 | } 5 | 6 | return "OK" 7 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/lazyCodegen/optimizations/negateFalse.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | if (!false) { 3 | return "OK" 4 | } else { 5 | return "fail" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/lazyCodegen/optimizations/negateFalseVar.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | var p = 2 < 1; 3 | if (!p) { 4 | return "OK" 5 | } else { 6 | return "fail" 7 | } 8 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/lazyCodegen/optimizations/negateFalseVarChain.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | val p = 2 < 1; 3 | if (!!!!!p) { 4 | return "OK" 5 | } else { 6 | return "fail" 7 | } 8 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/lazyCodegen/optimizations/negateObjectComp.kt: -------------------------------------------------------------------------------- 1 | val p: Int? = 1; 2 | val z: Int? = 2; 3 | 4 | fun box(): String { 5 | if (!(p!! == z!!)) { 6 | return "OK" 7 | } 8 | return "fail" 9 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/lazyCodegen/optimizations/negateObjectComp2.kt: -------------------------------------------------------------------------------- 1 | val p: Int? = 1; 2 | val z: Int? = 2; 3 | 4 | fun box(): String { 5 | if (!(p!! < z!!)) { 6 | return "fail" 7 | } 8 | return "OK" 9 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/lazyCodegen/optimizations/negateTrue.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | if (!true) { 3 | return "fail" 4 | } else { 5 | return "OK" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/lazyCodegen/optimizations/negateTrueVar.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | var p = 1 < 2; 3 | if (!p) { 4 | return "fail" 5 | } else { 6 | return "OK" 7 | } 8 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/lazyCodegen/safeAssign.kt: -------------------------------------------------------------------------------- 1 | class Shape(var result: String) { 2 | 3 | } 4 | 5 | fun box(): String { 6 | var a : Shape? = Shape("fail"); 7 | a?.result = "OK"; 8 | 9 | return a!!.result 10 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/lazyCodegen/toString.kt: -------------------------------------------------------------------------------- 1 | class A (val p: String) { 2 | 3 | val _kind: String = "$p" 4 | 5 | } 6 | 7 | fun box(): String { 8 | 9 | if (A("OK")._kind != "OK") return "fail" 10 | 11 | return "OK" 12 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/localClasses/anonymousObjectInParameterInitializer.kt: -------------------------------------------------------------------------------- 1 | class A( 2 | val a: String = object { 3 | override fun toString(): String = "OK" 4 | }.toString() 5 | ) 6 | 7 | fun box() : String { 8 | return A().a 9 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/localClasses/kt2873.kt: -------------------------------------------------------------------------------- 1 | fun foo() : String { 2 | val u = { 3 | class B(val data : String) 4 | B("OK").data 5 | } 6 | return u() 7 | } 8 | 9 | fun box(): String { 10 | return foo() 11 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/localClasses/noclosure.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | open class K { 3 | val o = "O" 4 | } 5 | 6 | class Bar : K() { 7 | val k = "K" 8 | } 9 | 10 | return K().o + Bar().k 11 | } 12 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/localClasses/object.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | val k = object { 3 | val ok = "OK" 4 | } 5 | 6 | return k.ok 7 | } 8 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/localClasses/withclosure.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | val x = "OK" 3 | class Aaa { 4 | val y = x 5 | } 6 | 7 | return Aaa().y 8 | } 9 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/localFunctions/parameterAsDefaultValue.kt: -------------------------------------------------------------------------------- 1 | fun foo(): String { 2 | fun bar(x: String, y: String = x): String { 3 | return y 4 | } 5 | 6 | return bar("OK") 7 | } 8 | 9 | fun box(): String { 10 | return foo() 11 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/multiDecl/SimpleVals.kt: -------------------------------------------------------------------------------- 1 | class A { 2 | operator fun component1() = 1 3 | operator fun component2() = 2 4 | } 5 | 6 | fun box() : String { 7 | val (a, b) = A() 8 | return if (a == 1 && b == 2) "OK" else "fail" 9 | } 10 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/nonLocalReturns/kt9644let.kt: -------------------------------------------------------------------------------- 1 | // WITH_RUNTIME 2 | 3 | fun foo() { 4 | with(1) { 5 | return (1..2).forEach { it } 6 | } 7 | } 8 | 9 | fun box(): String { 10 | foo() 11 | return "OK" 12 | } 13 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/nullCheckOptimization/isNullable.kt: -------------------------------------------------------------------------------- 1 | inline fun isNullable() = null is T 2 | 3 | fun box(): String = 4 | if (isNullable()) "OK" else "Fail" -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/objects/classCallsProtectedInheritedByCompanion.kt: -------------------------------------------------------------------------------- 1 | open class A { 2 | protected fun foo() = "OK" 3 | } 4 | 5 | class B { 6 | companion object : A() 7 | 8 | fun bar() = foo() 9 | } 10 | 11 | fun box() = B().bar() 12 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/objects/kt1600.kt: -------------------------------------------------------------------------------- 1 | abstract class Foo { 2 | fun hello(id: T) = "O$id" 3 | } 4 | 5 | class Bar: Foo() { 6 | } 7 | 8 | fun box() = Bar().hello("K") 9 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/objects/kt18982.kt: -------------------------------------------------------------------------------- 1 | import Foo.bar0 as bar 2 | 3 | object Foo { 4 | val bar0 = "OK" 5 | 6 | fun test() = bar0 7 | } 8 | 9 | fun box() = Foo.test() -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/objects/kt2663.kt: -------------------------------------------------------------------------------- 1 | fun box() : String { 2 | var a = 1 3 | 4 | object { 5 | init { 6 | a = 2 7 | } 8 | } 9 | return if (a == 2) "OK" else "fail" 10 | } 11 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/objects/kt2719.kt: -------------------------------------------------------------------------------- 1 | class Clazz { 2 | companion object { 3 | val a = object { 4 | fun run(x: String) = x 5 | } 6 | } 7 | } 8 | 9 | fun box() = "OK" 10 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/objects/kt2822.kt: -------------------------------------------------------------------------------- 1 | open class A { 2 | fun foo() = "OK" 3 | } 4 | 5 | fun box() = object : A() { 6 | fun bar() = super.foo() 7 | }.bar() 8 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/objects/kt4086.kt: -------------------------------------------------------------------------------- 1 | interface N 2 | 3 | open class Base(n: N) 4 | 5 | class Derived : Base(object: N{}) { 6 | 7 | } 8 | 9 | fun box() : String { 10 | Derived() 11 | return "OK" 12 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/objects/methodOnObject.kt: -------------------------------------------------------------------------------- 1 | object A { 2 | fun result() = "OK" 3 | } 4 | 5 | fun box(): String = A.result() 6 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/objects/objectInLocalAnonymousObject.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | var boo = "OK" 3 | var foo = object { 4 | val bar = object { 5 | val baz = boo 6 | } 7 | } 8 | 9 | return foo.bar.baz 10 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/objects/objectInitialization_kt5523.kt: -------------------------------------------------------------------------------- 1 | object A { 2 | val a = "OK" 3 | val b = A.a 4 | } 5 | 6 | fun box() = A.b 7 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/objects/receiverInConstructor.kt: -------------------------------------------------------------------------------- 1 | open class A(open val v: String) 2 | 3 | fun A.a(newv: String) = object: A("fail") { 4 | override val v = this@a.v + newv 5 | } 6 | 7 | fun box() = A("O").a("K").v 8 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/objects/safeAccess.kt: -------------------------------------------------------------------------------- 1 | // KT-5159 2 | 3 | object Test { 4 | val a = "OK" 5 | } 6 | 7 | fun box(): String = Test?.a 8 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/objects/selfReferenceToObjectInInlineLambdaInConstructorBody.kt: -------------------------------------------------------------------------------- 1 | object Test { 2 | fun ok() = "OK" 3 | val x = run { Test.ok() } 4 | fun test() = x 5 | } 6 | 7 | fun box() = Test.test() -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/objects/selfReferenceToObjectInInlineLambdaInSuperConstructorCall.kt: -------------------------------------------------------------------------------- 1 | abstract class Base(val fn: () -> String) 2 | 3 | object Test : Base(run { { Test.ok() } }) { 4 | fun ok() = "OK" 5 | } 6 | 7 | fun box() = Test.fn() -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/objects/selfReferenceToObjectInLambdaInSuperConstructorCall.kt: -------------------------------------------------------------------------------- 1 | abstract class Base(val fn: () -> String) 2 | 3 | object Test : Base({ Test.ok() }) { 4 | fun ok() = "OK" 5 | } 6 | 7 | fun box() = Test.fn() -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/objects/simpleObject.kt: -------------------------------------------------------------------------------- 1 | object A { 2 | val x: Int = 610 3 | } 4 | 5 | fun box() : String { 6 | return if (A.x != 610) "fail" else "OK" 7 | } 8 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/operatorConventions/kt4987.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | operator fun Int?.inc() = (this ?: 0) + 1 3 | var counter: Int? = null 4 | counter++ 5 | return if (counter == 1) "OK" else "fail: $counter" 6 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/package/packageQualifiedMethod.kt: -------------------------------------------------------------------------------- 1 | package Foo 2 | fun bar() = 610 3 | 4 | fun box(): String { 5 | return if (Foo.bar() == 610) "OK" else "fail" 6 | } 7 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/package/privateTopLevelPropAndVarInInner.kt: -------------------------------------------------------------------------------- 1 | private var x = "O" 2 | private fun f() = "K" 3 | 4 | fun box() = { x + f() }() 5 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/platformTypes/primitives/assign.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | val l = ArrayList() 3 | l.add(1) 4 | var x = l[0] 5 | x = 2 6 | if (x != 2) return "Fail: $x}" 7 | return "OK" 8 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/platformTypes/primitives/div.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | val l = ArrayList() 3 | l.add(2) 4 | val x = l[0] / 2 5 | if (x != 1) return "Fail: $x}" 6 | return "OK" 7 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/platformTypes/primitives/equals.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | val l = ArrayList() 3 | l.add(1) 4 | val x = l[0] == 2 5 | if (x != false) return "Fail: $x}" 6 | return "OK" 7 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/platformTypes/primitives/hashCode.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | val l = ArrayList() 3 | l.add(1) 4 | val x = l[0].hashCode() 5 | if (x != 1) return "Fail: $x}" 6 | return "OK" 7 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/platformTypes/primitives/minus.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | val l = ArrayList() 3 | l.add(1) 4 | val x = l[0] - 1 5 | if (x != 0) return "Fail: $x}" 6 | return "OK" 7 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/platformTypes/primitives/mod.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | val l = ArrayList() 3 | l.add(2) 4 | val x = l[0] % 2 5 | if (x != 0) return "Fail: $x}" 6 | return "OK" 7 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/platformTypes/primitives/not.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | val l = ArrayList() 3 | l.add(true) 4 | val x = !l[0] 5 | if (x) return "Fail: $x}" 6 | return "OK" 7 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/platformTypes/primitives/notEquals.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | val l = ArrayList() 3 | l.add(1) 4 | val x = l[0] != 1 5 | if (x != false) return "Fail: $x}" 6 | return "OK" 7 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/platformTypes/primitives/plus.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | val l = ArrayList() 3 | l.add(1) 4 | val x = l[0] + 1 5 | if (x != 2) return "Fail: $x}" 6 | return "OK" 7 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/platformTypes/primitives/times.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | val l = ArrayList() 3 | l.add(1) 4 | val x = l[0] * 2 5 | if (x != 2) return "Fail: $x}" 6 | return "OK" 7 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/platformTypes/primitives/toShort.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | val l = ArrayList() 3 | l.add(1) 4 | val x = l[0].toShort() 5 | if (x != 1.toShort()) return "Fail: $x}" 6 | return "OK" 7 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/platformTypes/primitives/toString.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | val l = ArrayList() 3 | l.add(1) 4 | val x = "${l[0]}" 5 | if (x != "1") return "Fail: $x}" 6 | return "OK" 7 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/platformTypes/primitives/unaryMinus.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | val l = ArrayList() 3 | l.add(1) 4 | val x = -l[0] 5 | if (x != -1) return "Fail: $x" 6 | return "OK" 7 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/platformTypes/primitives/unaryPlus.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | val l = ArrayList() 3 | l.add(1) 4 | val x = +l[0] 5 | if (x != 1) return "Fail: $x}" 6 | return "OK" 7 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/primitiveTypes/ea35963.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | if (1 != 0) { 3 | 1 4 | } 5 | return "OK" 6 | } 7 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/primitiveTypes/equalityWithObject/boxedLongEqualsLong.kt: -------------------------------------------------------------------------------- 1 | val x: Long = 0L 2 | 3 | fun box(): String { 4 | val ax: Long? = 0L 5 | return if (ax != x) "Fail" else "OK" 6 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/primitiveTypes/intLiteralIsNotNull.kt: -------------------------------------------------------------------------------- 1 | fun box() = if (10!! == 10) "OK" else "fail" 2 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/primitiveTypes/kt1055.kt: -------------------------------------------------------------------------------- 1 | fun box() : String { 2 | val a = "lala" 3 | if(a !== a) return "fail 1" 4 | if(a === a) return "OK" 5 | return "fail 2" 6 | } 7 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/primitiveTypes/kt14868.kt: -------------------------------------------------------------------------------- 1 | 2 | fun box(): String { 3 | val x: Number = 75 4 | 5 | return "O" + x.toChar() 6 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/primitiveTypes/kt1508.kt: -------------------------------------------------------------------------------- 1 | fun test( n : Number ) = n.toInt().toLong() + n.toLong() 2 | 3 | fun box() : String { 4 | val n : Number = 10 5 | return if(test(n) == 20.toLong()) "OK" else "fail" 6 | } 7 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/primitiveTypes/kt1634.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | !true 3 | return "OK" 4 | } 5 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/primitiveTypes/kt2275.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | (0.toLong() as Number?)?.toByte() 3 | (0 as Int?)?.toDouble() 4 | return "OK" 5 | } 6 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/primitiveTypes/kt239.kt: -------------------------------------------------------------------------------- 1 | fun box() : String { 2 | val i : Int? = 0 3 | val j = i?.plus(3) //verify error 4 | return "OK" 5 | } 6 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/primitiveTypes/kt248.kt: -------------------------------------------------------------------------------- 1 | fun box() : String { 2 | val b = true as? Boolean //exception 3 | val i = 1 as Int //exception 4 | val j = 1 as Int? //ok 5 | val s = "s" as String //ok 6 | return "OK" 7 | } 8 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/primitiveTypes/kt3517.kt: -------------------------------------------------------------------------------- 1 | // KT-3517 Can't call .equals() on a boolean 2 | 3 | fun box(): String { 4 | val a = false 5 | return if (true.equals(true) && a.equals(false)) "OK" else "fail" 6 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/primitiveTypes/kt3613.kt: -------------------------------------------------------------------------------- 1 | fun foo(): Int? = 42 2 | 3 | fun box(): String { 4 | if (foo()!! > 239) return "Fail" 5 | return "OK" 6 | } 7 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/primitiveTypes/kt4098.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | val c: Char? = '0' 3 | c!!.toInt() 4 | 5 | "123456"?.get(0)!!.toInt() 6 | 7 | "123456"!!.get(0).toInt() 8 | 9 | return "OK" 10 | } 11 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/primitiveTypes/kt4251.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | val a: Char? = 'a' 3 | val result = a!! < 'b' 4 | return if (result) "OK" else "Fail" 5 | } 6 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/primitiveTypes/kt446.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | var s = "s" 3 | s += 1 4 | return if (s == "s1") "OK" else "fail" 5 | } 6 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/primitiveTypes/kt711.kt: -------------------------------------------------------------------------------- 1 | fun box() = if ((1 ?: 0) == 1) "OK" else "fail" 2 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/primitiveTypes/kt737.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | if (3.compareTo(2) != 1) return "Fail #1" 3 | if (5.toByte().compareTo(10.toLong()) >= 0) return "Fail #2" 4 | return "OK" 5 | } 6 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/primitiveTypes/kt882.kt: -------------------------------------------------------------------------------- 1 | val _0 : Double = 0.0 2 | val _0dbl : Double = 0.toDouble() 3 | 4 | fun box() : String { 5 | if(_0 != _0dbl) return "fail" 6 | return "OK" 7 | } 8 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/primitiveTypes/kt887.kt: -------------------------------------------------------------------------------- 1 | class Book(val name: String) : Comparable { 2 | override fun compareTo(other: Book) = name.compareTo(other.name) 3 | } 4 | 5 | fun box() = if(Book("239").compareTo(Book("932")) != 0) "OK" else "fail" 6 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/primitiveTypes/nullableCharBoolean.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | val c: Char? = 'a' 3 | if (c!! - 'a' != 0) return "Fail c" 4 | 5 | val b: Boolean? = false 6 | if (b!!) return "Fail b" 7 | 8 | return "OK" 9 | } 10 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/primitiveTypes/unboxComparable.kt: -------------------------------------------------------------------------------- 1 | fun foo(x: Int) = x 2 | 3 | fun bar(x: Comparable) = if (x is Int) foo(x) else 0 4 | 5 | fun box() = if (bar(42) == 42) "OK" else "Fail" 6 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/privateConstructors/base.kt: -------------------------------------------------------------------------------- 1 | // See also KT-6299 2 | public open class Outer private constructor() { 3 | class Inner: Outer() 4 | } 5 | 6 | fun box(): String { 7 | val outer = Outer.Inner() 8 | return "OK" 9 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/privateConstructors/secondary.kt: -------------------------------------------------------------------------------- 1 | // See also KT-6299 2 | public open class Outer private constructor(val x: Int) { 3 | constructor(): this(42) 4 | } 5 | 6 | fun box(): String { 7 | val outer = Outer() 8 | return "OK" 9 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/properties/classFieldInsideLambda.kt: -------------------------------------------------------------------------------- 1 | class My { 2 | val my: String = "O" 3 | get() = { field }() + "K" 4 | } 5 | 6 | fun box() = My().my -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/properties/companionFieldInsideLambda.kt: -------------------------------------------------------------------------------- 1 | class My { 2 | companion object { 3 | val my: String = "O" 4 | get() = { field }() + "K" 5 | } 6 | } 7 | 8 | fun box() = My.my -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/properties/field.kt: -------------------------------------------------------------------------------- 1 | var my: String = "" 2 | get() = field + "K" 3 | set(arg) { 4 | field = arg 5 | } 6 | 7 | fun box(): String { 8 | my = "O" 9 | return my 10 | } 11 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/properties/fieldInClass.kt: -------------------------------------------------------------------------------- 1 | class My { 2 | val my: String = "O" 3 | get() = field + "K" 4 | } 5 | 6 | fun box() = My().my 7 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/properties/fieldInsideLambda.kt: -------------------------------------------------------------------------------- 1 | val my: String = "O" 2 | get() = { field }() + "K" 3 | 4 | fun box() = my 5 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/properties/fieldSimple.kt: -------------------------------------------------------------------------------- 1 | val x: String = "OK" 2 | get() = field 3 | 4 | fun box() = x -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/properties/kt1892.kt: -------------------------------------------------------------------------------- 1 | val Int.ext: () -> Int get() = { 5 } 2 | val Long.ext: Long get() = 4.ext().toLong() //(c.kt:4) 3 | val y: Long get() = 10L.ext 4 | 5 | fun box(): String = if (y == 5L) "OK" else "fail: $y" 6 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/properties/kt3524.kt: -------------------------------------------------------------------------------- 1 | val i: Any = 12 2 | 3 | fun box(): String { 4 | return if (i == 12) "OK" else "fail" 5 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/properties/kt9603.kt: -------------------------------------------------------------------------------- 1 | class A { 2 | public var prop = "OK" 3 | private set 4 | 5 | 6 | fun test(): String { 7 | return { prop }() 8 | } 9 | } 10 | 11 | fun box(): String = A().test() -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/properties/lateinit/local/localLateinit.kt: -------------------------------------------------------------------------------- 1 | // LANGUAGE_VERSION: 1.2 2 | 3 | fun box(): String { 4 | lateinit var ok: String 5 | run { 6 | ok = "OK" 7 | } 8 | return ok 9 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/properties/lateinit/simpleVar.kt: -------------------------------------------------------------------------------- 1 | class A { 2 | public lateinit var str: String 3 | } 4 | 5 | fun box(): String { 6 | val a = A() 7 | a.str = "OK" 8 | return a.str 9 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/properties/lateinit/topLevel/topLevelLateinit.kt: -------------------------------------------------------------------------------- 1 | // LANGUAGE_VERSION: 1.2 2 | 3 | lateinit var ok: String 4 | 5 | fun box(): String { 6 | run { 7 | ok = "OK" 8 | } 9 | return ok 10 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/properties/typeInferredFromGetter.kt: -------------------------------------------------------------------------------- 1 | val x get() = "O" 2 | 3 | class A { 4 | val y get() = "K" 5 | } 6 | 7 | fun box() = x + A().y 8 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/publishedApi/topLevel.kt: -------------------------------------------------------------------------------- 1 | // MODULE: lib 2 | // FILE: lib.kt 3 | @PublishedApi 4 | internal fun published() = "OK" 5 | 6 | inline fun test() = published() 7 | 8 | // MODULE: main(lib) 9 | // FILE: main.kt 10 | fun box() = test() -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/ranges/contains/inArray.kt: -------------------------------------------------------------------------------- 1 | // WITH_RUNTIME 2 | 3 | fun box(): String = when { 4 | 0 in intArrayOf(1, 2, 3) -> "fail 1" 5 | 1 !in intArrayOf(1, 2, 3) -> "fail 2" 6 | else -> "OK" 7 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/ranges/contains/inCharSequence.kt: -------------------------------------------------------------------------------- 1 | // WITH_RUNTIME 2 | 3 | val charSeq: String = "123" 4 | 5 | fun box(): String = when { 6 | '0' in charSeq -> "fail 1" 7 | '1' !in charSeq -> "fail 2" 8 | else -> "OK" 9 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/ranges/contains/inIterable.kt: -------------------------------------------------------------------------------- 1 | // WITH_RUNTIME 2 | 3 | val iterable: Iterable = listOf(1, 2, 3) 4 | 5 | fun box(): String = when { 6 | 0 in iterable -> "fail 1" 7 | 1 !in iterable -> "fail 2" 8 | else -> "OK" 9 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/ranges/contains/inPrimitiveProgression.kt: -------------------------------------------------------------------------------- 1 | // WITH_RUNTIME 2 | 3 | val progression = 1 .. 3 step 2 4 | 5 | fun box(): String = when { 6 | 0 in progression -> "fail 1" 7 | 1 !in progression -> "fail 2" 8 | else -> "OK" 9 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/ranges/contains/inPrimitiveRange.kt: -------------------------------------------------------------------------------- 1 | // WITH_RUNTIME 2 | 3 | val range = 1 .. 3 4 | 5 | fun box(): String = when { 6 | 0 in range -> "fail 1" 7 | 1 !in range -> "fail 2" 8 | else -> "OK" 9 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/ranges/contains/kt20106.kt: -------------------------------------------------------------------------------- 1 | // WITH_RUNTIME 2 | 3 | fun box(): String { 4 | val strSet = setOf("a", "b") 5 | val xx = "a" to ("a" in strSet) 6 | return if (!xx.second) "fail" else "OK" 7 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/ranges/contains/rangeContainsString.kt: -------------------------------------------------------------------------------- 1 | operator fun IntRange.contains(s: String): Boolean = true 2 | 3 | fun box(): String { 4 | return if ("s" in 0..1) "OK" else "fail" 5 | } 6 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/regressions/doubleMerge.kt: -------------------------------------------------------------------------------- 1 | fun foo(): Double { 2 | var d = 2.0 3 | if (d > 0.0) { 4 | d++ 5 | } 6 | d++ 7 | return d 8 | } 9 | 10 | fun box() = if (foo() > 3.5) "OK" else "Fail" 11 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/regressions/floatMerge.kt: -------------------------------------------------------------------------------- 1 | fun foo(): Float { 2 | var f = 2.0f 3 | if (f > 0.0f) { 4 | f++ 5 | } 6 | f++ 7 | return f 8 | } 9 | 10 | fun box() = if (foo() > 3.5f) "OK" else "Fail" -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/regressions/functionLiteralAsLastExpressionInBlock.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | val p: (String) -> Boolean = if (true) { 3 | { true } 4 | } else { 5 | { true } 6 | } 7 | return "OK" 8 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/regressions/internalTopLevelOtherPackage.kt: -------------------------------------------------------------------------------- 1 | // FILE: 1.kt 2 | 3 | fun box() = a.x 4 | 5 | // FILE: 2.kt 6 | 7 | package a 8 | 9 | internal val x: String = "OK" 10 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/regressions/kt1528.kt: -------------------------------------------------------------------------------- 1 | // FILE: 1.kt 2 | 3 | fun box() = foo() 4 | 5 | // FILE: 2.kt 6 | 7 | private val a = "OK" 8 | fun foo() : String { 9 | return "${a}" 10 | } 11 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/regressions/kt1845.kt: -------------------------------------------------------------------------------- 1 | // FILE: 1.kt 2 | 3 | public var v1: String = "V1" 4 | 5 | fun box(): String { 6 | val s = "v1: $v1, v2: $v2" 7 | return "OK" 8 | } 9 | 10 | // FILE: 2.kt 11 | 12 | public var v2: String = "V2" 13 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/regressions/kt2017.kt: -------------------------------------------------------------------------------- 1 | // WITH_RUNTIME 2 | 3 | fun box(): String { 4 | val sorted = arrayListOf("1", "3", "2").sorted() 5 | return if (sorted != arrayListOf("1", "2", "3")) "$sorted" else "OK" 6 | } 7 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/regressions/kt2246.kt: -------------------------------------------------------------------------------- 1 | // TODO: muted automatically, investigate should it be ran for JS or not 2 | // IGNORE_BACKEND: JS 3 | 4 | // WITH_RUNTIME 5 | 6 | fun box(): String { 7 | kotlin.assert(true) 8 | return "OK" 9 | } 10 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/regressions/kt3421.kt: -------------------------------------------------------------------------------- 1 | public object Globals{ 2 | operator fun get(key: String, remove: Boolean = true): String { 3 | return "OK" 4 | } 5 | } 6 | 7 | fun box(): String { 8 | return Globals["test"] 9 | } 10 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/regressions/kt3850.kt: -------------------------------------------------------------------------------- 1 | private class One { 2 | val a1 = arrayOf( 3 | object { val fy = "text"} 4 | ) 5 | } 6 | 7 | fun box() = if (One().a1[0].fy == "text") "OK" else "fail" -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/regressions/kt3903.kt: -------------------------------------------------------------------------------- 1 | class Foo { 2 | fun bar(): String { 3 | fun foo(t:() -> T) : T = t() 4 | foo { } 5 | return "OK" 6 | } 7 | } 8 | 9 | fun box(): String { 10 | return Foo().bar() 11 | } 12 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/regressions/kt5056.kt: -------------------------------------------------------------------------------- 1 | // WITH_RUNTIME 2 | 3 | fun box(): String { 4 | val list = arrayOf("a", "c", "b").sorted() 5 | return if (list.toString() == "[a, b, c]") "OK" else "Fail: $list" 6 | } 7 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/regressions/kt6434_2.kt: -------------------------------------------------------------------------------- 1 | // WITH_RUNTIME 2 | 3 | fun box(): String { 4 | val p = 1 to 1 5 | val (e, num) = p 6 | val a = 1f 7 | 8 | return "OK" 9 | } 10 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/regressions/kt7401.kt: -------------------------------------------------------------------------------- 1 | fun foo(): Long { 2 | var n = 2L 3 | if (n > 0L) { 4 | n++ 5 | } 6 | n++ 7 | return n 8 | } 9 | 10 | fun box() = if (foo() == 4L) "OK" else "Fail" 11 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/regressions/kt789.kt: -------------------------------------------------------------------------------- 1 | package foo 2 | 3 | fun box() : String { 4 | val a = ArrayList(); 5 | a.add(1) 6 | a.add(2) 7 | return if((a.size == 2) && (a.get(1) == 2) && (a.get(0) == 1)) "OK" else "fail" 8 | } 9 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/regressions/lambdaAsLastExpressionInLambda.kt: -------------------------------------------------------------------------------- 1 | val foo: ((String) -> String) = run { 2 | { it } 3 | } 4 | 5 | fun box() = foo("OK") -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/regressions/lambdaWrongReturnType.kt: -------------------------------------------------------------------------------- 1 | fun test() = foo({ line: String -> line }) 2 | 3 | fun foo(x: T): T = TODO() 4 | 5 | fun box(): String { 6 | return "OK" 7 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/regressions/noResolutionRecursion.kt: -------------------------------------------------------------------------------- 1 | fun T.at(element: Int) = this.at() 2 | 3 | fun T.at(): T = this 4 | 5 | fun box(): String = "OK".at() -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/safeCall/genericNull.kt: -------------------------------------------------------------------------------- 1 | fun foo(t: T) { 2 | t?.toInt() 3 | } 4 | 5 | fun box(): String { 6 | foo(null) 7 | return "OK" 8 | } 9 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/safeCall/kt3430.kt: -------------------------------------------------------------------------------- 1 | fun f(b : Int.(Int)->Int) = 1?.b(1) 2 | 3 | fun box(): String { 4 | val x = f { this + it } 5 | return "OK" 6 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/safeCall/primitive.kt: -------------------------------------------------------------------------------- 1 | fun Int.foo() = 239 2 | fun Long.bar() = 239.toLong() 3 | 4 | fun box(): String { 5 | 42?.foo() 6 | 42.toLong()?.bar() 7 | return "OK" 8 | } 9 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/safeCall/safeCallOnLong.kt: -------------------------------------------------------------------------------- 1 | fun f(b : Long.(Long)->Long) = 1L?.b(2L) 2 | 3 | fun box(): String { 4 | val x = f { this + it } 5 | return if (x == 3L) "OK" else "fail $x" 6 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/sam/constructors/nonLiteralRunnable.kt: -------------------------------------------------------------------------------- 1 | // TARGET_BACKEND: JVM 2 | 3 | fun box(): String { 4 | var result = "FAIL" 5 | val f = { result = "OK" } 6 | val r = Runnable(f) 7 | r.run() 8 | return result 9 | } 10 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/sam/constructors/runnable.kt: -------------------------------------------------------------------------------- 1 | // TARGET_BACKEND: JVM 2 | 3 | var result = "FAIL" 4 | 5 | fun box(): String { 6 | val r = Runnable { result = "OK" } 7 | r.run() 8 | return result 9 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/smartCasts/genericIntersection.kt: -------------------------------------------------------------------------------- 1 | // See also KT-7801 2 | class A 3 | 4 | fun test(v: T): T { 5 | val a: T = if (v !is A) v else v 6 | return a 7 | } 8 | 9 | fun box() = test("OK") 10 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/smartCasts/implicitExtensionReceiver.kt: -------------------------------------------------------------------------------- 1 | class A { 2 | fun foo() = "OK" 3 | } 4 | 5 | fun A?.bar() = if (this != null) foo() else "FAIL" 6 | 7 | fun box() = A().bar() 8 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/smartCasts/kt17725.kt: -------------------------------------------------------------------------------- 1 | class Bob { 2 | fun Bob.bar() = "OK" 3 | } 4 | 5 | fun Any.foo() = when(this) { 6 | is Bob -> bar() 7 | else -> throw AssertionError() 8 | } 9 | 10 | fun box(): String = Bob().foo() -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/smartCasts/nullSmartCast.kt: -------------------------------------------------------------------------------- 1 | fun String?.foo() = this ?: "OK" 2 | 3 | fun foo(i: Int?): String { 4 | if (i == null) return i.foo() 5 | return "$i" 6 | } 7 | 8 | fun box() = foo(null) 9 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/specialBuiltins/valuesInsideEnum.kt: -------------------------------------------------------------------------------- 1 | enum class Variants { 2 | O, K; 3 | companion object { 4 | val valueStr = values()[0].name + Variants.values()[1].name 5 | } 6 | } 7 | 8 | fun box() = Variants.valueStr 9 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/statics/anonymousInitializerIObject.kt: -------------------------------------------------------------------------------- 1 | object Foo { 2 | val bar: String 3 | 4 | init { 5 | bar = "OK" 6 | } 7 | } 8 | 9 | fun box(): String { 10 | return Foo.bar 11 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/statics/inheritedPropertyInObject.kt: -------------------------------------------------------------------------------- 1 | open class Bar(val prop: String) 2 | object Foo : Bar("OK") { 3 | 4 | val p = Foo.prop 5 | val p2 = prop 6 | val p3 = this.prop 7 | } 8 | fun box(): String = Foo.prop -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/statics/syntheticAccessor.kt: -------------------------------------------------------------------------------- 1 | object A { 2 | private val p = "OK"; 3 | 4 | object B { 5 | val z = p; 6 | } 7 | 8 | } 9 | 10 | fun box(): String { 11 | return A.B.z 12 | } 13 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/strings/ea35743.kt: -------------------------------------------------------------------------------- 1 | val Int.test: String get() = "test" 2 | 3 | fun box(): String { 4 | val x = "a ${1.test}" 5 | return if (x == "a test") "OK" else "Fail $x" 6 | } 7 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/strings/kt2592.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | String() 3 | return String() + "OK" + String() 4 | } 5 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/strings/kt3571.kt: -------------------------------------------------------------------------------- 1 | class Thing(delegate: CharSequence) : CharSequence by delegate 2 | 3 | fun box(): String { 4 | val l = Thing("hello there").length 5 | return if (l == 11) "OK" else "Fail $l" 6 | } 7 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/strings/kt3652.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | var a = 'a' 3 | 4 | if ("${a++}x" != "ax") return "fail1" 5 | 6 | if ("${a++}" != "b") return "fail2" 7 | 8 | return "OK" 9 | } 10 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/strings/kt5389_stringBuilderGet.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | val sb = StringBuilder("OK") 3 | return "${sb.get(0)}${sb[1]}" 4 | } 5 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/strings/kt881.kt: -------------------------------------------------------------------------------- 1 | fun box() : String { 2 | val b = 1+1 3 | if ("$b" != "2") return "fail" 4 | if ("${1+1}" != "2") return "fail" 5 | return "OK" 6 | } 7 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/strings/kt894.kt: -------------------------------------------------------------------------------- 1 | fun stringConcat(n : Int) : String? { 2 | var string : String? = "" 3 | for (i in 0..(n - 1)) 4 | string += "LOL " 5 | return string 6 | } 7 | 8 | fun box() = if(stringConcat(3) == "LOL LOL LOL ") "OK" else "fail" 9 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/strings/rawStrings.kt: -------------------------------------------------------------------------------- 1 | fun box() : String { 2 | val s = """ foo \n bar """ 3 | if (s != " foo \\n bar ") return "Fail: '$s'" 4 | 5 | return "OK" 6 | } 7 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/strings/stringPlusOnlyWorksOnString.kt: -------------------------------------------------------------------------------- 1 | // WITH_RUNTIME 2 | 3 | fun box(): String { 4 | var x: MutableCollection = ArrayList() 5 | x + ArrayList() 6 | return "OK" 7 | } 8 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/super/superConstructor/kt17464_arrayOf.kt: -------------------------------------------------------------------------------- 1 | open class A(val array: Array) 2 | 3 | class B : A(arrayOf("OK")) 4 | 5 | fun box() = B().array[0].toString() -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/syntheticAccessors/kt9717.kt: -------------------------------------------------------------------------------- 1 | // FILE: box.kt 2 | 3 | object Test { 4 | val test: String = OK 5 | } 6 | 7 | fun box(): String = Test.test 8 | 9 | // FILE: Vars.kt 10 | 11 | public var OK: String = "OK" 12 | private set 13 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/topLevelPrivate/syntheticAccessor.kt: -------------------------------------------------------------------------------- 1 | package test 2 | 3 | private val prop = "O" 4 | 5 | private fun test() = "K" 6 | 7 | fun box(): String { 8 | return { 9 | prop + test() 10 | }() 11 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/traits/indirectlyInheritPropertyGetter.kt: -------------------------------------------------------------------------------- 1 | interface A { 2 | val str: String 3 | get() = "OK" 4 | } 5 | 6 | interface B : A 7 | 8 | class Impl : B 9 | 10 | fun box() = Impl().str 11 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/traits/inheritedFun.kt: -------------------------------------------------------------------------------- 1 | //KT-2206 2 | interface A { 3 | fun f():Int = 239 4 | } 5 | 6 | class B() : A 7 | 8 | fun box() : String { 9 | return if (B().f() == 239) "OK" else "fail" 10 | } 11 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/traits/kt2260.kt: -------------------------------------------------------------------------------- 1 | interface Flusher { 2 | fun flush() = "OK" 3 | } 4 | 5 | fun myFlusher() = object : Flusher { } 6 | 7 | fun flushIt(flusher: Flusher) = flusher.flush() 8 | 9 | fun box() = flushIt(myFlusher()) 10 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/traits/kt2541.kt: -------------------------------------------------------------------------------- 1 | interface A { 2 | fun foo(t: T, u: U) = "OK" 3 | } 4 | 5 | class B : A 6 | 7 | fun box(): String = B().foo(1, 2) 8 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/traits/kt3315.kt: -------------------------------------------------------------------------------- 1 | interface B { 2 | fun foo(dd: T): T = dd 3 | } 4 | 5 | class A: B 6 | 7 | fun box(): String { 8 | val a = A() 9 | return "OK" 10 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/traits/kt3579.kt: -------------------------------------------------------------------------------- 1 | open class Persistent(val p: String) 2 | interface Hierarchy where T : Hierarchy 3 | 4 | class Location(): Persistent("OK"), Hierarchy 5 | 6 | fun box(): String { 7 | return Location().p 8 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/typeInfo/smartCastThis.kt: -------------------------------------------------------------------------------- 1 | package h 2 | 3 | open class A { 4 | fun bar() = if (this is B) this.foo() else "fail" 5 | } 6 | 7 | class B() : A() { 8 | fun foo() = "OK" 9 | } 10 | 11 | fun box() = B().bar() -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/typeMapping/nothing.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | // kotlin.Nothing should not be loaded here 3 | val x = "" is Nothing 4 | return "OK" 5 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/typeMapping/nullableNothing.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | // This used to be problematic because of an attempt to load kotlin/Nothing class 3 | val x = "" is Nothing? 4 | return "OK" 5 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/typealias/enumEntryQualifier.kt: -------------------------------------------------------------------------------- 1 | enum class MyEnum { 2 | O; 3 | companion object { 4 | val K = "K" 5 | } 6 | } 7 | 8 | typealias MyAlias = MyEnum 9 | 10 | fun box() = MyAlias.O.name + MyAlias.K -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/typealias/genericTypeAliasConstructor.kt: -------------------------------------------------------------------------------- 1 | class Cell(val x: T) 2 | 3 | typealias StringCell = Cell 4 | 5 | fun box(): String = 6 | StringCell("O").x + Cell("K").x -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/typealias/genericTypeAliasConstructor2.kt: -------------------------------------------------------------------------------- 1 | class Pair(val x1: T1, val x2: T2) 2 | 3 | typealias ST = Pair 4 | 5 | fun box(): String { 6 | val st = ST("O", "K") 7 | return st.x1 + st.x2 8 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/typealias/kt15109.kt: -------------------------------------------------------------------------------- 1 | open class A(private val s: String = "") { 2 | fun foo() = s 3 | } 4 | 5 | typealias B = A 6 | 7 | class C : B(s = "OK") 8 | 9 | fun box() = C().foo() 10 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/typealias/simple.kt: -------------------------------------------------------------------------------- 1 | typealias S = String 2 | 3 | typealias SF = (T) -> S 4 | 5 | val f: SF = { it } 6 | 7 | fun box(): S = f("OK") 8 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/typealias/typeAliasCompanion.kt: -------------------------------------------------------------------------------- 1 | class A { 2 | companion object { 3 | val result = "OK" 4 | } 5 | } 6 | 7 | typealias Alias = A.Companion 8 | 9 | fun box(): String = Alias.result 10 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/typealias/typeAliasConstructor.kt: -------------------------------------------------------------------------------- 1 | class C(val x: String) 2 | 3 | typealias Alias = C 4 | 5 | fun box(): String = Alias("OK").x 6 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/typealias/typeAliasInAnonymousObjectType.kt: -------------------------------------------------------------------------------- 1 | open class Foo(val x: T) 2 | 3 | typealias FooStr = Foo 4 | 5 | val test = object : FooStr("OK") {} 6 | 7 | fun box() = test.x -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/typealias/typeAliasObjectCallable.kt: -------------------------------------------------------------------------------- 1 | object O { 2 | val x = "OK" 3 | 4 | operator fun invoke() = x 5 | } 6 | 7 | typealias A = O 8 | 9 | fun box(): String = A() 10 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/unaryOp/callWithCommonType.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | if (!foo(1.toByte())) return "fail 1" 3 | if (!foo((1.toByte()).inc())) return "fail 2" 4 | 5 | return "OK" 6 | } 7 | 8 | fun foo(p: Any) = p is Byte -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/unaryOp/longOverflow.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | val a: Long = -(1 shl 31) 3 | if (a != -2147483648L) return "fail: in this case we should add to ints and than cast the result to long - overflow expected" 4 | return "OK" 5 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/unit/UnitValue.kt: -------------------------------------------------------------------------------- 1 | fun foo() {} 2 | 3 | fun box(): String { 4 | return if (foo() == Unit) "OK" else "Fail" 5 | } 6 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/unit/closureReturnsNullableUnit.kt: -------------------------------------------------------------------------------- 1 | fun isNull(x: Unit?) = x == null 2 | 3 | fun box(): String { 4 | val closure: () -> Unit? = { null } 5 | if (!isNull(closure())) return "Fail 1" 6 | 7 | return "OK" 8 | } 9 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/unit/kt3634.kt: -------------------------------------------------------------------------------- 1 | val c = Unit 2 | val d = c 3 | 4 | fun box(): String { 5 | c 6 | d 7 | return "OK" 8 | } 9 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/unit/nullableUnitInWhen1.kt: -------------------------------------------------------------------------------- 1 | fun foo() {} 2 | 3 | fun box(): String { 4 | when ("A") { 5 | "B" -> foo() 6 | else -> null 7 | } 8 | 9 | foo() 10 | 11 | return "OK" 12 | } 13 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/unit/nullableUnitInWhen2.kt: -------------------------------------------------------------------------------- 1 | fun foo() {} 2 | 3 | fun box(): String { 4 | when ("A") { 5 | "B" -> null 6 | else -> foo() 7 | } 8 | 9 | foo() 10 | 11 | return "OK" 12 | } 13 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/when/emptyWhen.kt: -------------------------------------------------------------------------------- 1 | enum class A { X1, X2 } 2 | 3 | fun box(): String { 4 | when {} 5 | when (A.X1) {} 6 | return "OK" 7 | } 8 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/when/exhaustiveBoolean.kt: -------------------------------------------------------------------------------- 1 | fun box() : String = when (true) { 2 | ((true)) -> "OK" 3 | (1 == 2) -> "Not ok" 4 | } 5 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/when/exhaustiveWhenInitialization.kt: -------------------------------------------------------------------------------- 1 | enum class A { V } 2 | 3 | fun box(): String { 4 | val a: A = A.V 5 | val b: Boolean 6 | when (a) { 7 | A.V -> b = true 8 | } 9 | return if (b) "OK" else "FAIL" 10 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/when/exhaustiveWhenReturn.kt: -------------------------------------------------------------------------------- 1 | enum class A { V } 2 | 3 | fun box(): String { 4 | val a: A = A.V 5 | when (a) { 6 | A.V -> return "OK" 7 | } 8 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/when/implicitExhaustiveAndReturn.kt: -------------------------------------------------------------------------------- 1 | fun test(i: Int): String { 2 | when (i) { 3 | 0 -> return "0" 4 | 1 -> return "1" 5 | } 6 | return "OK" 7 | } 8 | 9 | fun box(): String = test(42) -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/when/kt2457.kt: -------------------------------------------------------------------------------- 1 | fun foo(i: Int) : Int = 2 | when (i) { 3 | 1 -> 1 4 | null -> 1 5 | else -> 1 6 | } 7 | 8 | fun box() : String = if (foo(1) == 1) "OK" else "fail" 9 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/when/kt2466.kt: -------------------------------------------------------------------------------- 1 | fun foo(b: Boolean) = 2 | when (b) { 3 | false -> 0 4 | true -> 1 5 | else -> 2 6 | } 7 | 8 | fun box(): String = if (foo(false) == 0 && foo(true) == 1) "OK" else "Fail" 9 | 10 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/when/kt5307.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | val value = 1 3 | when (value) { 4 | 0 -> {} 5 | 1 -> when (value) { 6 | 2 -> false 7 | } 8 | } 9 | 10 | return "OK" 11 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/when/matchNotNullAgainstNullable.kt: -------------------------------------------------------------------------------- 1 | fun foo(i: Int, j: Int?): String = 2 | when (i) { 3 | j -> "OK" 4 | else -> "Fail" 5 | } 6 | 7 | fun box(): String = foo(0, 0) 8 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/when/noElseExhaustive.kt: -------------------------------------------------------------------------------- 1 | enum class En { 2 | A, 3 | B 4 | } 5 | 6 | fun box(): String = when(En.A) { 7 | En.A -> "OK" 8 | En.B -> "Fail 1" 9 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/when/noElseExhaustiveStatement.kt: -------------------------------------------------------------------------------- 1 | enum class En { 2 | A, 3 | B 4 | } 5 | 6 | fun box(): String { 7 | when(En.A) { 8 | En.A -> "s1" 9 | En.B -> "s2" 10 | } 11 | return "OK" 12 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/when/noElseExhaustiveUnitExpected.kt: -------------------------------------------------------------------------------- 1 | enum class En { 2 | A, 3 | B 4 | } 5 | 6 | fun box(): String { 7 | 8 | val u: Unit = when(En.A) { 9 | En.A -> {} 10 | En.B -> {} 11 | } 12 | 13 | return "OK" 14 | } 15 | -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/when/noElseInStatement.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | val x = 1 3 | when (x) { 4 | 1 -> return "OK" 5 | } 6 | return "Fail 1" 7 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/box/when/noElseNoMatch.kt: -------------------------------------------------------------------------------- 1 | fun box(): String { 2 | val x = 3 3 | when (x) { 4 | 1 -> {} 5 | 2 -> {} 6 | } 7 | return "OK" 8 | } -------------------------------------------------------------------------------- /backend.native/tests/external/codegen/boxInline/stackOnReturn/kt17591.kt: -------------------------------------------------------------------------------- 1 | // FILE: 1.kt 2 | inline fun alwaysOk(s: String, fn: (String) -> String): String { 3 | return fn(return "OK") 4 | } 5 | 6 | // FILE: 2.kt 7 | fun box() = alwaysOk("what?") { it } -------------------------------------------------------------------------------- /backend.native/tests/external/compileKotlinAgainstKotlin/constructorVararg.kt: -------------------------------------------------------------------------------- 1 | // FILE: A.kt 2 | 3 | class A(vararg s: String) { 4 | 5 | } 6 | 7 | // FILE: B.kt 8 | 9 | fun box(): String { 10 | A() 11 | A("a") 12 | A("a", "b") 13 | return "OK" 14 | } 15 | -------------------------------------------------------------------------------- /backend.native/tests/external/compileKotlinAgainstKotlin/defaultConstructor.kt: -------------------------------------------------------------------------------- 1 | // FILE: A.kt 2 | 3 | package aaa 4 | 5 | class A(val a: Int = 1) 6 | 7 | // FILE: B.kt 8 | 9 | fun box(): String { 10 | aaa.A() 11 | return "OK" 12 | } 13 | -------------------------------------------------------------------------------- /backend.native/tests/helpers.kt: -------------------------------------------------------------------------------- 1 | package helpers -------------------------------------------------------------------------------- /backend.native/tests/interop/basics/0.kt: -------------------------------------------------------------------------------- 1 | import sysstat.* 2 | import kotlinx.cinterop.* 3 | 4 | fun main(args: Array) { 5 | val statBuf = nativeHeap.alloc() 6 | val res = stat("/", statBuf.ptr) 7 | println(res) 8 | println(statBuf.st_uid) 9 | } -------------------------------------------------------------------------------- /backend.native/tests/interop/basics/2.kt: -------------------------------------------------------------------------------- 1 | import cstdio.* 2 | 3 | fun main(args: Array) { 4 | puts("Hello") 5 | } -------------------------------------------------------------------------------- /backend.native/tests/interop/basics/cstdio.def: -------------------------------------------------------------------------------- 1 | headers = stdio.h 2 | compilerOpts.osx = -D_ANSI_SOURCE 3 | 4 | --- 5 | 6 | static inline FILE* getStdout() { 7 | return stdout; 8 | } -------------------------------------------------------------------------------- /backend.native/tests/interop/objc/objcSmoke.def: -------------------------------------------------------------------------------- 1 | language = Objective-C 2 | headers = Foundation/NSArray.h Foundation/NSValue.h Foundation/NSString.h 3 | headerFilter = **/smoke.h Foundation/NSArray.h Foundation/NSValue.h Foundation/NSString.h 4 | -------------------------------------------------------------------------------- /backend.native/tests/link/lib/foo.kt: -------------------------------------------------------------------------------- 1 | package qwerty 2 | 3 | fun foo(a: Int): Int { 4 | return a 5 | } 6 | 7 | 8 | -------------------------------------------------------------------------------- /backend.native/tests/link/lib/foo2.kt: -------------------------------------------------------------------------------- 1 | package qwerty 2 | 3 | fun foo2(a: Int): Int { 4 | return a 5 | } 6 | 7 | 8 | -------------------------------------------------------------------------------- /backend.native/tests/link/omit/hello.kt: -------------------------------------------------------------------------------- 1 | fun main(args: Array) { 2 | println("Hello") 3 | } 4 | -------------------------------------------------------------------------------- /backend.native/tests/link/omit/lib.kt: -------------------------------------------------------------------------------- 1 | package foo 2 | fun foo() {} 3 | -------------------------------------------------------------------------------- /backend.native/tests/link/purge1/prog.kt: -------------------------------------------------------------------------------- 1 | 2 | fun main(args: Array) { 3 | foo() 4 | } 5 | -------------------------------------------------------------------------------- /backend.native/tests/link/src/bar.kt: -------------------------------------------------------------------------------- 1 | import qwerty.* 2 | 3 | fun main(args: Array) { 4 | val size = foo(foo2(args.size)) 5 | println(size.toString()) 6 | } 7 | -------------------------------------------------------------------------------- /backend.native/tests/lower/vararg.kt: -------------------------------------------------------------------------------- 1 | package lower.vararg 2 | 3 | import kotlin.test.* 4 | 5 | fun foo(vararg x: Any?) {} 6 | fun bar() = foo() 7 | 8 | @Test fun runTest() { 9 | bar() 10 | } -------------------------------------------------------------------------------- /backend.native/tests/runtime/basic/args0.kt: -------------------------------------------------------------------------------- 1 | fun main(args : Array) { 2 | for (s in args) { 3 | println(s) 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /backend.native/tests/runtime/basic/assert_failed.kt: -------------------------------------------------------------------------------- 1 | fun main(args: Array) { 2 | assert(false) 3 | } -------------------------------------------------------------------------------- /backend.native/tests/runtime/basic/assert_passed.kt: -------------------------------------------------------------------------------- 1 | fun main(args: Array) { 2 | assert(true) 3 | } -------------------------------------------------------------------------------- /backend.native/tests/runtime/basic/driver0.kt: -------------------------------------------------------------------------------- 1 | // TODO: remove kotlin_native.io once overrides are in place. 2 | fun main(args : Array) { 3 | println("Hello, world!") 4 | } -------------------------------------------------------------------------------- /backend.native/tests/runtime/basic/empty_substring.kt: -------------------------------------------------------------------------------- 1 | package runtime.basic.empty_substring 2 | 3 | import kotlin.test.* 4 | 5 | @Test fun runTest() { 6 | val hello = "Hello world" 7 | println(hello.subSequence(1, 1).toString()) 8 | } -------------------------------------------------------------------------------- /backend.native/tests/runtime/basic/entry2.kt: -------------------------------------------------------------------------------- 1 | fun main(args: Array) { 2 | fail() 3 | } 4 | 5 | -------------------------------------------------------------------------------- /backend.native/tests/runtime/basic/exit.kt: -------------------------------------------------------------------------------- 1 | import kotlin.system.* 2 | 3 | fun main(args: Array) { 4 | exitProcess(42) 5 | @Suppress("UNREACHABLE_CODE") 6 | throw RuntimeException("Exit function call returned normally") 7 | } -------------------------------------------------------------------------------- /backend.native/tests/runtime/basic/hello0.kt: -------------------------------------------------------------------------------- 1 | package runtime.basic.hello0 2 | 3 | import kotlin.test.* 4 | 5 | @Test fun runTest() { 6 | println("Hello, world!") 7 | } 8 | -------------------------------------------------------------------------------- /backend.native/tests/runtime/basic/hello1.kt: -------------------------------------------------------------------------------- 1 | // TODO: TestRuner should be able to pass input to stdin 2 | // TODO: remove kotlin_native.io once overrides are in place. 3 | fun main(args : Array) { 4 | print(readLine().toString()) 5 | } 6 | -------------------------------------------------------------------------------- /backend.native/tests/runtime/basic/hello2.kt: -------------------------------------------------------------------------------- 1 | // TODO: TestRuner should be able to pass input to stdin 2 | // TODO: remove kotlin_native.io once overrides are in place. 3 | fun main(args : Array) { 4 | print("you entered '" + readLine() + "'") 5 | } 6 | -------------------------------------------------------------------------------- /backend.native/tests/runtime/basic/hello4.kt: -------------------------------------------------------------------------------- 1 | package runtime.basic.hello4 2 | 3 | import kotlin.test.* 4 | 5 | @Test fun runTest() { 6 | val x = 2 7 | println(if (x == 2) "Hello" else "Привет") 8 | println(if (x == 3) "Bye" else "Пока") 9 | } -------------------------------------------------------------------------------- /backend.native/tests/runtime/basic/initializers3.kt: -------------------------------------------------------------------------------- 1 | package runtime.basic.initializers3 2 | 3 | import kotlin.test.* 4 | 5 | class Foo(val bar: Int) 6 | 7 | var x = Foo(42) 8 | 9 | @Test fun runTest() { 10 | println(x.bar) 11 | } -------------------------------------------------------------------------------- /backend.native/tests/runtime/basic/initializers5.kt: -------------------------------------------------------------------------------- 1 | package runtime.basic.initializers5 2 | 3 | import kotlin.test.* 4 | 5 | object A { 6 | val a = 42 7 | val b = A.a 8 | } 9 | 10 | @Test fun runTest() { 11 | println(A.b) 12 | } -------------------------------------------------------------------------------- /backend.native/tests/runtime/basic/libentry2.kt: -------------------------------------------------------------------------------- 1 | fun fail() { 2 | println("Test failed, this is a wrong main() function.") 3 | } 4 | 5 | fun foo(args: Array) { 6 | println("Hello.") 7 | } 8 | 9 | -------------------------------------------------------------------------------- /backend.native/tests/runtime/basic/main_exception.kt: -------------------------------------------------------------------------------- 1 | package runtime.basic.main_exception 2 | 3 | import kotlin.test.* 4 | 5 | @Test fun runTest() { 6 | throw Error("Hello!") 7 | } 8 | -------------------------------------------------------------------------------- /backend.native/tests/runtime/basic/readline0.kt: -------------------------------------------------------------------------------- 1 | fun main(args: Array) { 2 | print(readLine()!!.toInt()) 3 | } -------------------------------------------------------------------------------- /backend.native/tests/runtime/basic/readline1.kt: -------------------------------------------------------------------------------- 1 | fun main(args: Array) { 2 | print(readLine()!!) 3 | } -------------------------------------------------------------------------------- /backend.native/tests/runtime/basic/tostring1.kt: -------------------------------------------------------------------------------- 1 | package runtime.basic.tostring1 2 | 3 | import kotlin.test.* 4 | 5 | @Test fun runTest() { 6 | val hello = "Hello world" 7 | println(hello.subSequence(1, 5).toString()) 8 | } -------------------------------------------------------------------------------- /backend.native/tests/runtime/collections/range0.kt: -------------------------------------------------------------------------------- 1 | package runtime.collections.range0 2 | 3 | import kotlin.test.* 4 | 5 | @Test fun runTest() { 6 | for (i in 1..3) print(i) 7 | println() 8 | for (i in 'a'..'d') print(i) 9 | println() 10 | } -------------------------------------------------------------------------------- /backend.native/tests/runtime/collections/sort0.kt: -------------------------------------------------------------------------------- 1 | package runtime.collections.sort0 2 | 3 | import kotlin.test.* 4 | 5 | @Test fun runTest() { 6 | println(arrayOf("x", "a", "b").sorted().toString()) 7 | println(intArrayOf(239, 42, -1, 100500, 0).sorted().toString()); 8 | } 9 | -------------------------------------------------------------------------------- /backend.native/tests/serialization/default_args.kt: -------------------------------------------------------------------------------- 1 | 2 | inline val Int.prop get() = SomeDataClass(second = this) 3 | 4 | data class SomeDataClass(val first: Int = 17, val second: Int = 19, val third: Int = 23) 5 | 6 | -------------------------------------------------------------------------------- /backend.native/tests/serialization/do_while.kt: -------------------------------------------------------------------------------- 1 | 2 | inline fun foo() { 3 | do { 4 | var x: Int = 999 5 | println(x) 6 | } while (x != 999) 7 | } 8 | -------------------------------------------------------------------------------- /backend.native/tests/serialization/prop.kt: -------------------------------------------------------------------------------- 1 | fun main(args: Array) { 2 | println(666.prop) 3 | } 4 | -------------------------------------------------------------------------------- /backend.native/tests/serialization/regression/no_type_map.kt: -------------------------------------------------------------------------------- 1 | import kotlinx.cinterop.* 2 | fun main(args: Array) { 3 | memScoped { 4 | val bufferLength = 100L 5 | val buffer = allocArray(bufferLength) 6 | } 7 | println("OK") 8 | } 9 | -------------------------------------------------------------------------------- /backend.native/tests/serialization/use.kt: -------------------------------------------------------------------------------- 1 | 2 | fun main(args: Array) { 3 | foo() 4 | } 5 | -------------------------------------------------------------------------------- /backend.native/tests/serialization/vararg.kt: -------------------------------------------------------------------------------- 1 | fun bar(vararg x: Int) { 2 | x.forEach { 3 | println(it) 4 | } 5 | println("size: ${x.size}") 6 | } 7 | 8 | inline fun foo() = bar(17, 19, 23, *intArrayOf(29, 31)) 9 | 10 | -------------------------------------------------------------------------------- /backend.native/tests/stdlib_external/testUtils.kt: -------------------------------------------------------------------------------- 1 | package test 2 | 3 | // just a static type check 4 | fun assertStaticTypeIs(@Suppress("UNUSED_PARAMETER") value: T) {} 5 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mano7onam/kotlin-native/d5169f2370a6b20ae91fc31999fe5ebefcb4344d/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /licenses/third_party/harmony_LICENSE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mano7onam/kotlin-native/d5169f2370a6b20ae91fc31999fe5ebefcb4344d/licenses/third_party/harmony_LICENSE.txt -------------------------------------------------------------------------------- /licenses/third_party/xcode_license.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mano7onam/kotlin-native/d5169f2370a6b20ae91fc31999fe5ebefcb4344d/licenses/third_party/xcode_license.pdf -------------------------------------------------------------------------------- /performance/src/main/kotlin-jvm/cleanup.kt: -------------------------------------------------------------------------------- 1 | package org.jetbrains.ring 2 | 3 | fun cleanup() { } -------------------------------------------------------------------------------- /performance/src/main/kotlin-native/cleanup.kt: -------------------------------------------------------------------------------- 1 | package org.jetbrains.ring 2 | 3 | import konan.internal.GC 4 | 5 | fun cleanup() { GC.collect() } -------------------------------------------------------------------------------- /platformLibs/src/platform/android/egl.def: -------------------------------------------------------------------------------- 1 | depends = glesCommon posix 2 | package = platform.egl 3 | headers = EGL/egl.h EGL/eglext.h EGL/eglplatform.h 4 | headerFilter = EGL/** 5 | linkerOpts = -lEGL -------------------------------------------------------------------------------- /platformLibs/src/platform/android/gles.def: -------------------------------------------------------------------------------- 1 | depends = glesCommon posix 2 | package = platform.gles 3 | headers = GLES/gl.h GLES/glext.h GLES/glplatform.h 4 | headerFilter = GLES/** 5 | linkerOpts = -lGLESv1_CM -------------------------------------------------------------------------------- /platformLibs/src/platform/android/gles2.def: -------------------------------------------------------------------------------- 1 | depends = glesCommon posix 2 | package = platform.gles2 3 | headers = GLES2/gl2.h GLES2/gl2ext.h GLES2/gl2platform.h 4 | headerFilter = GLES2/** 5 | linkerOpts = -lGLESv2 6 | -------------------------------------------------------------------------------- /platformLibs/src/platform/android/gles3.def: -------------------------------------------------------------------------------- 1 | depends = glesCommon posix 2 | package = platform.gles3 3 | headers = GLES3/gl3.h GLES3/gl3ext.h GLES3/gl3platform.h 4 | headerFilter = GLES3/** 5 | linkerOpts = -lGLESv3 -------------------------------------------------------------------------------- /platformLibs/src/platform/android/glesCommon.def: -------------------------------------------------------------------------------- 1 | depends = posix 2 | package = platform.glescommon 3 | headers = KHR/khrplatform.h 4 | headerFilter = KHR/** 5 | -------------------------------------------------------------------------------- /platformLibs/src/platform/android/omxal.def: -------------------------------------------------------------------------------- 1 | depends = posix 2 | package = platform.omxal 3 | headers = OMXAL/OpenMAXAL.h OMXAL/OpenMAXAL_Android.h OMXAL/OpenMAXAL_Platform.h 4 | headerFilter = OMXAL/** 5 | linkerOpts = -lOpenMAXAL -------------------------------------------------------------------------------- /platformLibs/src/platform/android/zlib.def: -------------------------------------------------------------------------------- 1 | depends = posix 2 | package = platform.zlib 3 | headers = zconf.h zlib.h 4 | headerFilter = ** 5 | linkerOpts = -lz 6 | -------------------------------------------------------------------------------- /platformLibs/src/platform/ios/GSS.def: -------------------------------------------------------------------------------- 1 | depends = CoreFoundation darwin posix 2 | language = Objective-C 3 | package = platform.GSS 4 | headers = GSS/GSS.h 5 | 6 | headerFilter = GSS/** 7 | 8 | compilerOpts = -framework GSS 9 | linkerOpts = -framework GSS 10 | -------------------------------------------------------------------------------- /platformLibs/src/platform/ios/OpenAL.def: -------------------------------------------------------------------------------- 1 | depends = posix 2 | language = Objective-C 3 | package = platform.OpenAL 4 | headers = OpenAL/OpenAL.h 5 | 6 | headerFilter = OpenAL/** 7 | 8 | compilerOpts = -framework OpenAL 9 | linkerOpts = -framework OpenAL 10 | -------------------------------------------------------------------------------- /platformLibs/src/platform/ios/iconv.def: -------------------------------------------------------------------------------- 1 | depends = posix 2 | package = platform.iconv 3 | headers = iconv.h 4 | headerFilter = ** 5 | linkerOpts = -liconv 6 | -------------------------------------------------------------------------------- /platformLibs/src/platform/ios/zlib.def: -------------------------------------------------------------------------------- 1 | depends = posix 2 | package = platform.zlib 3 | headers = zconf.h zlib.h 4 | linkerOpts = -lz 5 | -------------------------------------------------------------------------------- /platformLibs/src/platform/linux/iconv.def: -------------------------------------------------------------------------------- 1 | depends = posix 2 | package = platform.iconv 3 | headers = iconv.h 4 | -------------------------------------------------------------------------------- /platformLibs/src/platform/linux/zlib.def: -------------------------------------------------------------------------------- 1 | package = platform.zlib 2 | headers = zconf.h zlib.h 3 | compilerOpts = -D_ANSI_SOURCE -D_POSIX_C_SOURCE=199309 -D_BSD_SOURCE -D_XOPEN_SOURCE=700 4 | linkerOpts = -lz 5 | depends = posix 6 | -------------------------------------------------------------------------------- /platformLibs/src/platform/mingw/gdiplus.def: -------------------------------------------------------------------------------- 1 | depends = windows posix 2 | package = platform.gdiplus 3 | headers = wtypes.h minwindef.h wtypes.h gdiplus/gdiplus.h 4 | headerFilter = gdiplus/** 5 | compilerOpts = -DUNICODE 6 | linkerOpts = -lgdiplus -------------------------------------------------------------------------------- /platformLibs/src/platform/mingw/opengl32.def: -------------------------------------------------------------------------------- 1 | package = platform.opengl32 2 | headers = GL/gl.h GL/glext.h 3 | headerFilter = GL/gl.h GL/glext.h 4 | compilerOpts = -DUNICODE 5 | linkerOpts = -lopengl32 6 | -------------------------------------------------------------------------------- /platformLibs/src/platform/osx/GLUT.def: -------------------------------------------------------------------------------- 1 | depends = OpenGL OpenGLCommon posix 2 | language = Objective-C 3 | package = platform.GLUT 4 | headers = GLUT/glut.h 5 | 6 | headerFilter = GLUT/** 7 | 8 | compilerOpts = -framework GLUT 9 | linkerOpts = -framework GLUT 10 | -------------------------------------------------------------------------------- /platformLibs/src/platform/osx/OpenGLCommon.def: -------------------------------------------------------------------------------- 1 | depends = darwin posix 2 | language = Objective-C 3 | package = platform.OpenGLCommon 4 | headers = OpenGL/OpenGL.h 5 | 6 | headerFilter = OpenGL/** 7 | 8 | compilerOpts = -framework OpenGL 9 | linkerOpts = -framework OpenGL 10 | -------------------------------------------------------------------------------- /platformLibs/src/platform/osx/iconv.def: -------------------------------------------------------------------------------- 1 | depends = posix 2 | package = platform.iconv 3 | headers = iconv.h 4 | headerFilter = ** 5 | linkerOpts = -liconv 6 | -------------------------------------------------------------------------------- /platformLibs/src/platform/osx/zlib.def: -------------------------------------------------------------------------------- 1 | depends = posix 2 | package = platform.zlib 3 | headers = zconf.h zlib.h 4 | linkerOpts = -lz 5 | -------------------------------------------------------------------------------- /runtime/src/main/cpp/snprintf/COPYING: -------------------------------------------------------------------------------- 1 | UNLESS SPECIFIED OTHERWISE IN THE INDIVIDUAL SOURCE FILES INCLUDED WITH 2 | THIS PACKAGE, they may freely be used, modified and/or redistributed for 3 | any purpose. 4 | -------------------------------------------------------------------------------- /samples/androidNativeActivity/gradle.properties: -------------------------------------------------------------------------------- 1 | konan.home=../../dist 2 | konan.plugin.version=+ 3 | -------------------------------------------------------------------------------- /samples/androidNativeActivity/settings.gradle: -------------------------------------------------------------------------------- 1 | includeBuild '../../shared' 2 | includeBuild '../../tools/kotlin-native-gradle-plugin' 3 | -------------------------------------------------------------------------------- /samples/androidNativeActivity/src/main/assets/kotlin_logo.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mano7onam/kotlin-native/d5169f2370a6b20ae91fc31999fe5ebefcb4344d/samples/androidNativeActivity/src/main/assets/kotlin_logo.bmp -------------------------------------------------------------------------------- /samples/androidNativeActivity/src/main/res/mipmap-hdpi/konan_activity.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mano7onam/kotlin-native/d5169f2370a6b20ae91fc31999fe5ebefcb4344d/samples/androidNativeActivity/src/main/res/mipmap-hdpi/konan_activity.png -------------------------------------------------------------------------------- /samples/androidNativeActivity/src/main/res/mipmap-mdpi/konan_activity.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mano7onam/kotlin-native/d5169f2370a6b20ae91fc31999fe5ebefcb4344d/samples/androidNativeActivity/src/main/res/mipmap-mdpi/konan_activity.png -------------------------------------------------------------------------------- /samples/androidNativeActivity/src/main/res/mipmap-xhdpi/konan_activity.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mano7onam/kotlin-native/d5169f2370a6b20ae91fc31999fe5ebefcb4344d/samples/androidNativeActivity/src/main/res/mipmap-xhdpi/konan_activity.png -------------------------------------------------------------------------------- /samples/androidNativeActivity/src/main/res/mipmap-xxhdpi/konan_activity.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mano7onam/kotlin-native/d5169f2370a6b20ae91fc31999fe5ebefcb4344d/samples/androidNativeActivity/src/main/res/mipmap-xxhdpi/konan_activity.png -------------------------------------------------------------------------------- /samples/androidNativeActivity/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | KonanActivity 4 | 5 | -------------------------------------------------------------------------------- /samples/calculator/android/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mano7onam/kotlin-native/d5169f2370a6b20ae91fc31999fe5ebefcb4344d/samples/calculator/android/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/calculator/android/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mano7onam/kotlin-native/d5169f2370a6b20ae91fc31999fe5ebefcb4344d/samples/calculator/android/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/calculator/android/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mano7onam/kotlin-native/d5169f2370a6b20ae91fc31999fe5ebefcb4344d/samples/calculator/android/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/calculator/android/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mano7onam/kotlin-native/d5169f2370a6b20ae91fc31999fe5ebefcb4344d/samples/calculator/android/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/calculator/android/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mano7onam/kotlin-native/d5169f2370a6b20ae91fc31999fe5ebefcb4344d/samples/calculator/android/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/calculator/android/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mano7onam/kotlin-native/d5169f2370a6b20ae91fc31999fe5ebefcb4344d/samples/calculator/android/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/calculator/android/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mano7onam/kotlin-native/d5169f2370a6b20ae91fc31999fe5ebefcb4344d/samples/calculator/android/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/calculator/android/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mano7onam/kotlin-native/d5169f2370a6b20ae91fc31999fe5ebefcb4344d/samples/calculator/android/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/calculator/android/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mano7onam/kotlin-native/d5169f2370a6b20ae91fc31999fe5ebefcb4344d/samples/calculator/android/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /samples/calculator/android/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mano7onam/kotlin-native/d5169f2370a6b20ae91fc31999fe5ebefcb4344d/samples/calculator/android/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /samples/calculator/android/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Konan Calculator 3 | Enter mathematic exression: 4 | 5 | -------------------------------------------------------------------------------- /samples/calculator/build.gradle: -------------------------------------------------------------------------------- 1 | task build { 2 | subprojects.each { 3 | dependsOn("${it.path}:build") 4 | } 5 | } 6 | 7 | task clean { 8 | subprojects.each { 9 | dependsOn("${it.path}:clean") 10 | } 11 | } -------------------------------------------------------------------------------- /samples/calculator/gradle.properties: -------------------------------------------------------------------------------- 1 | konan.home=../../../dist 2 | konan.plugin.version=+ -------------------------------------------------------------------------------- /samples/calculator/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mano7onam/kotlin-native/d5169f2370a6b20ae91fc31999fe5ebefcb4344d/samples/calculator/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /samples/calculator/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /samples/calculator/ios/calculator.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /samples/calculator/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':common' 2 | include ':jvm' 3 | include ':ios' 4 | 5 | if (System.getenv('ANDROID_HOME') != null) { 6 | include ':android' 7 | } 8 | 9 | includeBuild '../../shared' 10 | includeBuild '../../tools/kotlin-native-gradle-plugin' 11 | -------------------------------------------------------------------------------- /samples/csvparser/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'konan' 2 | 3 | konanArtifacts { 4 | program('CsvParser') 5 | } -------------------------------------------------------------------------------- /samples/csvparser/gradle.properties: -------------------------------------------------------------------------------- 1 | runArgs=./European_Mammals_Red_List_Nov_2009.csv 4 100 -------------------------------------------------------------------------------- /samples/curl/gradle.properties: -------------------------------------------------------------------------------- 1 | runArgs=https://www.jetbrains.com -------------------------------------------------------------------------------- /samples/curl/src/main/kotlin/main.kt: -------------------------------------------------------------------------------- 1 | fun main(args: Array) { 2 | org.konan.libcurl.main(args) 3 | } -------------------------------------------------------------------------------- /samples/gitchurn/gradle.properties: -------------------------------------------------------------------------------- 1 | runArgs=../../ -------------------------------------------------------------------------------- /samples/gitchurn/src/main/c_interop/libgit2.def: -------------------------------------------------------------------------------- 1 | headers = git2.h 2 | linkerOpts.osx = -L/opt/local/lib -L/usr/local/lib -lgit2 3 | linkerOpts.linux = -L/usr/lib/x86_64-linux-gnu -lgit2 4 | headerFilter = git2/** git2.h 5 | -------------------------------------------------------------------------------- /samples/globalState/README.md: -------------------------------------------------------------------------------- 1 | # Shared global state 2 | 3 | This example shows how one could implement global shared state using interop mechanisms. 4 | 5 | To build use `../gradlew build`. 6 | 7 | To run use `./build/konan/bin//Globals.exe`. 8 | 9 | 10 | -------------------------------------------------------------------------------- /samples/globalState/src/main/c_interop/global.def: -------------------------------------------------------------------------------- 1 | package = global 2 | 3 | --- 4 | typedef struct { 5 | int x; 6 | float f; 7 | char* string; 8 | void* kotlinObject; 9 | } SharedData; 10 | 11 | SharedData sharedData; 12 | -------------------------------------------------------------------------------- /samples/gradle.properties: -------------------------------------------------------------------------------- 1 | konan.home=../../dist 2 | konan.plugin.version=+ -------------------------------------------------------------------------------- /samples/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mano7onam/kotlin-native/d5169f2370a6b20ae91fc31999fe5ebefcb4344d/samples/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /samples/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | zipStoreBase=GRADLE_USER_HOME 4 | zipStorePath=wrapper/dists 5 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-bin.zip 6 | -------------------------------------------------------------------------------- /samples/libcurl/gradle.properties: -------------------------------------------------------------------------------- 1 | runArgs=https://www.jetbrains.com -------------------------------------------------------------------------------- /samples/libcurl/src/main/c_interop/libcurl.def: -------------------------------------------------------------------------------- 1 | headers = curl/curl.h 2 | headerFilter = curl/* 3 | linkerOpts.osx = -L/opt/local/lib -L/usr/local/opt/curl/lib -lcurl 4 | linkerOpts.linux = -L/usr/lib/x86_64-linux-gnu -lcurl 5 | -------------------------------------------------------------------------------- /samples/nonBlockingEchoServer/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'konan' 2 | 3 | konan.targets = ['macbook', 'linux'] 4 | 5 | konanArtifacts { 6 | program('EchoServer') 7 | } 8 | -------------------------------------------------------------------------------- /samples/nonBlockingEchoServer/gradle.properties: -------------------------------------------------------------------------------- 1 | runArgs=3000 -------------------------------------------------------------------------------- /samples/objc/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'konan' 2 | 3 | konan.targets = ['macbook'] 4 | 5 | konanArtifacts { 6 | program('Window') 7 | } 8 | -------------------------------------------------------------------------------- /samples/opengl/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'konan' 2 | 3 | konan.targets = ["macbook"] 4 | 5 | konanArtifacts { 6 | program('OpenGlTeapot') 7 | } 8 | -------------------------------------------------------------------------------- /samples/socket/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'konan' 2 | 3 | konanArtifacts { 4 | program('EchoServer') 5 | } 6 | -------------------------------------------------------------------------------- /samples/socket/gradle.properties: -------------------------------------------------------------------------------- 1 | runArgs=3000 -------------------------------------------------------------------------------- /samples/tensorflow/src/main/c_interop/tensorflow.def: -------------------------------------------------------------------------------- 1 | headers = tensorflow/c/c_api.h 2 | -------------------------------------------------------------------------------- /samples/tetris/src/main/c_interop/sdl.def: -------------------------------------------------------------------------------- 1 | headers = SDL.h stdlib.h time.h 2 | entryPoint = SDL_main 3 | 4 | headerFilter = SDL* stdlib.h time.h 5 | 6 | compilerOpts = -D_POSIX_SOURCE 7 | compilerOpts.osx = 8 | compilerOpts.linux = -D_REENTRANT 9 | compilerOpts.ios = 10 | -------------------------------------------------------------------------------- /samples/tetris/src/main/resources/tetris_all.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mano7onam/kotlin-native/d5169f2370a6b20ae91fc31999fe5ebefcb4344d/samples/tetris/src/main/resources/tetris_all.bmp -------------------------------------------------------------------------------- /samples/torch/src/main/c_interop/torch.def: -------------------------------------------------------------------------------- 1 | headers = TH/TH.h THNN/THNN.h 2 | -------------------------------------------------------------------------------- /samples/uikit/.gitignore: -------------------------------------------------------------------------------- 1 | xcuserdata 2 | -------------------------------------------------------------------------------- /samples/uikit/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'konan' 2 | 3 | konan.targets = ['iphone', 'iphone_sim'] 4 | 5 | konanArtifacts { 6 | program('app') 7 | } 8 | -------------------------------------------------------------------------------- /samples/uikit/konan.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /samples/videoplayer/src/main/c_interop/sdl.def: -------------------------------------------------------------------------------- 1 | package = sdl 2 | headers = SDL.h 3 | entryPoint = SDL_main 4 | 5 | headerFilter = SDL* 6 | 7 | linkerOpts = -lSDL2 8 | -------------------------------------------------------------------------------- /samples/win32/README.md: -------------------------------------------------------------------------------- 1 | # WIN32 Hello World 2 | 3 | To build use `..\gradlew build` or `build.bat`. 4 | 5 | To run use `..\gradlew run` or `MessageBox.exe`. 6 | -------------------------------------------------------------------------------- /samples/win32/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'konan' 2 | 3 | konan.targets = ['mingw'] 4 | 5 | konanArtifacts { 6 | program('MessageBox') { 7 | linkerOpts "-Wl,--subsystem,windows" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /samples/win32/src/main/kotlin/MessageBox.kt: -------------------------------------------------------------------------------- 1 | import platform.windows.* 2 | 3 | fun main(args: Array) { 4 | MessageBoxW(null, "Konan говорит:\nЗДРАВСТВУЙ МИР!\n", 5 | "Заголовок окна", MB_YESNOCANCEL or MB_ICONQUESTION) 6 | } 7 | -------------------------------------------------------------------------------- /samples/workers/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'konan' 2 | 3 | konanArtifacts { 4 | program('Workers') 5 | } -------------------------------------------------------------------------------- /samples/zephyr/prj.conf: -------------------------------------------------------------------------------- 1 | CONFIG_CPLUSPLUS=n 2 | CONFIG_PRINTK=y 3 | CONFIG_BOOT_BANNER=y 4 | CONFIG_BUILD_OUTPUT_BIN=y 5 | CONFIG_NEWLIB_LIBC=y 6 | -------------------------------------------------------------------------------- /shared/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = "kotlin-native-shared" --------------------------------------------------------------------------------