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
Michael Bogdanov
f5166b7aef
Support test directives in inline tests
2016-04-04 12:07:46 +03:00
Dmitry Petrov
db58ebc4b2
KT-11410: Class hierarchy for parts/facade of multi-file class.
...
Preserve static initialization semantics for parts by introducing a special "clinit trigger" class.
Insert "static initialization trigger" call to every method of a part class, remove this call on inline.
Always mangle names for private functions in multifile class parts to avoid resolution clashes on inheritance.
NB in codegen tests initializers for all non-const vals are wrapped in 'run { ... }',
so that the initializer is not a constant expression, and some static initialization code should be generated.
2016-04-01 10:13:22 +03:00
Michael Bogdanov
d0aac74e72
Fix for KT-11590: IllegalAccessError: SAM adapter generated with invalid accessibility for inline function
...
#KT-11590 Fixed
2016-03-24 14:11:25 +01:00
Michael Bogdanov
00cb2705da
Add a test verifying anonymous object transform is performed correctly with ClassBuilder.
2016-03-21 18:37:28 +03:00
Michael Bogdanov
c3d450f050
Fix for KT-11479: 1.0.2 Snapshot: CompilationException: Back-end (JVM) Internal error: Couldn't inline method call
...
#KT-11479 Fixed
2016-03-18 15:43:18 +01:00
Michael Bogdanov
b95e27fd87
Fix for KT-11478: "Couldn't inline method call" error
...
#KT-11478 Fixed
2016-03-18 11:07:47 +01:00
Michael Bogdanov
bec6126b06
Support when mapping transformation on inlining
2016-03-14 11:24:39 +03:00
Alexander Udalov
2564a2f91f
Do not include kotlin-reflect at runtime by default in codegen tests
...
Change some tests to either include reflection or to avoid using it
2016-03-09 10:25:38 +03:00
Alexander Udalov
25cebe03e9
Fix inline codegen tests after regroup and rename
2016-02-27 15:40:06 +03:00
Alexander Udalov
f7958edf21
Improve test data format for SMAP codegen tests
...
Instead of comments in a Kotlin source file, add a .smap with the contents of
the source mapping data (and possible comments)
2016-02-27 15:40:06 +03:00
Alexander Udalov
cc84aabdcf
Migrate boxInline tests to new multi-file framework
2016-02-27 15:40:05 +03:00
Michael Bogdanov
b20f49a2c4
Default body compilation for inline fun extracted from InlineCodegen to separate one
2016-02-24 14:06:29 +03:00
Michael Bogdanov
1d17bee6cc
Don't generate source mapping on inlining 'InlineOnly' functions
2016-02-19 16:08:03 +03:00
Michael Bogdanov
405c21a17e
Fix for KT-11081: Reified type parameters are lost in anonymous object in inline function when using default value parameters
...
#KT-11081 Fixed
2016-02-19 14:22:29 +03:00
Michael Bogdanov
4f0f81155a
Weaken PRIVATE_CLASS_MEMBER_FROM_INLINE diagnostic
2016-02-12 17:24:30 +03:00
Michael Bogdanov
0f90dc1649
Code clean and some refactorings in 'getLambdaIfExistsAndMarkInstructions'
2016-02-09 10:19:16 +03:00
Michael Bogdanov
b8ee2ecdac
Support extension lambda inlining in complex stack cases (nullable receiver)
2016-02-09 10:19:15 +03:00
Michael Bogdanov
bc2077bfaf
More wise lambda search during inlining
2016-02-05 15:42:46 +03:00
Denis Zharkov
889b136a68
Refine multi-file facades generation
...
Do not generate delegation from multi-file facade to inline-only functions
because they are effectively private in bytecode
#KT-10858 Fixed
2016-02-05 15:02:24 +03:00
Michael Bogdanov
d1db404959
Error diagnostic for private classes in inline functions; Fix for KT-7545: IllegalAccessError when accessing private nested class through inlined function from different package
...
#KT-7545 Fixed
2016-02-03 10:32:41 +03:00
Michael Bogdanov
5f38c1d571
Fix for KT-10729: Accessing private const field in companion object from a function in the same companion generates run-time error
2016-02-01 18:42:19 +03:00
Denis Zharkov
505dc61611
Treat extension receiver as noinline parameter
...
#KT-9574 Fixed
2016-01-29 14:36:53 +03:00
Ilya Gorbunov
d49f5b95b0
Fix deprecations in testData
2016-01-27 19:05:19 +03:00
Ilya Gorbunov
4d5ec9be3f
Drop identityEquals from builtins, compiler and tests.
2016-01-22 05:54:38 +03:00
Ilya Gorbunov
25c4453dc5
Cleanup deprecated symbol usages in testData
2016-01-22 05:54:38 +03:00
Michael Bogdanov
bf16783fb7
Fix for KT-9591: Exception on inlining
...
#KT-9591 Fixed
2016-01-21 18:44:05 +03:00
Michael Bogdanov
23480a5698
Supported inline of array convention simple cases; Fix for KT-9211: M13 an extension function that is inline, and for get(v) causes an exception when called using brackets
...
#KT-9211 Fixed
2016-01-20 17:33:50 +03:00
Michael Bogdanov
7eec1d8e1d
Skip inline lambdas in 'InlineCallSite' parameter calculation; Fix for KT-10679: Wrong outer after inline
...
#KT-10679 Fixed
2016-01-15 18:24:33 +03:00
Michael Bogdanov
607f32615f
Type uncapturing
2016-01-14 15:32:50 +03:00
Denis Zharkov
b8c79e689b
Make all nested inlined closure classes public
...
#KT-6987 Fixed
2016-01-13 19:41:59 +03:00
Michael Bogdanov
66ab1c484c
StackOverflow fix on type remapping
2016-01-13 16:57:36 +03:00
Michael Bogdanov
657b9ff808
Write enclosing method info for transformed objects
2016-01-12 15:51:57 +03:00
Michael Bogdanov
fee6d4f282
Type parameters mapping
...
#KT-10429 Fixed
2016-01-12 15:51:56 +03:00
Michael Bogdanov
f870e365fa
Removed accessors for const properties
2015-12-25 11:28:10 +03:00
Michael Bogdanov
9cad1a912a
Choose proper context for accessor generation: skip inline ones; Fix for KT-6102: Bypass synthetic accessor when inlining lambda which calls private member
...
#KT-6102 Fixed
2015-12-17 09:51:41 +03:00
Michael Bogdanov
b950bf0e6e
Fix for KT-10259: Proguard can't find generated lambda class of lambda nested inside object?.let lambda
...
#Fixed KT-10259
2015-12-11 16:14:59 +03:00
Michael Bogdanov
4b8017e34b
Fix for KT-7999: Wrong result when use nullable types as reified parameter, KT-8043: Unsafe cast to reified parameter throws NPE instead of TypeCastException
...
#KT-7999 Fixed
#KT-8043 Fixed
~
2015-12-03 15:09:54 +03:00
Yan Zhulanow
9d1af5a17e
Fix tests: "infix modifier required" and "operator modifier required" errors
2015-11-27 15:51:11 +03:00
Yan Zhulanow
a3ff3ffc45
Fix tests: "Placing function type parameters after the function name" error
2015-11-27 15:51:11 +03:00
Natalia Ukhorskaya
cb80a3e83a
Write lineNumber for function literal with void return value
...
#KT-9865 Fixed
2015-11-26 11:39:18 +03:00
Michael Bogdanov
3da463be27
Fix for KT-10137: Internal error: couldn't inline method call on lambda taking extension function parameter
...
#KT-10137 Fixed
2015-11-24 16:32:06 +03:00
Michael Bogdanov
d4369c1df9
Keep inline transformation invariant: all captured parameters stored in topmost lambda/object
...
Fix for KT-8668: java.lang.ClassFormatError: Duplicate field name&signature (based on property access)
#KT-8668 Fixed
2015-11-24 16:32:05 +03:00
Mikhail Glukhikh
cd1b58f2eb
Final in interfaces: deprecation ---> error + relevant test fixes
2015-11-20 15:43:19 +03:00
Zalim Bashorov
28366a0bf4
Fix refer to classes from default package in SMAP
2015-11-11 22:59:05 +03:00
Michael Bogdanov
3651ec9294
Support access to protected members within inline functions
2015-11-11 14:34:48 +03:00
Michael Bogdanov
5a8ead0092
Fix for KT-8204: java.lang.VerifyError for super method invocation in inline function
...
#KT-8204 Fixed
2015-11-11 14:34:47 +03:00
Michael Bogdanov
0619ef47ac
Fix for KT-9877: CompilationError: Cannot pop operand of empty stack
...
#KT-9877 Fixed
2015-11-06 11:46:13 +03:00
Michael Bogdanov
f3092bf390
Fix for KT-9637: Runtime crash when using class literal in inline functions with reified type parameters
...
#KT-9637 Fixed
2015-10-30 09:39:10 +03:00
Michael Bogdanov
34fccc6dae
Fix for KT-6990: inline reified doesn't inline call in some cases
...
#KT-6990 Fixed
2015-10-30 09:39:09 +03:00