Commit Graph

2974 Commits

Author SHA1 Message Date
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
Igor Chevdar 3cf844d589 Simplified user input handling 2017-03-15 18:53:05 +03:00
Igor Chevdar d21d444f58 Hack for flags enums.
refactoring

Made non-virtual function.

Refactoring

Rebase fixes

Revert "Made non-virtual function."

This reverts commit d7bfaa5bd970864f57daf18e46741ca72c5d4fe4.

Reverted hack
2017-03-15 18:52:51 +03:00
Igor Chevdar c437f715c4 Tetris 2017-03-15 18:49:53 +03:00
Nikolay Igotti f3794aa206 Improve interop user experience and docs (#342) 2017-03-15 17:25:10 +03:00
Nikolay Igotti e67d9d4065 Remove Cloneable interface (#347) 2017-03-15 16:20:50 +03:00
Konstantin Anisimov 0a39e3c297 ILogging removed 2017-03-15 20:11:27 +07:00
Konstantin Anisimov 13c1198493 Logging removed 2017-03-15 20:11:27 +07:00
Konstantin Anisimov f352c145fd Turn on disabled inlining tests 2017-03-15 20:11:27 +07:00
Konstantin Anisimov 98322d6f55 All arguments evaluated before inlining procedure
Type of "substituteMap" changed to "MutableMap"
Code improved according with Slava's comments
2017-03-15 20:11:27 +07:00
Konstantin Anisimov 22b74c0a3a New tests added 2017-03-15 20:11:27 +07:00
Konstantin Anisimov 39f002db81 Combine parameter evaluation with parameter transformer 2017-03-15 20:11:27 +07:00
Konstantin Anisimov 3ebcf92f8b Intermediate results commit 2017-03-15 20:11:27 +07:00
Konstantin Anisimov 8d62ed20ea Workaround for reified args in "genInstanceOf". Will be replaced with "throw exception" 2017-03-15 20:11:27 +07:00
Konstantin Anisimov 023e0c1c70 Remove dead code from test 2017-03-15 20:11:27 +07:00