Mikhael Bogdanov
6730fa2bbf
Support default inline lambda reification
2017-05-17 10:19:51 +02:00
Mikhael Bogdanov
309051bd21
Obtain reification marker on default lambda extraction.
...
Add reification tests.
2017-05-17 10:19:44 +02:00
Mikhael Bogdanov
3e50203283
Add source mapping tests for default lambda inlining
2017-05-17 10:19:42 +02:00
Mikhael Bogdanov
97bcf9f538
Add default lambda inlining prototype
2017-05-11 11:06:47 +02:00
Mikhael Bogdanov
84eeed51b1
Restore accidentally removed parameter index passing to call generator
...
Parameter index was removed in
7690a8bc3e commit:
"Get rid of redundant 'afterParameterPut' method from call generators"
#KT-17653 Fixed
2017-05-03 12:56:15 +02:00
Mikhael Bogdanov
a7c9e14805
Don't generate default arguments for inline call
2017-04-28 12:19:09 +02:00
Mikhael Bogdanov
02cc5f6bc1
Expand default parameters conditions on inlining default function
...
#KT-14564 Fixed
#KT-10848 Fixed
#KT-12497 Fixed
2017-04-28 12:19:07 +02:00
Dmitry Petrov
a39a0abb2a
Traverse store-load chains for POP instructions
...
POP instructions can be only live usages for functional parameters,
e.g., when corresponding invoke is in dead code (KT-17591).
2017-04-26 12:42:45 +03:00
Dmitry Petrov
996a08a3f7
Add tests with loop in store-load chains on noinline function parameters
2017-04-26 12:42:33 +03:00
Zalim Bashorov
c021af0fef
KJS: fix non-local return inside catch block
2017-04-19 20:20:21 +03:00
Mikhael Bogdanov
23698f93e0
Fix reification for crossinline lambdas inlined into object literal
...
Inline lambda could capture reified parameter of containing inline function ('a' function)
when it is inlined in another one.
If it's inlined in any anonymous object we should track it and
add reification marker to such anonymous object instance creation
to rewrite it on inlining bytecode of 'a' function.
#KT-15997 Fixed
2017-03-14 15:54:13 +01:00
Ilya Matveev
8a3fa2e4e5
Fix expected SMAPs after test muting for native
2017-03-10 19:59:37 +03:00
Ilya Matveev
a5e4e0284e
Mute some box tests for native backend
...
This patch mutes the following test categories:
* Tests with java dependencies (System class,
java stdlib, jvm-oriented annotations etc).
* Coroutines tests.
* Reflection tests.
* Tests with an inheritance from the standard
collections.
2017-03-10 19:59:37 +03:00
Mikhael Bogdanov
4d47c0fd63
Partial fix for KT-16193: Incremental compilation generates invalid bytecode for crossinlined functions; avoid IllegalAccessError
2017-03-01 14:45:11 +01:00
Mikhael Bogdanov
a8625b632d
Fix for KT-16411, KT-16412: Exception from compiler when try call SAM constructor where argument is callable reference to nested class inside object
...
#Fixed KT-16411
#Fixed KT-16412
2017-02-21 11:40:25 +01:00
Denis Zharkov
e16b0524b6
Fix inline codegen on local functions inside inlined lambda
...
The problem was that anonymous classes wasn't regenerated
although they capture another anonymous class that is a subject
for regeneration
#KT-8689 Fixed
2017-02-17 13:48:19 +03:00
Alexey Andreev
d35ddc1017
JS: unmute tests that now pass
2017-01-24 20:09:32 +03:00
Alexey Andreev
7a0f75f164
JS: refactor generation of callable references to functions
2017-01-24 20:09:29 +03:00
Anton Bannykh
07bb7ef4d3
JS: extension lambdas translated same as local lambdas (KT-13312 fixed)
2017-01-23 20:09:36 +03:00
Alexey Andreev
7d170c0fcd
JS: fix translation of reassignment of inline properties. See KT-15590
2017-01-12 18:12:38 +03:00
Mikhael Bogdanov
5071baf970
Support increment and '*=' operations on inline properties
2017-01-10 14:09:42 +01:00
Mikhael Bogdanov
dc4cdbf82d
Fix for KT-14162: Support @InlineOnly on inline properties
...
#KT-14162 Fixed
2017-01-10 14:09:41 +01:00
Mikhael Bogdanov
2566a7a25e
Rename receiver$0 in CallableReference to receiver
...
#KT-15449 Fixed
2016-12-29 16:57:02 +01:00
Mikhael Bogdanov
1040c97196
Fix for: KT-14011 Compiler crash when inlining: lateinit property allRecapturedParameters has not been initialized
...
#KT-14011 Fixed
2016-12-22 09:44:26 +01:00
Anton Bannykh
159df7964a
JS: bound callable references (KT-13573).
2016-11-28 16:33:58 +03:00
Anton Bannykh
68b35aa0ac
JS inliner: Don't treat 'bar' as unused in the presence of 'bar.call' expressions
2016-11-18 20:55:07 +03:00
Anton Bannykh
0dc9121a91
JS property accessors inlining (KT-13456)
2016-11-17 15:25:29 +03:00
Michael Bogdanov
fd6d4c352c
Special enum function support; Fix for KT-10569: Cannot iterate over values of an enum class when it is used as a generic parameter
...
#KT-10569 Fixed
2016-11-03 14:27:13 +03:00
Denis Zharkov
4793f71da2
Properly generate indices for destructured parameters in inline case
...
#KT-14399 Fixed
2016-10-19 16:05:50 +03:00
Michael Bogdanov
7230965e62
Support for property reference inlining
2016-09-07 12:01:49 +03:00
Michael Bogdanov
a12d7b6019
Check lambda inlining in package part files in test framework
2016-09-07 12:01:47 +03:00
Ilya Gorbunov
0ebfba7a1a
Test data: do not use exceptions from java.lang, as they are not available in JS
2016-08-17 12:40:50 +03:00
Michael Bogdanov
e0d525b72a
Support bound function reference inlining
2016-08-17 11:26:45 +03:00
Michael Bogdanov
7325baa06a
Fix for KT-13374: CompilationException: Inline function call with anonymous object implementing an interface by delegation
...
#KT-13374 Fixed
2016-08-16 10:47:01 +03:00
Michael Bogdanov
9b9abb2e10
Fix for KT-13182: Regression: compiler internal error at inline
...
#KT-13182 Fixed
2016-07-26 16:16:37 +03:00
Michael Bogdanov
99cdc41ab6
Fix for KT-13133: Incorrect InnerClasses attribute value for anonymous object copied from an inline function
...
#KT-13133 Fixed
2016-07-26 16:16:36 +03:00
Michael Bogdanov
23a0e19620
Fix for KT-13040: Invalid bytecode generated for extension lambda invocation with safe call
...
#KT-13040 Fixed
2016-07-09 14:55:49 +03:00
Michael Bogdanov
249be0a142
Small changes in tests to support them on Android
2016-06-28 10:12:15 +03:00
Michael Bogdanov
abc7d5101d
Fix for KT-12106: import static of reified companion object method throws IllegalAccessError
...
#KT-12106 Fixed
2016-06-27 12:31:31 +03:00
Mikhael Bogdanov
7baf70e8fa
Support reified extension properties
2016-06-24 17:05:51 +03:00
Mikhael Bogdanov
5a2e00d2ad
Base support of StackValue.Property inlining
2016-06-24 17:05:50 +03:00
Mikhael Bogdanov
6ece2b41d6
Box inline test for local delegated property
2016-05-13 19:11:23 +03:00
Michael Bogdanov
e2ae2f313c
Support test with self imports, kotlin multifile tests
2016-04-29 16:33:04 +03:00
Michael Bogdanov
68f5e4d10e
Added debug strata to test data
2016-04-20 17:07:14 +03:00
Michael Bogdanov
0a46cea799
TODO: optimize smap - do preproccessing
2016-04-20 17:07:10 +03:00
Michael Bogdanov
ff820bddc0
New source mapping
2016-04-20 17:07:06 +03:00
Dmitry Petrov
aca7050656
KT-11499 Normalize stacks on return from an inline function when the function is inlined at call site.
2016-04-08 14:52:55 +03:00
Alexey Andreev
05887f45f7
KT-7819 Implement non-local returns
2016-04-06 16:16:55 +03:00
Alexey Andreev
a6e1bd1d89
KT-7819 Borrow tests for non-local returns from JVM backend
2016-04-06 16:16:55 +03:00
Michael Bogdanov
e0adfd453f
Fix for KT-11677: Generic type signatures for local classes in inlined lambdas are not written properly
...
#KT-11677 Fixed
2016-04-04 12:07:47 +03:00