Commit Graph

994 Commits

Author SHA1 Message Date
Svyatoslav Scherbina a8ab837035 Add failing test 'inline24' 2017-05-02 22:18:18 +03:00
Ilya Matveev fe5badee34 build: Store kotlin-compiler repo URL in a project property 2017-05-02 18:17:27 +07:00
Ilya Matveev 3f0a273a11 build: Switch Kotlin compiler downloading to kotlin-dev bintray repo
This patch uses kotlin-dev bintray repo (dl.bintray.com/kotlin/kotlin
-dev/org/jetbrains/kotlin/kotlin-compiler/) for Kotlin compiler
downloading instead of the sonatype repo and our bintray mirror of it.
So there is not need to run ./gradlew update_kotlin_compiler on each
compiler update.

It also updates kotlin-compiler to 1.1.3-dev-1619
2017-05-02 18:17:27 +07:00
Ilya Matveev 94c1716899 build: Fix dependency uploading to bintray repo 2017-05-02 18:17:27 +07:00
Igor Chevdar 57c889de41 SuspendFunctionLowering: optimizations of ExpressionSlicer 2017-04-28 13:46:44 +03:00
Igor Chevdar adc1faa6c5 Moved NativePtr from interop to konan.internal 2017-04-28 13:45:46 +03:00
Igor Chevdar 0750626c29 Inherited coroutines from SuspendFunction 2017-04-28 13:45:46 +03:00
Igor Chevdar 4f22b4803a Coroutines: support of Unit functions 2017-04-28 13:45:46 +03:00
Igor Chevdar 6aa3493de2 Added some tests on coroutines 2017-04-28 13:45:46 +03:00
Igor Chevdar 86449c6d04 Codegen: init all slots at the beginning
This is needed for coroutines: when resuming suspend functions
all visible locals must be initialized.
2017-04-28 13:45:46 +03:00
Igor Chevdar 01b6ab74a5 Codegen: coroutines support 2017-04-28 13:45:46 +03:00
Igor Chevdar bd6a091088 Coroutines lowering 2017-04-28 13:45:46 +03:00
Igor Chevdar 7f9c5e5c8b Inlining bug fix 2017-04-28 13:45:46 +03:00
Igor Chevdar 6c97044452 Extracted common function for creating fake overrides 2017-04-28 13:45:46 +03:00
Igor Chevdar 8a5659456c Fixes bug in local declarations lowering + test 2017-04-28 13:45:46 +03:00
Ilya Matveev 028cf6c947 build: Allow kotlin-compiler downloading from sonatype
This patch allows one to download the kotlin-compiler dependency
not only from the bintray mirror but also from the sonatype original
repo.
2017-04-28 17:15:01 +07:00
Ilya Matveev c9a344f8c7 build: Upload used kotlin-compiler builds to bintray 2017-04-28 17:15:01 +07:00
Alexander Gorshenev f77a4b9090 Represent the presence of a backing field with just a protobuf
extension bit, instead of a more complex annotation scheme.  The
scheme was initially introduced when Konan still used JS serializer
extension, and we only could apply an additional annotation.
2017-04-27 22:55:52 +03:00
Alexander Gorshenev cbce4cf994 Properly process the absence of protobuf field. 2017-04-27 22:55:52 +03:00
Alexander Gorshenev 67867dd6fb Removed some leftovers. 2017-04-27 22:55:52 +03:00
Alexander Gorshenev 53d01129ce Disallow serialization of private and other non-exported functions. 2017-04-27 22:55:52 +03:00
Alexander Gorshenev ee6d70fb0f When searching a descriptor by name,
only search in exported symbols.
2017-04-27 17:06:21 +03:00
Ilya Matveev 55c3b79786 tests: Update box tests (1053418:id) 2017-04-27 17:27:39 +07:00
Alexander Gorshenev 0859abbb9d Somewhat simplified descriptor management for IR serialization.
The public descriptors don't need to keep their containing declaration index.
KonanIr.KotlinDescriptor already has this index, so use it instead.
That allows to remove some more clutter from KonanLinkData.
2017-04-27 12:33:35 +03:00
Alexander Gorshenev 503399ade3 Moved local declaration descriptor serialization
from KonanLinkData where it serves no purpose,
to KonanIr where it belongs.
2017-04-27 12:33:35 +03:00
Alexander Gorshenev 2c1fa5e965 Removed indices from the descriptor serializations.
The reason they have been introduced initially was
because those indices were calcuated irrelative to the descriptros themselves.

The current scheme with hashing the mangled name allows to calcuate
the indices for the descriptors, rather than storing them.

The measurements didn't reveal any slowdowns because of hash
recalculations, rather there may be even a minor improvement
because of a 2% smaller volume of module protobuf.
2017-04-27 12:33:35 +03:00
Alexander Gorshenev 31c490e14e Reflect the absence of parent fqname index in the absence of protobuf extension. 2017-04-27 12:33:35 +03:00
Alexander Gorshenev 0cc3fa56ab Properly process root package symbol table index. 2017-04-27 12:33:35 +03:00
Nikolay Igotti 2d2ae56435 Update compiler (#531) 2017-04-27 12:15:56 +03:00
Alexander Gorshenev 28c03a36cc Collected pieces of library management in KonanLibrary interface.
In anticipation of klib implementation.
2017-04-27 12:13:27 +03:00
Alexander Gorshenev f56e68e255 Make sure type arguments are serialized in the proper order. 2017-04-27 12:13:16 +03:00
Alexander Gorshenev 2ae88c9731 Some more use of .propertyIfAccessor . 2017-04-27 12:13:16 +03:00
Svyatoslav Scherbina 8a0b494c2e Apply interop filtering
Also actualize .def files
2017-04-26 20:07:06 +03:00
Vasily Levchenko ab392bf9ed LINK: return occasionally deleted in 7d111c4d extracting debug info on MacOS.
This code generates .dSYM folder containing debug info in dwarf format, it is place where debuger lookup symbols  and type declarations.
2017-04-26 18:50:19 +03:00
Ilya Matveev 4a16087a21 stdlib: Add indentation extensions for strings 2017-04-26 17:30:29 +07:00
Ilya Matveev 0553b119b2 stdlib: Fix number parsing 2017-04-26 17:30:29 +07:00
Ilya Matveev 8df15dca5a tests: Update box tests (1050294:id) 2017-04-25 17:46:02 +07:00
Ilya Matveev 569ceff5f9 tests: Don't remove stdlib tests when update external ones 2017-04-25 17:46:02 +07:00
Alexander Gorshenev 5b4eb47235 Simplified IR awareness of KonanDescriptorSerializer. 2017-04-25 01:24:49 +03:00
Alexander Gorshenev 39f2c3d7fb Added support of inline properties. 2017-04-25 01:24:49 +03:00
Vasily Levchenko 92964e1eae kotlin-compiler:1.1-20170424.172927-491 2017-04-24 22:35:39 +03:00
Svyatoslav Scherbina ea2d7cbf01 Handle lambda argument of staticCFunction 2017-04-21 14:03:36 +03:00
Ilya Matveev 0cb7e5ba72 stdlib: StringBuilder: insert "null" if the argument is null
This patch changes the behaviour of StringBuilder.append and
StringBuilder.insert methods if the argument is null in accordance
with Kotlin JVM.
2017-04-21 16:23:27 +07:00
Ilya Matveev 89270c8108 stdlib: Implement toString with radix in accordance with Kotlin JVM
Old Int.toString(radix: Int) and Long.toString(radix: Long)
implementations didn't add sign for negative values. E.g.
-1.toString(16) == "0xff..ff" while JVM returns "-1" in such case.
This patch fixes this behaviour and allow us to use any radix between
2 and 36 as JVM does.
2017-04-21 16:23:27 +07:00
Ilya Matveev 95034225a8 stdlib: Throw NoSuchElementException from array iterators 2017-04-21 16:23:27 +07:00
Ilya Matveev 5eabda0ba4 tests: Move StringBuilder tests into single file 2017-04-21 16:23:27 +07:00
Ilya Matveev 9607033c11 stdlib: Add insert methods in StringBuilder 2017-04-21 16:23:27 +07:00
Ilya Matveev f9c6b6e6e4 stdlib: Add StringBuilder.reverse method 2017-04-21 16:23:27 +07:00
Alexander Gorshenev 5368eb0f2f Only sort contributed methods for vtable generation. 2017-04-20 22:46:48 +03:00
Alexander Gorshenev 7d111c4d31 Slightly refactored cross compilation infrastructure. 2017-04-20 18:37:45 +03:00