Commit Graph

2798 Commits

Author SHA1 Message Date
Ilya Matveev 1abb430f15 REVERTME: Workaround a bug with inner classes 2017-09-25 11:31:22 +03:00
Vasily Levchenko f26e5b5f02 unit-tests: Create a simple test runner implementation 2017-09-25 11:31:22 +03:00
Vasily Levchenko 77195e8e90 [kotlin compiler][update] 1.1-20170919.214919-905
gradle-plugin: 1.1-20170919.215938-883
stdlib: 1.1-20170919.214804-814
2017-09-25 09:52:25 +03:00
Alexander Gorshenev 298820612c The linker -S flag to omit unnecessary symbols from the final binary
was missing for raspberrypi.
2017-09-21 17:18:50 +03:00
Aleksey Kladov 6f35524190 [doc][debug] lldb pretty printers 2017-09-21 06:58:46 +03:00
Aleksey Kladov 7f4d14d36e [debug] add Kotlin Object pretty printers for lldb
Now lldb commands like `frame variable` print non-primitive Kotlin
objects nicely if you `command script import dist/tools/konan_lldb.py`
2017-09-21 06:58:46 +03:00
Aleksey Kladov 298778cc09 [build] fix conflict between bulid and jars tasks
The file `backend.native/build/libs/backend.native.jar` was produced
by two different tasks `:backend.native:jar` (default task of Java
Plugin) and `backend.native:jars` (our custom task). This caused the
`:dist: task to never be UP-TO-DATE.
2017-09-19 18:18:17 +03:00
Ilya Matveev beea41b406 gradle-plugin: Fix test running 2017-09-19 16:29:00 +03:00
Nikolay Igotti cf462965f5 Thread cleanup handlers (#866) 2017-09-19 14:58:33 +03:00
Vasily Levchenko 1d26d30521 [kotlin compiler][update] 1.1-20170916.214502-895
gradle-plugin: 1.1-20170916.215405-873
stdlib: 1.1-20170916.214349-804
2017-09-19 11:17:03 +03:00
Vasily Levchenko 7ca9332d2f [lower][debug] KT-20206 non existing source location in loops over range 2017-09-18 15:07:45 +03:00
Vasily Levchenko 3416c53634 [command line][utility] print location with more detail 2017-09-18 15:07:45 +03:00
Ilya Matveev bbf2936bff tools: Add release publishing script 2017-09-15 10:50:01 +03:00
Vasily Levchenko dd7ddbcc24 [build][platform] adoption recent changes in konan interop plugin 2017-09-14 19:14:01 +03:00
Ilya Matveev 61ec2bfed7 build: Don't use java-gradle-plugin
The `java-gradle-plugin` includes the `shared` project into pom-file
of the generated maven artifact as a dependency. We don't need this
because we create the output artifact manually as a fat jar including
the `shared` project.
2017-09-14 17:52:18 +03:00
Svyatoslav Scherbina 79455c5161 Support interop modularity
* Add list of included headers into the manifest
* Implement importing "foreign" type declarations
* Implement forward declarations more natively in the compiler
* Represent Objective-C categories as Kotlin extension methods and
  properties

Also:
* Do some refactoring in stub generation
* Call bridges directly in stubs for Objective-C properties
2017-09-14 16:47:26 +03:00
Vasily Levchenko 82b2b76c09 [codegen][debug] fix of KT-20207 (problem with accessing structs)
- removed artifacts of dwarf type generation, instead debugger will use runtime debugger functions
- fixed variable offset calculation
2017-09-14 05:48:21 +03:00
Alexander Gorshenev b367a0d255 HTML5 canvas drawing demo. 2017-09-13 19:04:59 +03:00
Vasily Levchenko ce3ed52705 [build]: platform lib build added
distPlatformLibs - command build and install klibs in dist
2017-09-13 17:23:08 +03:00
Vasily Levchenko ca02d71dcf [util][klib] don't remove library which we gonna to install, instead delete one installed in repository 2017-09-13 17:23:08 +03:00
Vasily Levchenko f271058933 [build][performance] g/c unused lines 2017-09-13 16:46:11 +03:00
Vasily Levchenko 165f0ae93c [build][performance] fix Windows run 2017-09-13 16:46:11 +03:00
Ilya Matveev d324585d5c gradle-plugin: Throw exceptions on deprecated property/task access 2017-09-13 12:45:38 +03:00
Ilya Matveev 5e1866f262 gradle-plugin: Remove manifest compilation parameter 2017-09-13 12:45:38 +03:00
Ilya Matveev 016893991a gradle-plugin: Use cinterop to compile stubs
The gradle plugin performed interop processing in two steps:
 1. generate stubs using cinterop tool
 2. compile the stubs generated using konanc.

This led to code duplication since the cinterop tool also
can do the same things. This patch removes two tasks used
different tools and replaces them with one task which uses
citerop tool for both stub generation and compilation
2017-09-13 12:45:38 +03:00
Alexander Gorshenev 4fc0fbe73f Updated documentation to reflect static library inclusion facility. 2017-09-13 12:23:49 +03:00
Alexander Gorshenev 6187726ee7 Added libraryPaths def file property. 2017-09-13 12:23:49 +03:00
Alexander Gorshenev 820a009163 Pass the list of static libraries from the cinterop tool to the compiler. 2017-09-13 12:23:49 +03:00
Alexander Gorshenev eb0e584cb4 Allow linking static libraries from klibs.
Resolve static libraries in cinterop tool.
2017-09-13 12:23:49 +03:00
Alexander Gorshenev eb0d02715c Introduced appendBytes for Konan File. 2017-09-13 12:23:49 +03:00
Alexander Gorshenev e9720b7e13 Allow including external binaries within klibs with -includeBinary flag.
Link such binaries in case they are javascripts on wasm32.
Otherwise don't do anything useful yet.
2017-09-13 12:23:49 +03:00
Alexander Gorshenev c363732eb5 Report an explicit error when linker invocation fails.
In addition ir makes exit code 1, rather than 0 if it
was the only problem during compilation.
2017-09-13 12:21:24 +03:00
Nikolay Igotti 24ba3af7e5 Fix build 2017-09-12 22:22:43 +03:00
Nikolay Igotti 1366901bae Fix backtrace generation for opt builds 2017-09-12 21:46:07 +03:00
Ilya Matveev e17dd630d6 v0.3.3 preparations 2017-09-11 13:58:07 +03:00
Eugene Petrenko b1e84593b5 fix leaked non-daemon thread in Downloader 2017-09-11 13:24:49 +03:00
Vasily Levchenko 1186bc22b4 [kotlin compiler][update] 1.1-20170909.122859-856
stdlib: 1.1-20170911.000327-766
gradle: 1.1-20170911.001619-835
2017-09-11 10:53:32 +03:00
Nikolay Igotti 8c5d7a0202 Added runtime init (#846) 2017-09-11 09:15:22 +03:00
Ilya Matveev 60901da0c0 stdlib: Add copyrights in kotlin.system package 2017-09-07 18:48:10 +03:00
Ilya Matveev c32b84efd1 stdlib: Move exit function to porting layer 2017-09-07 18:48:10 +03:00
Ilya Matveev ea667ebc5c stdlib: Add exitProcess function 2017-09-07 18:48:10 +03:00
Svyatoslav Scherbina bacb1c21f7 Add UIKit sample 2017-09-06 23:57:19 +03:00
Svyatoslav Scherbina 62755590a5 Add uncaught exception handler when Objective-C interop is enabled
UIApplicationMain doesn't forward exceptions to the caller,
so catching them in Kotlin main doesn't have any effect.
2017-09-06 23:57:19 +03:00
Svyatoslav Scherbina 4e285a5ef4 Implement equals, hashCode and toString for Objective-C objects 2017-09-06 23:57:19 +03:00
Svyatoslav Scherbina 6b042a5510 Disable passing exceptions from Objective-C to Kotlin
since they can't be correctly handled yet.
2017-09-06 23:57:19 +03:00
Svyatoslav Scherbina 12df524138 Disable inheriting Objective-C initializers by Kotlin classes
Unoverridden inherited Objective-C initializer can lead to
creating uninitialized Kotlin instances.
Throw exception when such an initializer gets called.
2017-09-06 23:57:19 +03:00
Svyatoslav Scherbina 324f54ba1e Implement @ExportObjCClass 2017-09-06 23:57:19 +03:00
Svyatoslav Scherbina aece25344f Simplify immutableBinaryBlobOf support in codegen 2017-09-06 23:57:19 +03:00
Svyatoslav Scherbina 07f26dc1df Rework Objective-C constructors and support 'initBy' intrinsic 2017-09-06 23:57:19 +03:00
Svyatoslav Scherbina 5a7e3e20b4 Support exposing Kotlin methods as Objective-C actions and outlets 2017-09-06 23:57:19 +03:00