Commit Graph

1877 Commits

Author SHA1 Message Date
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
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