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
Alexander Udalov
fa1f7d988e
Get rid of CompileKotlinAgainstMultifileKotlinTestGenerated and boxMultifileClasses/
...
Merge tests in boxMultifileClasses/calls to one test case; copy the two
resulting tests (+ change box to main) to compileKotlinAgainstKotlin
2016-02-27 15:40:05 +03:00
Alexander Udalov
e0b6f12737
Migrate boxMultiFile and boxMultifileClass tests to new multi-file tests
...
AbstractCompileKotlinAgainstMultifileKotlinTest is broken in this commit; will
be fixed later
2016-02-27 15:40:03 +03:00
Alexander Udalov
1be6046fc2
Minor refactorings in legacy codegen tests
...
Use loadFile() + getPrefix() instead of loadFile(String)
2016-02-27 15:40:00 +03:00
Denis Zharkov
4c88e2a0bc
Use original descriptor when mapping fake override
...
Otherwise wrong CONFLICTING_INHERITED_JVM_DECLARATIONS were reported
#KT-10691 Fixed
2016-02-25 11:10:48 +03:00
Michael Bogdanov
582b1c5e66
Fix for KT-11163: Incorrect codegen in case of custom compareTo on primitives
...
#KT-11163 Fixed
2016-02-25 10:16:09 +03:00
Denis Zharkov
36e84ff23a
Minor. Add tests for obsolete issues
...
#KT-8900 Obsolete
#KT-8901 Obsolete
2016-02-25 08:31:58 +03:00
Denis Zharkov
914447b7eb
Do not treat uninitialized value as a reason to retain boxing
...
See testData/simpleUnitializedMerge.kt
On exit from `if` we merge value in variable with slot 1 (x):
- from `if` body we get BoxedBasicValue
- from outer block we get UNITIALIZED_VALUE
So we just suppose `x` is unitialized after `if`
and there's no need to mark BoxedValue as unsafe to remove
because it's anyway can't be used after `if`
#KT-6842 Fixed
2016-02-25 08:31:19 +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
Alexander Udalov
c71c344b8a
Fix NCDFE on primitive iterators during boxing optimization
...
The real fix is in ProgressionIteratorBasicValue's constructor, other changes
are refactorings
#KT-11153 Fixed
2016-02-22 19:49:39 +03:00
Alexey Andreev
a4db14eff5
[KT-4124] Add tests for qualified labeled super access to functions and properties
2016-02-20 15:19:31 +03:00
Alexey Andreev
9238afc439
[KT-4124] Fix some tests from common testData
2016-02-20 15:19:29 +03:00
Alexey Andreev
c705fafc95
[KT-4124] Add support for super<T>@Outer.functionName() case
2016-02-20 15:19:25 +03:00
Alexey Andreev
20b3361edc
[KT-4124] Fix test compatibility between JS and Java backed for several tests
2016-02-20 15:19:24 +03:00
Alexander Udalov
1b8f934b54
Delete deprecated enum 'values' property
2016-02-19 22:28:44 +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
Alexander Udalov
36de3008e3
Fix visibility flags for lambda classes in InnerClasses attribute
2016-02-19 12:52:40 +03:00
Michael Bogdanov
0283fea835
Optimize recursive string concatenation
2016-02-17 16:53:19 +03:00
Michael Bogdanov
8835b0599a
Inline preevaluated string and primitive only constants in compilation time, don't inline const references in non-annotation context, fix for KT-11025: Don't inline const val in compare instuctions
...
#KT-11025 Fixed
2016-02-17 16:53:18 +03:00
Michael Bogdanov
af3437626b
Properly calculate isConst for java properties
2016-02-17 16:53:17 +03:00
Michael Bogdanov
4f0f81155a
Weaken PRIVATE_CLASS_MEMBER_FROM_INLINE diagnostic
2016-02-12 17:24:30 +03:00
Michael Bogdanov
384d2ea0d1
Use bipush, sipush for byte and short constants
2016-02-12 11:55:21 +03:00
Anton Sukhonosenko
0073257841
Fix for KT-10313: ClassCastException with Generics
...
#KT-10313 Fixed
2016-02-12 10:53:28 +03:00
Denis Zharkov
12552d2fc1
Refine special bridges generation
...
#KT-10958 Fixed
2016-02-10 20:18:46 +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
Stanislav Erokhin
434bd0707d
Correcting rewrite type info after compete call.
...
#KT-10934 Fixed
#KT-10896 Fixed
2016-02-08 20:49:31 +03:00
Ilya Gorbunov
5361f6e941
Make Throwable properties message and cause open.
...
#KT-5587 Fixed
2016-02-08 18:10:46 +03:00
Denis Zharkov
c879f83037
Fix primitive types mapping
...
Use boxed version if type was enhaced to not-nullable
2016-02-08 16:40:47 +03:00
Michael Bogdanov
848549dd5d
Rollback "Fix for KT-10659: Debugger: Evaluate Expression and Watches fail for inline function parameter passed by reference"
2016-02-08 16:43:22 +03:00
Alexander Udalov
9f786c00a7
Fix test data after removing old annotation classes
2016-02-07 10:03:19 +05:30
Alexander Udalov
5de1cf3bb4
Do not write old metadata annotations to bytecode
2016-02-06 15:53:55 +05:30
Denis Zharkov
0efe28a12a
Do not inline non-const vals
...
#KT-10425 Fixed
2016-02-05 17:43:55 +03:00
Michael Bogdanov
bc2077bfaf
More wise lambda search during inlining
2016-02-05 15:42:46 +03:00
Denis Zharkov
16f412f993
Generate multi-files facade even if it's empty
...
It still contains useful information about it's parts,
that may be used while building stubs for multi-file group
containing only InlineOnly functions
2016-02-05 15:02:24 +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
Dmitry Petrov
bad8320038
Fix for KT-10881 Declaring constant in a mutlifile class causes an IllegalAccessError on its usage.
...
Generate fields for 'const' properties in facade class.
NB reading annotations for 'const' vals in multifile class doesn't work, KT-10892.
2016-02-02 15:06:21 +03:00
Mikhail Glukhikh
7e528da00a
Regression codegen test #KT-8344 Obsolete
2016-02-02 12:43:52 +03:00
Ilya Gorbunov
801a26a544
Fix testData
2016-02-01 22:20:30 +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
Michael Bogdanov
328b9bfeda
Removed old default generation
2016-02-01 18:32:12 +03:00
Mikhail Glukhikh
84100abd9e
Annotations on object literals are now correctly resolved #KT-9320 Fixed
2016-02-01 16:24:57 +03:00
Dmitry Petrov
b3f390abe5
Fix KT-10775 Empty when causes compilation exception.
...
Expression type for an empty 'when' is 'kotlin.Unit'.
2016-01-29 18:50:48 +03:00
Denis Zharkov
505dc61611
Treat extension receiver as noinline parameter
...
#KT-9574 Fixed
2016-01-29 14:36:53 +03:00
Denis Zharkov
36f21932bb
Approximate captured type before mapping
...
#KT-7415 Fixed
2016-01-29 14:36:53 +03:00
Michael Bogdanov
e1fa6491c1
Test for obsolete KT-10044: "Don't know how to generate outer expression for class" with lambda in init block
...
#KT-10044 Obsolete
2016-01-29 12:42:37 +03:00