Commit Graph

2446 Commits

Author SHA1 Message Date
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
Svyatoslav Scherbina ea2d7cbf01 Handle lambda argument of staticCFunction 2017-04-21 14:03:36 +03:00
Svyatoslav Scherbina c6ad4c3307 Disable the buggy optimization in interop stubs generator 2017-04-21 14:03:36 +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 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 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
Alexander Gorshenev 5368eb0f2f Only sort contributed methods for vtable generation. 2017-04-20 22:46:48 +03:00