Commit Graph

1816 Commits

Author SHA1 Message Date
Igor Chevdar ccbf4bb963 Supported KProperty2 and KMutableProperty2 (#340)
Consider this code:
object Delegate {
    operator fun getValue(t: Any?, p: KProperty<*>): String {
        return ""
    }
}

class A {
    val String.ext by Delegate
}

then the type of <p> is KProperty2 (it has 2 receivers).
2017-03-14 08:43:30 -04:00
Nikolay Igotti 29726e601f Fix interop tool on Linux 2017-03-14 13:04:33 +03:00
Nikolay Igotti 7615931b84 Add missing exceptions, make exception classes open (#338) 2017-03-14 12:01:37 +03:00
Svyatoslav Scherbina c9e2b5ac69 backend: fix handling unreachable return from inlined function 2017-03-14 13:32:46 +07:00
Svyatoslav Scherbina 37b7940544 Interop: generate fewer adapters when targeting Kotlin Native
Also do some refactoring.
2017-03-14 13:01:38 +07:00
Vasily Levchenko a78f38d26c compiler: 1.1-20170310.145051-441 2017-03-13 19:14:40 +03:00
Ilya Matveev d3945bff3b tests: Add fail() function to TestUtils 2017-03-13 19:03:57 +03:00
Ilya Matveev 8e91da7aad build/tests: Import box() function package in the launcher 2017-03-13 19:03:57 +03:00
Ilya Matveev 89b2cc05bd build/tests: Create separate output dir for each external test 2017-03-13 19:03:57 +03:00
Vasily Levchenko 366b0834ae compiler: 1.1-20170309.105410-440 2017-03-13 19:01:09 +03:00
Igor Chevdar 1cd229d8e5 Default enum class should not have primary constructor. (#335)
* Default enum class should not have primary constructor.

* Made simple delegating constructor non-primary + some refactoring.

* Make singleton object constructor primary.
2017-03-13 11:46:11 -04:00
SvyatoslavScherbina b803e95c0b backend: fix kt6590_identityEquals.kt (#333)
Customize `===` for value types to achive the same behavior as with JVM BE
2017-03-13 16:45:33 +03:00
Ilya Matveev 20ffd6d90b tests: Add test for assertion fail 2017-03-13 16:25:48 +03:00
Ilya Matveev 97b5bb527d backend: Generate assert call depending on the compiler key 2017-03-13 16:25:48 +03:00
Ilya Matveev 30be84cd55 stdlib: Add assert() functions. 2017-03-13 16:25:48 +03:00
Ilya Matveev a181b0301e Update README.md and HACKING.md 2017-03-13 15:31:46 +03:00
Ilya Matveev bc074e6d39 tests: Update external tests (1.1.2-dev-393) 2017-03-13 15:31:46 +03:00
Ilya Matveev ac56fccb15 tests: Download test data as a teamcity artifact 2017-03-13 15:31:46 +03:00
Ilya Matveev 232d2ff14c tests: Compile only *.kt files 2017-03-13 15:31:46 +03:00
Svyatoslav Scherbina 7751e66daa backend: validate IR module after every phase if -verify_ir is enabled 2017-03-13 17:07:55 +07:00
Svyatoslav Scherbina 95935921ba backend: implement simple IR validator 2017-03-13 17:07:55 +07:00
Svyatoslav Scherbina d4fc79da43 backend: fix type operator result type in autoboxing 2017-03-13 17:07:55 +07:00
Svyatoslav Scherbina 11f2ea7e38 backend: fix IrReturn type in enum class lowering 2017-03-13 17:07:55 +07:00
Svyatoslav Scherbina d49023e172 backend: fix null type in default arguments lowering 2017-03-13 17:07:55 +07:00
Svyatoslav Scherbina a41f575f52 backend/tests: add interop_opengl_teapot 2017-03-13 11:00:33 +07:00
Svyatoslav Scherbina 304a9ebd8e build/tests: support declaring tests to be manually executed 2017-03-13 11:00:33 +07:00
Svyatoslav Scherbina 725e367614 build/tests: implement passing interop linker args to compiler 2017-03-13 11:00:33 +07:00
Svyatoslav Scherbina 7ad36ac035 backend: implement '-linkerArg' to pass arguments to the linker 2017-03-13 11:00:33 +07:00
Svyatoslav Scherbina 46fde200be Interop/Runtime: add allocArrayOf(vararg Float) 2017-03-13 11:00:33 +07:00
Svyatoslav Scherbina 498c33a4e0 Interop/StubGenerator: fix some bugs related to typedef 2017-03-13 11:00:33 +07:00
Svyatoslav Scherbina 54b8b5f3a3 Interop/StubGenerator: improve naming 2017-03-13 11:00:33 +07:00
Igor Chevdar ed2191b4a3 Initializers lowering fix: clone init blocks. (#321)
* Initializers lowering fix: clone init blocks.

In order to let following phases to modify IR we need to clone init blocks
for each constructor before inserting it.

* Used DeepCopyIRTreeWithDescriptors.

* Shared variables lowering must be performed before local functions lowering.

Local functions lowering makes all variables non-shared, thus they must be
transformed into Ref<> before this.

* Moved all initializers into a method.

In order not to deal with copying of IR at all it is easier to create a
method 'initialize' which will be called from each constructor.

* Used right parameters for call.

* If class has primary constructor then move initializers to it.

* review fixes
2017-03-10 19:02:02 +05:00
Alexander Gorshenev 1f9d41b291 Added a TODO on -Dkonan.home use in pre-dist world. 2017-03-10 17:36:58 +04:00
Alexander Gorshenev aea99897c4 Added -isystem to Mac interop stub build, so that it doesn't lose the clang owned headers. 2017-03-10 17:36:58 +04:00
Alexander Gorshenev a995fbcb59 This is a simple command line tool for interop.
See INTEROP.md on how to use it.
2017-03-10 17:36:58 +04:00
Svyatoslav Scherbina 62e678a37a backend/tests: add inline21 2017-03-10 18:08:47 +07:00
Svyatoslav Scherbina 404be59f62 backend/tests: add missing task for inline20 2017-03-10 18:08:47 +07:00
Svyatoslav Scherbina 24d5bd966e backend/inline: rework getting lambda function from argument 2017-03-10 18:08:47 +07:00
Ilya Matveev ec52aad146 tests: Update some tests 2017-03-10 11:37:00 +03:00
Svyatoslav Scherbina 9e15873d6c backend/testUtils: add assertTrue and assertFalse 2017-03-10 15:30:18 +07:00
Svyatoslav Scherbina bbcbd03941 stdlib: add Array<*>.contentToString()
Extract common implementation from ArrayList<*>.toString()
2017-03-10 15:30:18 +07:00
Svyatoslav Scherbina 5c0cb5e236 stdlib: add kotlin.io.print*(Any?) 2017-03-10 15:30:18 +07:00
Svyatoslav Scherbina 2cdff9d1e7 stdlib: add companion objects for Enum and String 2017-03-10 15:30:18 +07:00
Svyatoslav Scherbina 06ba63af06 backend/tests/external: Mute tests with java collection inheritance 2017-03-10 15:03:43 +07:00
Svyatoslav Scherbina 7f72c1c037 backend/tests/external: Mute tests depending on Math 2017-03-10 15:03:43 +07:00
Svyatoslav Scherbina 9e58f884d3 build/tests: check exit status instead of output of external tests 2017-03-10 14:34:10 +07:00
Svyatoslav Scherbina 13bbd7af81 runtime: use exitStatus == 1 if main finished with exception
Also update the corresponding test.
2017-03-10 14:34:10 +07:00
Svyatoslav Scherbina 051f42667c build/tests: support KonanTest.expectedExitStatus 2017-03-10 14:34:10 +07:00
Ilya Matveev 853a40b230 tests: Mute tests with '::class' 2017-03-09 18:01:19 +03:00
Ilya Matveev fd64de3f23 backend: Fix lowering of default arguments to local functions
Fix:
external_codegen_blackbox_functions_localFunctions/kt3978.kt
external_codegen_blackbox_closures/kt5589.kt
2017-03-09 18:01:19 +03:00