Commit Graph

6 Commits

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