Commit Graph

5 Commits

Author SHA1 Message Date
Igor Chevdar 8a5659456c Fixes bug in local declarations lowering + test 2017-04-28 13:45:46 +03: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
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
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