Evgeny Gerashchenko
f35390134f
Supported SAM adapters in "in/!in" operators.
2013-06-27 17:09:16 +04:00
Evgeny Gerashchenko
0059db486f
Supported SAM adapters in augmented assignment operators.
2013-06-27 17:09:16 +04:00
Evgeny Gerashchenko
036960f117
Supported SAM adapters as plus/minus/etc operators.
2013-06-27 17:09:16 +04:00
Evgeny Gerashchenko
b1fb0aafea
Supported SAM adapters as get/set operators.
2013-06-27 17:09:16 +04:00
Mikhael Bogdanov
8cd1880805
KT-3722: Write correct generic type information for generated fields
...
#KT-3722 Fixed
2013-06-27 15:59:48 +04:00
Evgeny Gerashchenko
f2458f62c2
Prioritized super constructor calls.
2013-06-26 21:04:11 +04:00
Evgeny Gerashchenko
b4ce39aeb1
Test with calling abstract wrapper which is implemented in Kotlin.
2013-06-25 20:17:46 +04:00
Evgeny Gerashchenko
fd7b29ad48
Added tests with SAM adapter overridden in Kotlin class.
2013-06-25 20:17:45 +04:00
Evgeny Gerashchenko
f4c3a89408
Added tests with SAM adapter inherited in Kotlin class.
2013-06-25 20:17:44 +04:00
Evgeny Gerashchenko
5c3577dfed
Added tests with SAM adapter overridden in Java class.
2013-06-25 20:17:44 +04:00
Evgeny Gerashchenko
d78f36a780
Minor. Renamed test.
2013-06-25 20:17:42 +04:00
Evgeny Gerashchenko
ee9fcff9ca
Supported non-literal arguments for SAM adapters.
2013-06-25 20:17:42 +04:00
Evgeny Gerashchenko
be02943675
Considering SAM interface FQ name in hash.
2013-06-25 20:17:41 +04:00
Evgeny Gerashchenko
7ef4c8cfa8
Generating SAM wrapper class per source file.
2013-06-25 20:17:41 +04:00
Evgeny Gerashchenko
fe77c3edb9
Replaced signed decimal with hex. Eliminated querying canonical path.
2013-06-25 20:16:21 +04:00
Evgeny Gerashchenko
4980dacd33
Supported calls of SAM adapters for constructors.
2013-06-25 20:16:20 +04:00
Alexander Udalov
356c32893b
Don't use 'iinc' instruction on byte/short/char variables
...
Android run-time verifier complains when there's any possibility that a
byte/short/char local variable could contain a value not fitting into the
type's limits.
2013-06-25 18:48:28 +04:00
Alexander Udalov
68b0ad53c4
Regression test for KT-24
...
#KT-24 Obsolete
2013-06-25 18:48:20 +04:00
Alexander Udalov
53cc582040
Minor, use incrementType in for-progression codegen
...
This doesn't fix anything, just makes it easier to figure out values of what
types are used where. Progression increment is of its own type, which may be
different from asmElementType in case of Byte, Char, Short progressions
2013-06-20 22:23:02 +04:00
Alexander Udalov
8a14b62a23
KT-3574 Assertion error when using ?: in for range
...
#KT-3574 Fixed
Do not assert that resolvedCall is non-null, since getRangeAsBinaryCall can
return a BinaryCall that doesn't represent a range at all (as specified by the
comment in getRangeAsBinaryCall)
2013-06-20 16:03:00 +04:00
Alexander Udalov
ee80e0b8ca
Fix loops over progressions near to MAX_VALUE/MIN_VALUE
...
#KT-492 Fixed
For Byte, Char and Short ranges, promote the type of the loop parameter to int
to avoid overflows. For Int and Long ranges at the end of the loop over a
progression we now check if the new (incremented) value of the loop parameter
is greater than the old value iff increment > 0
2013-06-20 16:03:00 +04:00
Alexander Udalov
33d6347876
Fix loop over a range literal up to MAX_VALUE
...
#KT-492 In Progress
For Byte, Char and Short explicit casting from Int is removed -- loop parameter
is already stored in an Int anyway. For Int and Long comparison "i < end" at
the beginning of the loop is replaced to "i != end" at the end of the loop + a
special check for an empty loop
2013-06-20 16:02:59 +04:00
Alexander Udalov
f1a6d27d35
Minor, prevent infinite loops in range tests
2013-06-20 16:02:59 +04:00
Svetlana Isakova
3cf133bff7
changed local extensions priority
...
local extensions aren't longer chosen before members
2013-06-20 13:43:01 +04:00
Mikhael Bogdanov
132d74200b
Partial fix for KT-3698: properly write field initializer
2013-06-19 17:02:28 +04:00
Mikhael Bogdanov
86f2a6dc69
Tests for not reproduced KT-1770, KT-3001 and KT-3414
...
#KT-3414 Can't Reproduced
#KT-3001 Can't Reproduced
#KT-1770 Can't Reproduced
2013-06-18 14:46:14 +04:00
Mikhael Bogdanov
79cf02ffb9
Fix for KT-3546: Exception when delegating to ArrayList
...
#KT-3546 Fixed
2013-06-18 13:23:54 +04:00
Mikhael Bogdanov
8ac8798266
Fix for KT-3684: IllegalAccess on a private property of the outer class
...
#KT-3684 Fixed
2013-06-18 11:20:44 +04:00
Mikhael Bogdanov
52ead7a350
Fix for static - write NEED_SYNTHETIC flag on original descriptor
2013-06-17 17:25:40 +04:00
Mikhael Bogdanov
76d4dcef7f
Tests for renamed fields
2013-06-17 15:20:42 +04:00
Mikhael Bogdanov
4feb395dcc
Test for static
2013-06-17 15:20:41 +04:00
Mikhael Bogdanov
4ef2f997ed
Test for not reproduced KT-2700
...
#KT-2700 Can't Reproduce
2013-06-17 10:39:23 +04:00
Nikolay Krasko
37cd7eb1ba
Allow resolve class declarations in class objects
...
Use INACCESSIBLE_OUTER_CLASS_EXPRESSION error for marking already resolved elements
#KT-3261 Fixed
2013-06-07 17:24:17 +04:00
Mikhael Bogdanov
e96cf045dd
KT-3652: Char is converted to Int when used inside string interpolation
...
#KT-3652 Fixed
2013-05-27 19:33:49 +04:00
Natalia.Ukhorskaya
a5f1a8b3f8
TypeCastException when casting null to T with nullable upper-bound
...
#KT-3637 Fixed
2013-05-21 13:21:52 +04:00
Natalia.Ukhorskaya
9e584ded11
ClassFormatError because of initializing variable with Any type with primitive value
...
#KT-3524 Fixed
2013-05-14 15:38:42 +04:00
Evgeny Gerashchenko
516a5b76e8
Fixed calling inherited SAM adapter.
2013-05-06 16:45:36 +04:00
Mikhael Bogdanov
22ddd05e09
KT-3576 Getters for float constants in objects always return 0.0 when constants are less than 1.0
...
#KT-3576 Fixed
2013-05-06 10:41:48 +04:00
Natalia.Ukhorskaya
b9e5227b58
Change String argument of property delegate method to PropertyMetadata
2013-04-30 21:47:24 +04:00
Natalia.Ukhorskaya
6e2584d0de
Generate bytecode for delegated properties
2013-04-30 21:47:22 +04:00
Natalia.Ukhorskaya
3297c0e9d3
No such field error when set private property without backing field (analog of KT-2892)
2013-04-30 21:47:21 +04:00
Mikhael Bogdanov
b0b6728c7e
KT-3118 NoSuchFieldError on private property without backing field &&
...
KT-3551 Wrong synthetic accessor implementation
2013-04-30 15:28:02 +04:00
Mikhael Bogdanov
b6fc0c5c13
KT-3538: Super call to trait implemetation invokes method from base class
2013-04-24 15:52:09 +04:00
Mikhael Bogdanov
aa2db75266
KT-3389: Local class construction results in CompilationException && KT-2873 && KT-3210
...
KT-2873: VerifyError on instantiating a local class inside a closure
KT-3210 Inline Class: CompilationException: Back-end (JVM) Internal error: wrong code generated java.lang.ArrayIndexOutOfBoundsException null
#KT-3389 Fixed
2013-04-24 13:49:47 +04:00
Alexander Udalov
959f2fb70b
Fix codegen tests on Android
...
Since Android tests move files around, changing their packages, and 'toString'
tests the exact name of a class, we now get it via Java reflection
2013-04-22 21:47:17 +04:00
Alexander Udalov
56f8f021f9
Generate proper generic signature for closure classes
2013-04-22 17:59:32 +04:00
Alexander Udalov
ace7bd9bc8
Fix StackValue.coerce void to Object
...
We can only put Unit.VALUE on stack if we're requested an instance of Object or
Unit. In other cases (arbitrary objects / arrays) we put null instead
2013-04-22 17:59:32 +04:00
Alexander Udalov
054e5fb5e7
Codegen for callable reference expressions
...
#KT-1183 In Progress
2013-04-22 17:59:32 +04:00
Alexander Udalov
1eeaaad05d
Refactor method/constructor calls in codegen
...
- use ResolvedCall where possible
- 'call' parameter to invokeMethodWithArguments was used only to generate
callee, e.g. in "A()" where A is an expression which can be invoke()'d.
In case of constructors and enum entry delegation specifiers there's no need
to generate callee, so 'call' is made Nullable with a subsequent assert
- remove generateJavaConstructorCall() method, since it did no useful work.
Java constructor invocation is broken anyway and needs to be fixed (KT-3532)
- minor code style / formatting issues fixed, several methods renamed to better
reflect semantics
2013-04-22 17:59:32 +04:00
Alexander Udalov
76fa9642f0
toString() for FunctionN classes
...
It's implemented as if the types were reified: getting the real type parameters
of the corresponding FunctionN class
2013-04-22 17:59:29 +04:00