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
Alexander Gorshenev
d79875ac7c
A couple of functions in stdlib are marked with @InlineExposed.
2017-04-18 13:54:37 +03:00
Ilya Matveev
7bf9669f57
stdlib: Add clear and remove methods in AbstractMutableCollection
2017-04-18 12:48:07 +07:00
Ilya Matveev
16f3dcde8a
stdlib: Uncomment linkedMapOf and linkedSetOf methods
2017-04-18 12:48:07 +07:00
Ilya Matveev
325210ae52
stdlib: Remove TODO comment in ArrayUtil.kt
...
We don't need to handle cases when a count of objects provided
by the iterator isn't equal to the size of the collection.
2017-04-18 12:48:07 +07:00
Ilya Matveev
321386d95e
stdlib: Improve ArrayList.removeAll implementation.
...
This patch replaces ArrayList.removeAll implementation with a
faster one. It also adds the AbstractMutableCollection class
containing default implementations for addAll, removeAll and
retainAll methods and fixes tests to check if removeAll removes
all occurrences found or not.
2017-04-18 12:48:07 +07:00
Ilya Matveev
69a49f987c
stdlib: Add first() extension for CharSequence
2017-04-18 12:48:07 +07:00
Ilya Matveev
7dd27dd16d
stdlib: Provide Collection.toArray() implementation
...
It also modifies the test for this method to make it to not rely on
Kotlin JVM implementation.
2017-04-18 12:48:07 +07:00
Ilya Matveev
51191a5911
stdlib: Remove commented copyOf in CharArray
2017-04-18 12:48:07 +07:00
Ilya Matveev
ad25d3ca7c
stdlib: Return a RandomAccess object from Array.toList() and emptyList()
2017-04-18 12:48:07 +07:00