Commit Graph

2260 Commits

Author SHA1 Message Date
Igor Chevdar 66aef3bf5a Handling of 'WITH_COROUTINES' in tests 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 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
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
Svyatoslav Scherbina c5495e744e Implement filtering interop headers by globs and by modulemaps
Also do some refactoring
2017-04-26 20:07:06 +03:00
Svyatoslav Scherbina 94ff4d69be Fix def file substitutions
Properly handle the case when platform-specific property is specified
but the base one isn't.
2017-04-26 20:07:06 +03:00
Svyatoslav Scherbina 9926b281dd Do not link libclangstubs against wrong libc++ 2017-04-26 20:07:06 +03:00
Svyatoslav Scherbina 8ebc0bd1ea Do not move libclang out from the clang distribution
Also load libclang using the absolute path to simplify cinterop
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 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
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
Nikolay Igotti 13dbbd361b Fix GTK demo on Linux 2017-04-21 16:48:08 +03:00
Nikolay Igotti be646930cc Prevent init order issues in maps (#517) 2017-04-21 16:02:11 +03:00
Svyatoslav Scherbina 509965a691 Add minor improvement to samples/gtk 2017-04-21 14:03:36 +03:00