Commit Graph

2832 Commits

Author SHA1 Message Date
Svyatoslav Scherbina fd35ccbf2e Represent void* as CValuesRef<*>? 2017-09-26 09:50:42 +03:00
Svyatoslav Scherbina 17ccd3ee02 Minorly rework CValuesRef to make it more universal when subclassing
Allow `getPointer` to register custom disposers with `defer`
2017-09-26 09:50:42 +03:00
Svyatoslav Scherbina a3721f857c Optimize Arena and memScoped
Also do minor refactoring.
2017-09-26 09:50:42 +03:00
Svyatoslav Scherbina 2217be4003 Add defer support to memScope 2017-09-26 09:50:42 +03:00
Svyatoslav Scherbina 9609a10e09 Improve StableObjPtr
* Rename to StableRef
* Make it more typed
* Provide more idiomatic and convenient methods
* Share more code between JVM and Native
2017-09-26 09:50:42 +03:00
Svyatoslav Scherbina d8ed1f4414 Hide nativeMemUtils and pointerSize 2017-09-26 09:50:42 +03:00
Svyatoslav Scherbina 388aba5040 Export property accessors if the property is exported
This fixes `@PublishedApi` support for properties.
2017-09-26 09:50:42 +03:00
Vasily Levchenko 197f77f8e3 [tests] string builder appendln tests 2017-09-25 17:51:33 +03:00
Vasily Levchenko 4f6178fb1f [stdlib][string builder] appenln function added 2017-09-25 17:51:33 +03:00
Vasily Levchenko d6a47c09c6 [build][debug info] fix gradle 'build' 2017-09-25 17:25:09 +03:00
Ilya Matveev 4be1b2cde1 build: Correct property name in platform lib build 2017-09-25 15:21:49 +03:00
Ilya Matveev 412d0485e4 box-tests: Remove duplicating assertions from testUtils.kt
The testUtils.kt contains some assertions which are now implemented
in stdlib. This patch removes them from testUtils.kt
2017-09-25 13:45:11 +03:00
Alexander Gorshenev f1c3e866b4 A couple of tests for default libraries. 2017-09-25 12:49:22 +03:00
Alexander Gorshenev 27f7e4263b Auto link everything found in dist/klib.
Disable such behavior with -nodefaultlibs.
Omit libraries from the link stage if their packages have not been referenced.
2017-09-25 12:49:22 +03:00
Ilya Matveev 5d79c079b4 gradle-plugin: Accept Any as includeDir and inputDir 2017-09-25 11:31:46 +03:00
Ilya Matveev beb6c3eb10 gradle-plugin: Rename kLib -> klib 2017-09-25 11:31:46 +03:00
Ilya Matveev beb2ed07dc gradle-plugin: Delete user output dirs in the clean task 2017-09-25 11:31:46 +03:00
Ilya Matveev 0b2425026e gradle-plugin: Add regression test for KT-20192 2017-09-25 11:31:46 +03:00
Ilya Matveev ff6515a263 gradle-plugin: Improve parameter dumping
#KT-20191 Fixed
2017-09-25 11:31:46 +03:00
Ilya Matveev 47f26f282b gradle-plugin: Warn if both konan.home and konan.version are used
The gradle plugin ignores the `konan.version` property if the
`konan.home` one is set. This patch prints warning in such cases.
2017-09-25 11:31:46 +03:00
Ilya Matveev 4418eb4eba gradle-plugin: Rerun tasks if konan.home property is changes
#KT-20193 Fixed
2017-09-25 11:31:46 +03:00
Ilya Matveev c37e650da2 dependencies: Don't retry downloading in case of bad HTTP response
#KT-20194 Fixed
2017-09-25 11:31:46 +03:00
Ilya Matveev 2f4163ece6 unit-tests: Fix filenames for Windows 2017-09-25 11:31:22 +03:00
Ilya Matveev 6db5bbb4f0 unit-tests: Disable tests for unit tests support on wasm32 2017-09-25 11:31:22 +03:00
Ilya Matveev 4c3016d21b unit-tests: Minor fixes before review 2017-09-25 11:31:22 +03:00
Ilya Matveev 2d757c4150 unit-tests: Add assertion and annotation tests 2017-09-25 11:31:22 +03:00
Ilya Matveev 2365df60bb unit-tests: Return -1 as an exit code if tests failed 2017-09-25 11:31:22 +03:00
Ilya Matveev 1e5a27505a unit-tests: Support Ignore annotation 2017-09-25 11:31:22 +03:00
Ilya Matveev 6440e6694d unit-tests: Rename annotations After/Before -> AfterEach/BeforeEach 2017-09-25 11:31:22 +03:00
Ilya Matveev 345e3570cc unit-tests: Support tests in objects 2017-09-25 11:31:22 +03:00
Ilya Matveev 02fb8d3eb1 unit-tests: Assert library 2017-09-25 11:31:22 +03:00
Ilya Matveev 74fdfa17f0 unit-tests: Support for companion object tests 2017-09-25 11:31:22 +03:00
Ilya Matveev f1c59707dd unit-tests: Top level test support 2017-09-25 11:31:22 +03:00
Ilya Matveev 45992a2b75 unit-tests: Simple support for test classes 2017-09-25 11:31:22 +03:00
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