Commit Graph

640 Commits

Author SHA1 Message Date
Alexander Udalov 760ec99315 Regenerate topLevelMemberInvocation testData
Add a source used to generate classes
2013-08-26 16:00:11 +04:00
Alexander Udalov c853c9be03 Create empty method for annotated properties w/o fields
There was no place in bytecode where annotations on properties without backing
fields could be stored to. Now they're written on a synthetic empty void method
with a special name ("propertyName$annotations").

(Annotations on properties cannot simply be written on getters in bytecode,
since a getter can have annotations of its own.)
2013-08-23 17:39:21 +04:00
Andrey Breslav 55eb994502 KT-3919 Automatic labeling of lambdas by receiving functions
#KT-3919 Fixed
2013-08-22 14:27:01 +04:00
Andrey Breslav aa99c29d8d JVM backend test for local returns 2013-08-21 20:12:05 +04:00
Mikhael Bogdanov 185b5013fe Properly process nested try and loop blocks
KT-3894: Loops and finally: finally block executed twice when break and return exists in try/finally block
KT-3874: Compilation error on try catch block contains break and continue
KT-3869: Loops and finally: outer finally block not run

 #KT-3869 Fixed
 #KT-3894 Fixed
 #KT-3874 Fixed
2013-08-19 16:06:56 +04:00
Mikhael Bogdanov d0f042ba93 Properly generate exception table for try/catch block
KT-3549 'Finally' block not run when re-throwing exception
KT-3867 When catched exception occurs in finnaly block it invokes additional catch and itself

  #KT-3549 Fixed
  #KT-3867 Fixed
2013-08-19 16:06:56 +04:00
Mikhael Bogdanov c9215ed8a5 KT-2784 VerifyError when passing a value to a class object's super type constructor
#KT-2784 Fixed
2013-08-12 18:58:09 +04:00
Mikhael Bogdanov 8a4b01d9c6 KT-3702: Inner class constructor cannot be invoked in override function with receiver
KT-3532: NoSuchMethodError when constructing Java inner class
KT-3847: Class is not recognized as inner when loaded from binaries

 #KT-3702 Fixed
 #KT-3532 Fixed
 #KT-3847 Fixed
2013-08-06 10:58:27 +04:00
Natalia.Ukhorskaya acf8c88cfc Java property as annotation parameter 2013-08-02 18:59:29 +04:00
Natalia.Ukhorskaya 064f114b25 Allow top-level properties or properties from class object as annotation parameters 2013-08-02 18:59:26 +04:00
Natalia.Ukhorskaya 27801d5351 Add test: primitive values as annotation parameter 2013-08-02 18:59:25 +04:00
Evgeny Gerashchenko 7f62b9259c KT-3820 VerifyError when invoking intrinsic for range obtained from collection
#KT-3820 fixed
2013-07-31 15:54:45 -07:00
Natalia.Ukhorskaya b3f0a23c1d Fix android test: cannot change package name 2013-07-29 11:36:47 +04:00
Natalia.Ukhorskaya 09b163069f Check Retention annotation writing annotations in bytecode 2013-07-25 17:00:04 +04:00
Natalia.Ukhorskaya c11bd7104c Write default values for annotation parameters
#KT-3197 Fixed
2013-07-25 16:44:03 +04:00
Yakov Zaytsev bb364cd393 KT-3771 Fixed 2013-07-22 18:49:56 +04:00
Evgeny Gerashchenko 5c8f87658a Made SAM adapters final. 2013-07-12 21:09:22 +04:00
Natalia.Ukhorskaya 728e08cc49 Rewrite AnnotationCodegen to generate annotation arguments by AnnotationDescriptor 2013-07-05 19:19:00 +04:00
Svetlana Isakova cf5c5dba3d KT-3189 Function invoke is called with no reason
prioritize tasks specially for invoke

 #KT-3189 Fixed
 #KT-3190 Fixed
 #KT-3297 Fixed
2013-07-05 18:03:51 +04:00
Evgeny Gerashchenko e017645c97 Reorganized SAM-related test data. 2013-07-02 14:06:09 +04:00
Evgeny Gerashchenko 3e70661a6d Handling null correctly when wrapping function in SAM wrapper 2013-06-27 20:37:27 +04:00
Evgeny Gerashchenko d0c74755e8 Added test which should be enabled after fixing bug in front-end. 2013-06-27 17:09:18 +04:00
Evgeny Gerashchenko 939b658704 Supported SAM adapter in infix calls. 2013-06-27 17:09:17 +04:00
Evgeny Gerashchenko 79185b6775 Added tests with SAM adapters in comparison operators. 2013-06-27 17:09:17 +04:00
Evgeny Gerashchenko 9905e2a719 Added tests with SAM adapters in "invoke" convention. 2013-06-27 17:09:16 +04:00
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