Commit Graph

2785 Commits

Author SHA1 Message Date
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
Svyatoslav Scherbina 2f30c15b45 Workaround interop with iOS system frameworks 2017-09-06 23:57:19 +03:00
Nikolay Igotti 5f92568347 Support missing pieces (#838) 2017-09-06 16:48:55 +03:00
Vasily Levchenko ccb4caf29e [performance][bench] don't access to build folder before compilation task finished. 2017-09-06 13:21:56 +03:00
Nikolay Igotti d7ad69e85d Minor Android manual tweaks 2017-09-05 18:51:51 +03:00
Nikolay Igotti be58d2ee34 Fix typedefs to unsupported types 2017-09-05 18:43:55 +03:00
Ilya Matveev 5289be4e1b v0.3.2 preparations 2017-09-05 18:37:33 +03:00
Nikolay Igotti b8929460a0 Exclude entry point from DCE on Android 2017-09-05 18:31:16 +03:00
Alexander Gorshenev 63ace8add9 Produce a warning in case we could not find an entry point. 2017-09-05 18:15:42 +03:00
Nikolay Igotti 43a975ad73 Ensure linker from sysroot is used (#834) 2017-09-05 15:35:23 +03:00
Hadi Hariri cc0809d315 Added JB Official (#833) 2017-09-05 13:35:20 +03:00
Nikolay Igotti 05696fe5c1 Platforms reshuffle (#830) 2017-09-04 19:53:45 +03:00
Vasily Levchenko 3016f5f253 [kotlin compiler][update] 1.1-20170901.201358-842
stdlib: 1.1-20170901.201245-751
plugin: 1.1-20170901.202447-820
2017-09-04 14:18:53 +03:00
Vasily Levchenko 3a9169f5ea [upload] fix of pom generation on uploaded artifacts
problem introduced in d488e35219
2017-09-04 14:18:53 +03:00