Commit Graph

121 Commits

Author SHA1 Message Date
Igor Chevdar 6116f24abc Added test on callable reference to property 2017-05-24 13:56:08 +03:00
Igor Chevdar 8a789a9ac4 Added test on function overriding return type with Unit 2017-05-16 16:30:29 +03:00
Igor Chevdar 39d1b8956d Test on abstract bridge 2017-05-10 15:44:22 +03:00
Igor Chevdar e600c93dfa Enabled tests with finally blocks on coroutines + added tests 2017-05-04 20:44:36 +05:00
Svyatoslav Scherbina c222eb8f04 Fix conversion between P1.(...)->R and (P1, ...)->R when inlining 2017-05-02 22:18:18 +03:00
Svyatoslav Scherbina a8ab837035 Add failing test 'inline24' 2017-05-02 22:18:18 +03:00
Igor Chevdar 6aa3493de2 Added some tests on coroutines 2017-04-28 13:45:46 +03:00
Igor Chevdar 8a5659456c Fixes bug in local declarations lowering + test 2017-04-28 13:45:46 +03:00
Igor Chevdar 8e38e28f89 Added tests 2017-03-29 15:58:36 +03:00
Igor Chevdar 00e452bcdf Added tests on link stage (disabled for now). 2017-03-27 12:41:58 +03:00
Igor Chevdar a1061246c9 Added tests on lateinit properties 2017-03-21 19:47:41 +03:00
Konstantin Anisimov 864bd9a212 Support cast type operations in inline 2017-03-17 19:29:35 +07:00
Konstantin Anisimov 449b4cd4b1 Minor test improvement 2017-03-17 19:29:35 +07:00
Konstantin Anisimov 22b74c0a3a New tests added 2017-03-15 20:11:27 +07:00
Konstantin Anisimov 023e0c1c70 Remove dead code from test 2017-03-15 20:11:27 +07:00
Svyatoslav Scherbina 62e678a37a backend/tests: add inline21 2017-03-10 18:08:47 +07:00
Igor Chevdar bc0772eab1 Test on link stage. 2017-03-07 20:02:20 +03:00
Igor Chevdar 1a8ce13067 Added tests 2017-03-07 18:35:36 +03:00
Igor Chevdar 8c1c9f5660 Turned off lowering of outer class for inner class constructors.
Constructors of inner classes already have access to their outer class
through its dispatch receiver parameter.
2017-03-06 21:08:56 +03:00
Igor Chevdar 0ff306ad3a Rewrote enum lowering to support usage from other modules.
- Split up enum lowering into two stages: descriptors creation and IR creation.
- Added link stage test.
- Enum.valueOf() uses binary search instead of linear.
2017-03-06 14:35:39 +03:00
Igor Chevdar bf65a78a93 Made bridge methods public.
Added test on usage of a bridge method from different module.
Bridge methods must be public in order use them from other modules.
2017-03-06 14:35:39 +03:00
Konstantin Anisimov c7e4f0f28f New tests added 2017-03-03 18:30:35 +07:00
Igor Chevdar e2f2e31dc1 Added delegated property through map support + tests. 2017-03-01 14:40:10 +03:00
Igor Chevdar 889b28ee87 Added link test, checking correct object field layout. 2017-03-01 14:40:10 +03:00
Igor Chevdar f534616e19 Added tests. 2017-03-01 14:40:10 +03:00
Svyatoslav Scherbina 925b1fb0b6 backend/tests: add tests for == with Nothing/Nothing? 2017-02-27 13:16:12 +07:00
Igor Chevdar 9165d65560 Added tests on interface calls of enum class 2017-02-22 15:37:10 +03:00
Igor Chevdar bb82109ded Added tests on class delegation 2017-02-22 15:35:48 +03:00
Igor Chevdar 4835aa3e74 Added tests on bridges 2017-02-22 15:35:13 +03:00
Konstantin Anisimov 3b5c16076e TESTS: New tests added 2017-02-21 16:12:52 +07:00
Ilya Matveev c68c4d3b6d backend: Use simple DFS during closure building.
Now closure builder can contain includes. Includes
are another builders which closures must be added
to the building one.
Includes are:

For function closure:
	call targets (including constructors)
	callable reference targets

For class:
	all children declarations
	call targets (including constructors)
        callable reference targets

For constructor:
	call and callable reference targets
	delegating constructor call target
	constructing class closure
2017-02-17 15:17:46 +03:00
Ilya Matveev 95a9f65afd backend/tests: Add tests for local function closures 2017-02-17 15:17:46 +03:00
Igor Chevdar c746da3ce4 Bridges (#240)
* - bridges building
- bridges support in vtable and methods table

* FunctionDescriptor.signature fix + some assertions

* tests

* refactoring

* refactoring

* removed debug output

* refactoring

* review fixes

* implemented bridge construction for parameters

* tests

* refactoring

* removed custom box/unbox

* added bridge for extension receiver
2017-02-16 15:26:57 +05:00
Konstantin Anisimov 76ebe9d870 TESTS: recursive inlining 2017-02-16 15:49:04 +07:00
Vasily Levchenko 6310ec80c3 TEST: added defaults9 test 2017-02-16 11:40:10 +03:00
Vasily Levchenko c395bc80a0 TEST: defaults7 test enabled and defaults4 was enabled 2017-02-15 14:48:28 +03:00
Igor Chevdar 5c8368847a Containing declaration elimination (#225)
* rewrote AbstractClosureAnnotator not using containingDeclaration

* bug fix

* bug fix

* review fixes + tests

* review fixes

* refactoring

* fix
2017-02-09 16:53:47 +05:00
Igor Chevdar a856e16d2f Local declarations and initializers fixes (#222)
* captured values are stored in corresponding fields before call to super constructor

* preserving the order of initializers

* tests

* refactoring

* - test fix
- workaround of IR bug

* refactoring

* review fix
2017-02-08 14:52:26 +05:00
KonstantinAnisimov dcb0a074da Merge branch 'master' into inline 2017-02-06 17:21:28 +07:00
Konstantin Anisimov 99ef87ec78 TESTS: new tests added 2017-02-06 16:45:14 +07:00
Konstantin Anisimov 6a1745e8ac TESTS: new inline tests added 2017-02-06 16:44:53 +07:00
Igor Chevdar 2f9bde4482 Local objects (#215)
* bug fix

* bug fix with nested inner classes

* - fixed FixMeInner
- support of inner classes in local classes
- support of object expressions in initializers

* comments

* merged modification

* - review fixes
- tests

* review fixes

* review fixes
2017-02-03 19:41:34 +05:00
Konstantin Anisimov 4be3649daf Merge 2017-02-02 17:11:57 +07:00
Konstantin Anisimov e0a3c4ad4c TESTS 2017-02-02 16:34:26 +07:00
Igor Chevdar 4911f78200 Inner classes (#207)
* Inner classes lowering

* cmd line fix

* tests

* * reverted adding parameter to inner classes constructors
* variables are identified by their descriptors

* review fixes
2017-01-31 15:36:21 +05:00
Konstantin Anisimov e10d9b62e2 TESTS: new tests added 2017-01-31 16:01:46 +07:00
Igor Chevdar 01cb9d4cac Implementation of super methods calling (#203)
* implemented super call

* tests

* removed redundant code
2017-01-27 16:38:48 +05:00
Svyatoslav Scherbina cf946a7676 backend/tests: update and disable 'defaults4' 2017-01-26 13:53:40 +07:00
Nikolay Igotti c6a4ec2ff4 Add enumeration support. (#128)
* Add enumeration support.

* Enum classes lowering.

* merge fix

* merge fix

* used arrayOf from irModule

* changed lowering quant from body to file

* refactoring

* review fixes

* lowering for GET_OBJECT in enums

* enabled tests

* added tests

* moved tests to separate dir

* renamed test files

* moved phase up

* review fixes

* reformat
2017-01-25 14:39:36 +05:00
Konstantin Anisimov 88d830e5b7 TESTS: new test added 2017-01-24 15:43:36 +07:00