Commit Graph

1908 Commits

Author SHA1 Message Date
Konstantin Anisimov 4cb4615e7c Do not evaluate Block argument 2017-03-24 19:46:37 +07:00
Konstantin Anisimov c278853f10 Bug fix for crash connected with "value-parameters" 2017-03-24 19:46:37 +07:00
Ilya Matveev 74116e7aed Add scripts for running with already downloaded dependecies
This patch adds 2 scipts in run-debug directory which execute
dist/bin/konanc and dist/bin/interop with
'-Dkonan.dependencies=dependencies/all' additional argument.

It allows us to run compiler and stub generator avoiding first run
dependecy download.
2017-03-24 19:31:23 +07:00
Ilya Matveev 8df9b535f2 tools: Don't use tar to unpack dependencies 2017-03-24 19:31:23 +07:00
Ilya Matveev 798687e680 tools: Report dependency downloading progress 2017-03-24 19:31:23 +07:00
Ilya Matveev fbc14becfc tools: Add dependecy download helpers
This patch adds 2 helpers to download dependencies for compiler and
stub generator during their execution.

They take list of external dependencies as a parameter and directory
where they must be located. Helpers check if these dependencies exist
in the given directory and download not existing ones.
2017-03-24 19:31:23 +07:00
Ilya Matveev 4a716fbf30 backend: Use konan.dependencies property to set dependencies dir
This patch set default dependencies directory to ${konan.home}/
dependencies and allows one to override this setting using
konan.dependencies system property.
2017-03-24 19:31:23 +07:00
Alexander Gorshenev 52a245bb10 Added platform name to tgz. 2017-03-24 13:52:58 +04:00
Alexander Gorshenev 5b653f9579 Added samples to tgz bundle.
Rename dist to kotlin-native in tgz bundle.
2017-03-24 13:52:58 +04:00
Svyatoslav Scherbina 7487364bcd Improve name clash resolution in interop stub generation
* Handle more keywords.
* Handle more identifier usages.
* Use backticks to escape identifiers that clash with keywords.
2017-03-24 07:00:03 +03:00
Alexander Gorshenev ff8acd21e6 This is initial implementation of serializer/deserializer for inline IR bodies.
The deserialization is disabled by default.

Use `-enable deserializer` to enable it.
Use `-verbose deserializer` to watch it crunch.
2017-03-24 01:03:59 +04:00
Nikolay Igotti 4a4225fd72 Fix char index search 2017-03-23 18:38:25 +03:00
Nikolay Igotti c55d0cd674 Simple CSV parser (#383) 2017-03-23 17:15:39 +03:00
Nikolay Igotti afcce921f2 Fix typo in string search 2017-03-23 17:04:18 +03:00
Konstantin Anisimov 78d2186f97 Typo fixed 2017-03-23 20:26:24 +07:00
Konstantin Anisimov 8661baabad Bug fix in recursive lambda inlining 2017-03-23 20:26:24 +07:00
Konstantin Anisimov 414a481fe3 If property initializer is inlined, we do not have proper outer scope to evaluate it 2017-03-23 20:26:24 +07:00
Nikolay Igotti b5c60e3082 Support data parsing operations (#380) 2017-03-23 12:54:24 +03:00
Igor Chevdar 8afa12684e Implemented StringBuilder.deleteCharAt 2017-03-22 22:25:24 +03:00
Igor Chevdar fc9638dbd4 Added ranges from Kotlin 1.1 2017-03-22 22:24:40 +03:00
Svyatoslav Scherbina 8ec4cb48f9 Rework primitive types handling in interop stub generation
Use libclang API to get correct size and spelling.
This should improve support for e.g. 32-bit platforms.
2017-03-22 20:45:08 +07:00
Svyatoslav Scherbina d6ba399e1e Refactor Pointer*Type in interop stub generation
All types should have correct `equals`/`hashCode` implementation.

Also update Indexer prebuilts.
2017-03-22 20:45:08 +07:00
Alexander Gorshenev f402b3e180 Tell lto to preserve Konan_main, rather than main. 2017-03-22 17:00:11 +04:00
Alexander Gorshenev 2071414079 Split LINK_STAGE phase into OBJECT_FILES and LINKER sub-phases,
to be able to measure lcc/lto time separately from ld time.
2017-03-22 16:53:15 +04:00
Nikolay Igotti e197573e3e Raspberry Pi target (#365) 2017-03-22 15:43:19 +03:00
Konstantin Anisimov bfc4e1106a Noinline support
Bug fix
2017-03-22 19:22:59 +07:00
Konstantin Anisimov 26f4271906 Type propagation on call sites 2017-03-22 19:22:59 +07:00
Alexander Gorshenev c06eeb096a Removed -compile_as_stdlib mode, as it is not needed anymore.
Moved "compiler hacker" options to use double dash. Like "--verbose linker".
2017-03-22 16:16:50 +04:00
Alexander Gorshenev 3189d1d8bc Two aliases for konanc: kotlinc, kotlinc-native. 2017-03-22 16:15:54 +04:00
Alexander Gorshenev 1942b0eb04 Produce .tgz on './gradlew bundle'. 2017-03-22 16:15:54 +04:00
Igor Chevdar dc5edfeda3 Fixed type of callable reference to property with private setter
The actual type of callable reference is presented in IR, take it
from there.
2017-03-22 13:15:45 +03:00
Igor Chevdar e133e3379b Added COMPILER_OPTS to build script
Option -nomain is needed only for iphone target.
2017-03-22 12:43:22 +03:00
Igor Chevdar 1577938f53 Added assertion 2017-03-21 19:47:41 +03:00
Igor Chevdar a1061246c9 Added tests on lateinit properties 2017-03-21 19:47:41 +03:00
Igor Chevdar 55d3b23cfe Implemented 'lateinit' properties
If property is lateinit, then on each access we need to test its value
and throw UninitializedPropertyAccessException if it is null.
2017-03-21 19:47:41 +03:00
Igor Chevdar e170edac17 Added option to build script for tetris 2017-03-21 17:24:55 +03:00
Alexander Gorshenev 2d0aa9dcbb Introduced -nomain flag to disable generation of main(),
in assumption that it is provided by one of the libraries.
2017-03-21 18:05:03 +04:00
Svyatoslav Scherbina b5441f7470 Exclude _cvtsh_ss when interoping with SDL2
This function requires some target features to be enabled.
2017-03-21 20:33:03 +07:00
Svyatoslav Scherbina 49f1873efd Generate C interop adapters for functions defined in headers 2017-03-21 20:33:03 +07:00
Konstantin Anisimov edd8489f6b Evaluation of lambda arguments
DeepCopyIrTree with IrInlineFunctionBody support
2017-03-21 19:23:35 +07:00
Igor Chevdar 1be913de63 Review fixes 2017-03-21 14:04:30 +03:00
Igor Chevdar 02878f14c0 Fixes in build scripts & tools.
Tetris: fixes for full screen mode.
2017-03-21 14:04:30 +03:00
Igor Chevdar c8493eb2a9 Added panel to control tetris with mouse 2017-03-21 14:04:30 +03:00
Nikolay Igotti 73b1b18036 Provide entry point customization 2017-03-21 14:04:30 +03:00
Nikolay Igotti c6845cf929 Implement on-load helper (#364) 2017-03-21 11:44:34 +03:00
Nikolay Igotti a15be29519 More of stdlib (#363) 2017-03-21 09:36:11 +03:00
Igor Chevdar 3820ea0724 Fix in handling of nested vararg parameters 2017-03-20 19:18:03 +03:00
Igor Chevdar 9c180ff4e1 Implemented equals(), hashCode(), toString() for K*Property<> 2017-03-20 16:21:58 +03:00
Igor Chevdar 3d233db3b0 Removed creation of descriptors for Enum.valueOf() & values()
Those descriptors are already presented in enum's declaration and
are perfectly fine. We just need to replace their synthetic bodies
with real implementations.
2017-03-20 12:52:05 +03:00
Nikolay Igotti 80041e6559 Sequences support improved (#358) 2017-03-20 11:52:52 +03:00