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
Alexander Udalov
0ec1f20140
Write generic signature for closure FunctionN superclass
...
ClosureCodegen.appendType() now appends any Type as a type parameter correctly
2013-04-22 17:59:29 +04:00
Alexander Udalov
974df0ed8e
Use FunctionImplN instead of FunctionN in codegen
...
Superclass of closures should now be FunctionImplN instead of FunctionN. Since
these -Impl classes are needed only in JVM, the corresponding descriptors and
types are created in the back-end only.
2013-04-22 17:59:29 +04:00
Evgeny Gerashchenko
7133f20247
Added tests with type parameter of class in SAM adapter.
2013-04-18 22:02:04 +04:00
Evgeny Gerashchenko
8c4e45de9a
Supported SAM adapters with type parameters.
2013-04-18 22:01:26 +04:00
Evgeny Gerashchenko
f4994969c0
Added tests with type parameter of class in SAM adapter.
2013-04-18 22:01:26 +04:00
Evgeny Gerashchenko
e554228a73
Added tests with mixture of SAM and non-SAM parameters.
2013-04-18 22:01:26 +04:00
Evgeny Gerashchenko
7bd11718de
Supported simplest cases of SAM adapter in backend.
2013-04-18 22:01:26 +04:00
Mikhael Bogdanov
82d7f07cb3
Fixed bug in fix for KT 3492: Bug in bytecode generation for labeled super call from inner class & Property generation refactoring
2013-04-18 18:33:25 +04:00
Mikhael Bogdanov
c69e7f059d
Duplicated JetTypeMapper.mapSignature removed
2013-04-18 15:03:43 +04:00
Mikhael Bogdanov
a1d295638a
ExpressionCOdegen.visitSimpleNameExpression simplification
2013-04-18 14:05:15 +04:00
Mikhael Bogdanov
1fd76845ad
Regression test for kt3315
2013-04-17 18:55:04 +04:00
Natalia.Ukhorskaya
f2b3be7416
Unify properties initialization for init and clinit
2013-04-17 16:18:10 +04:00
Mikhael Bogdanov
57b161b08a
KT-3500: ClassFormatError: Duplicate method name&signature in class file && KT-3429: Traits override bug
2013-04-17 15:23:33 +04:00
Mikhael Bogdanov
3da3f94b4e
KT 3492: Bug in bytecode generation for labeled super call from inner class & Property generation refactoring
2013-04-17 15:23:33 +04:00
Natalia.Ukhorskaya
1dce3b5da4
Invoke top level function with default argument using src class
2013-04-09 17:11:25 +04:00
Zalim Bashorov
a665fa2049
Rewrote nonLiteralFilenameFilter and filenameFilter tests without working with FS.
...
Removed filenameFilter test from excludes for AndroidTests.
2013-04-02 22:11:57 +04:00
Evgeny Gerashchenko
6ff9bfd4bb
Supported SAM constructor calls without function literal.
2013-03-29 20:36:47 +04:00
Evgeny Gerashchenko
dcb95fc5ac
Fixed priorities for synthetic functions.
2013-03-29 13:10:31 +04:00
Evgeny Gerashchenko
0bc65321c2
KT-1547 Wrong layout of closure classes
...
#KT-1547 fixed
2013-03-28 15:54:51 +04:00