Commit Graph

1888 Commits

Author SHA1 Message Date
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
Svyatoslav Scherbina c9d8d4d57d Implement CValuesRef in interop
* Represent pointer parameters of C functions as `CValuesRef`.
* Represent struct value parameters as `CValue`.
* Implement some helper methods to make the new approach more useful.
* Migrate some code to new interop approach for pointers and values.

Also do not map to `String?`:
- pointers to 8-bit integers;
- pointers to non-const chars.
2017-03-20 15:52:23 +07:00
Nikolay Igotti 7a876a3ccd Provide entry point customization (#352) 2017-03-17 17:40:24 +03:00
Svyatoslav Scherbina 47dfe122fc Handle String constructor call in code generator 2017-03-17 21:05:24 +07:00
Svyatoslav Scherbina bb1c52c23b Fix launcher for external box tests with one-letter package 2017-03-17 20:08:36 +07:00
Konstantin Anisimov 864bd9a212 Support cast type operations in inline 2017-03-17 19:29:35 +07:00
Konstantin Anisimov ba8621389e Output formatting 2017-03-17 19:29:35 +07:00
Konstantin Anisimov bf9cd488ef Turn inlining in inline functions on 2017-03-17 19:29:35 +07:00
Konstantin Anisimov 449b4cd4b1 Minor test improvement 2017-03-17 19:29:35 +07:00
Nikolay Igotti a2e8c7f638 Do not fail if locale is not supported 2017-03-16 18:02:55 +03:00
Konstantin Anisimov 384e895f70 Variable substitution leads to necessity to create new SetVariable expressions 2017-03-16 19:29:10 +07:00
Konstantin Anisimov 0ba37d9ac0 getArguments now work with original descriptor
Extension receiver is included in parameter -> argument substitution for lambda
2017-03-16 19:29:10 +07:00
Nikolay Igotti 1e5d34bc85 Provide nicer Tetris build env (#350) 2017-03-16 11:58:04 +03:00
Alexander Gorshenev a0fe8b8be8 Removed a parasitic println. 2017-03-16 01:55:57 +04:00
Alexander Gorshenev afdcca86c0 Allow ios and ios-sim targets. 2017-03-16 01:55:36 +04:00
Alexander Gorshenev a7677e2a8b Renamed interop 'target' to 'flavour'. 2017-03-16 01:55:36 +04:00
Nikolay Igotti 7279873bb4 Fix build of interop tests. 2017-03-15 19:19:16 +03:00
Igor Chevdar 6cb0f5ad41 Merge pull request #343 from JetBrains/tetris
Tetris
2017-03-15 11:54:13 -04:00
Igor Chevdar 151bb6793d Review fix 2017-03-15 18:53:06 +03:00
Igor Chevdar 9e8897fdb3 Added reaction to closing the window 2017-03-15 18:53:06 +03:00
Igor Chevdar 97f7a55111 Refactoring 2017-03-15 18:53:06 +03:00