Commit Graph

291 Commits

Author SHA1 Message Date
Nikolay Igotti a4ba0fbb32 Add Linux backtrace support. (#605) 2017-05-25 15:50:18 +03:00
Igor Chevdar 7997b4f362 Implemented *Array.toString() for all arrays 2017-05-24 22:53:18 +03:00
Igor Chevdar 2a4ee21bc7 Added KotlinVersion.kt 2017-05-24 22:53:18 +03:00
Nikolay Igotti 42197a2bec Android NDK support and build system refactoring (#585) 2017-05-24 00:20:19 +03:00
Igor Chevdar d1e248b8c3 Added String.repeat() 2017-05-23 11:44:09 +03:00
Igor Chevdar 67f37bad8d Fixed bug in strings comparison 2017-05-23 11:44:09 +03:00
Igor Chevdar 0d0e652709 Fixed toString() KFunction 2017-05-23 11:44:09 +03:00
Igor Chevdar 889e0e5078 Fixed annotation 2017-05-23 11:44:09 +03:00
Igor Chevdar 072da99ba3 Coroutines bug fix: correct handling of returnIfSuspended intrinsic 2017-05-23 11:44:09 +03:00
Igor Chevdar a41552b3c8 Rewrote callable reference lowering
For each callable reference a class inherited from KFunctionImpl is built.
2017-05-18 11:56:32 +03:00
Alexander Gorshenev 3b5ce031f8 Initial checkin of klib support.
The libraries exist in two incarnations:
    packed foo.klib and unpacked foo/ .
The compiler when given '-library foo' expects to find either
a foo.klib file and unpack it, or an already unpacked foo/ directory.

The stdlib is always unpacked in dist/klib .

The semantics of -o has changed slightly.
It now accepts '-o foo' and the compiler
either produces foo.kexe or foo.klib .
2017-05-18 04:13:35 +03:00
Igor Chevdar 81a0aa1861 Coroutines: added SequenceBuilder 2017-05-11 11:37:32 +03:00
Konstantin Anisimov 42b1414014 Code formatting 2017-05-10 18:31:02 +07:00
Konstantin Anisimov 715db233f9 Code formatting 2017-05-10 18:31:02 +07:00
Konstantin Anisimov ba1f3d502e Use annotation to distinct inline constructor 2017-05-10 18:31:02 +07:00
Ilya Matveev 74bd3256f0 runtime: Correct Float.MIN_VALUE 2017-05-03 16:59:59 +07:00
Ilya Matveev 0a06f6b4ca stdlib: Add more minOf/maxOf extensions 2017-05-03 16:59:59 +07:00
Ilya Matveev ce29c5fbb7 stdlib: Throw NoSuchElementException in range iterators 2017-05-02 22:09:36 +07: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 bd6a091088 Coroutines lowering 2017-04-28 13:45:46 +03:00
Igor Chevdar 366e28775f Added @FixmeInline and commented some inline functions 2017-04-28 13:45:46 +03:00
Igor Chevdar 2b92b1d880 Added coroutines stdlib classes 2017-04-28 13:45:46 +03: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
Ilya Matveev 29ce88a6f0 stdlib: Minor refactorings for strings
Remove unused include <errno.h> in KString.cpp.
Rename variables in StringBuilder.reverse().
Use const char* instead of char* in checkParsingErrors.
2017-04-26 17:30:29 +07:00
Ilya Matveev 9aa0777efb stdlib: Use iswspace_Konan in parseDouble/parseFloat 2017-04-26 17:30:29 +07:00
Ilya Matveev 4a16087a21 stdlib: Add indentation extensions for strings 2017-04-26 17:30:29 +07:00
Ilya Matveev a8dad22332 stdlib: Always find an empty substring
This patch fixes the following tests:
    external_stdlib_text_StringTest/replace.kt
    external_stdlib_text_StringTest/replaceDelimited.kt
    external_stdlib_text_StringTest/replaceFirst.kt
2017-04-26 17:30:29 +07:00
Ilya Matveev a4f3691a7b stdlib: Rewrite deep content operations for Arrays 2017-04-26 17:30:29 +07:00
Ilya Matveev f958573d05 stdlib: StringBuilder: Use Apache Harmony reverse() implementation
This patch uses a Apache Harmony's approach to reverse surrogate
pairs.
2017-04-26 17:30:29 +07:00
Ilya Matveev 7f9e65ef17 stdlib: Remove unused C++ methods for string parsing
Now toByte, toShort, toInt and toLong methods use their "...OrNull"
analogs implemented in Kotlin insetad of "parse..." functions
implemented in C++. This patch removes unused C++ methods.
2017-04-26 17:30:29 +07:00
Ilya Matveev 0553b119b2 stdlib: Fix number parsing 2017-04-26 17:30:29 +07:00
Nikolay Igotti be646930cc Prevent init order issues in maps (#517) 2017-04-21 16:02:11 +03:00
Ilya Matveev 64757267ef stdlib: StringBuilder: Use copyOfRange for array copying 2017-04-21 16:23:27 +07:00
Ilya Matveev e9d6013efd stdlib: Refactor toString with radix for Int and Long 2017-04-21 16:23:27 +07: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 e8479d1148 stdlib: Ignore case in String.toBoolean 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 9607033c11 stdlib: Add insert methods in StringBuilder 2017-04-21 16:23:27 +07:00
Ilya Matveev f2fd80e9e3 stdlib: Add CharSequence extensions 2017-04-21 16:23:27 +07:00
Ilya Matveev f9c6b6e6e4 stdlib: Add StringBuilder.reverse method 2017-04-21 16:23:27 +07:00
Nikolay Igotti 5517ed7296 GTK sample (#515)
* GTK sample

* Add full UTF8 recoding ability to interop
2017-04-20 23:09:36 +03:00
Ilya Matveev 46229636fc stdlib: Add plus/minus extensions for Set 2017-04-19 18:27:32 +07:00
Ilya Matveev b9b8c6e192 stdlib: Suppress/fix warnings in stdlib
This patch fixes redundant safe calls/casts/type projections
and suppresses some casts which are actually safe but reported
as unsafe.
2017-04-19 18:27:32 +07:00
Ilya Matveev fcece669ec stdlib: Add AbstractMutableList implementation
The implementation is based on the AbstractMutableList class
of JS backend.
2017-04-19 18:27:32 +07:00
Ilya Matveev 9da229896b stdlib: Fix variance for map and collection extensions 2017-04-19 18:27:32 +07:00
Ilya Matveev 859618b546 stdlib: Add some Map extensions
This patch copies some Map extensions from Kotlin JVM stdlib:
 - none
 - onEach
 - getValue
 - min/maxBy and min/maxWith
 - asIterable and asSequence
2017-04-19 18:27:32 +07:00
Ilya Matveev fd7f379ff5 stdlib: Add binary search for lists 2017-04-19 18:27:32 +07:00
Ilya Matveev 1c081d351b stdlib: Add Grouping.eachCount extension 2017-04-19 18:27:32 +07:00