Commit Graph

34727 Commits

Author SHA1 Message Date
Michael Bogdanov 3fe84bba6c Initial IMPLICIT_NOT_NULL support 2016-10-18 09:10:04 +03:00
Michael Bogdanov 03ebf06cf8 Proper type for default parameters 2016-10-18 09:10:03 +03:00
Michael Bogdanov e40c434c57 Write inner class attributes 2016-10-18 09:10:03 +03:00
Michael Bogdanov 0b45655b7b Support exhaustive when 2016-10-18 09:10:02 +03:00
Michael Bogdanov a0d9d24c1f Introduced IrElseBranch 2016-10-18 09:10:01 +03:00
Michael Bogdanov 26b2a069fd Initial KClassJavaProperty support 2016-10-18 09:10:01 +03:00
Michael Bogdanov 607cf4c86d Support Nothing return type 2016-10-18 09:10:00 +03:00
Michael Bogdanov 24863a84c4 Return only onStack/none stackValues in results 2016-10-18 09:10:00 +03:00
Dmitry Petrov a51efaacc9 Introduce IrGetValue as a replacement for IrThisReference / IrGetExtensionReceiver / IrGetVariable. 2016-10-18 09:09:59 +03:00
Dmitry Petrov 8efe326904 Introduce ValueDescriptor as a common super-interface
of ParameterDescriptor and VariableDescriptor.
2016-10-18 09:09:59 +03:00
Dmitry Petrov b6c63a7823 Ignore type aliases in code generation. 2016-10-18 09:09:58 +03:00
Dmitry Petrov 2ead71ff86 Enum class is 'abstract' if it contains abstract members. 2016-10-18 09:09:58 +03:00
Michael Bogdanov 3a9f1e267b Anonymous object support 2016-10-18 09:09:57 +03:00
Michael Bogdanov 567b174e15 Funther default impl support 2016-10-18 09:09:57 +03:00
Dmitry Petrov 608d6a37d2 Some enum-related fixes
(NB: testEnumClass3 doesn't work yet, effective modality required for enum class)
2016-10-18 09:09:57 +03:00
Dmitry Petrov de2bef910b Assertion error on singleton values in ExpressionCodegen. 2016-10-18 09:09:56 +03:00
Dmitry Petrov f423369327 Objects (singletons) lowering. 2016-10-18 09:09:56 +03:00
Michael Bogdanov 866def0d20 Intrinsic fixes 2016-10-18 09:09:55 +03:00
Dmitry Petrov fc754e533d Enum classes lowering. 2016-10-18 09:09:55 +03:00
Michael Bogdanov af76840826 Support some new intrinsics 2016-10-18 09:09:54 +03:00
Michael Bogdanov 1cda60fcd1 Cast return expression to function return type 2016-10-18 09:09:54 +03:00
Michael Bogdanov f30027b4de Generate ir-accessors for interface properties 2016-10-18 09:09:53 +03:00
Michael Bogdanov 011ed60eee Support default impls 2016-10-18 09:09:53 +03:00
Dmitry Petrov 7950235df3 Lowering for constructors & initializers. 2016-10-18 09:09:52 +03:00
Michael Bogdanov 6d575c1437 'Throw' support 2016-10-18 09:09:52 +03:00
Michael Bogdanov a721876b67 Implicit cast support 2016-10-18 09:09:51 +03:00
Mikhail Glukhikh 9609c8af90 IR CFG: IrStatement is now used for CFG representation instead of IrElement 2016-10-18 09:09:51 +03:00
Mikhail Glukhikh 07eae1d206 IR to CFG: type operator unrolling 2016-10-18 09:09:50 +03:00
Mikhail Glukhikh ea13386d0b IR to CFG: member access unrolling 2016-10-18 09:09:50 +03:00
Mikhail Glukhikh 5a04c72e75 Break / continue implementation, test with break / continue, related changes in loop & loop tests 2016-10-18 09:09:49 +03:00
Mikhail Glukhikh e03e13af43 Do..while loop implementation and first test 2016-10-18 09:09:49 +03:00
Mikhail Glukhikh bcf2b410ba While loop implementation && first loop test 2016-10-18 09:09:48 +03:00
Mikhail Glukhikh 979f2231a1 IR to CFG: when implementation in function generator, some when tests 2016-10-18 09:09:48 +03:00
Mikhail Glukhikh eaf10a4675 IR to CFG test generator, sequential function tests 2016-10-18 09:09:47 +03:00
Mikhail Glukhikh 65db7aa1ba CFG renderer 2016-10-18 09:09:47 +03:00
Mikhail Glukhikh bab0abeee6 IR to CFG: function generator (initial version) 2016-10-18 09:09:47 +03:00
Mikhail Glukhikh ae96afb1dc CFG: function builder 2016-10-18 09:09:46 +03:00
Mikhail Glukhikh 59cdcdba28 CFG: interfaces implementation and builders 2016-10-18 09:09:46 +03:00
Mikhail Glukhikh db810e55d3 Basic CFG interfaces 2016-10-18 09:09:45 +03:00
Mikhail Glukhikh 779d4f7f3e Module compiler/ir/ir2cfg added 2016-10-18 09:09:45 +03:00
Dmitry Petrov 45c999788a Deep copy for IR elements.
NB: we can transform descriptors during copying.
2016-10-18 09:09:44 +03:00
Michael Bogdanov 31d971a302 Get rid of impl classes 2016-10-18 09:09:44 +03:00
Michael Bogdanov bdecffa1e1 Support singleton access 2016-10-18 09:09:43 +03:00
Michael Bogdanov 58ba5ed37b Default args support 2016-10-18 09:09:43 +03:00
Michael Bogdanov bf822daa3b INSTANCEOF support 2016-10-18 09:09:42 +03:00
Michael Bogdanov 869f60a053 When and safe cast support 2016-10-18 09:09:42 +03:00
Michael Bogdanov c34d140a53 Intrinsics update 2016-10-18 09:09:41 +03:00
Dmitry Petrov e8c7c821a7 FileClassDescriptor should provide all information required for TypeMapper. 2016-10-18 09:09:41 +03:00
Dmitry Petrov ce8bdef746 Minor: rename. 2016-10-18 09:09:40 +03:00
Dmitry Petrov d66d582f25 Update to origin/master.
IrReturn should return 'Unit' for "return without value".
2016-10-18 09:09:40 +03:00