Commit Graph

1882 Commits

Author SHA1 Message Date
Andrey Breslav 6cee65d74e A test for nesting implicitly labeled calls
The actual error message should be "return not allowed", but due to a bug in label resolution it is "unresolved reference"
2013-08-22 17:13:08 +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 a51ea10f55 No need to produce error types when RETURN_NOT_ALLOWED_EXPLICIT_RETURN_TYPE_REQUIRED is reported 2013-08-21 20:12:05 +04:00
Andrey Breslav 3f3ee378f3 Test that local return has type Nothing 2013-08-21 20:12:05 +04:00
Andrey Breslav aa99c29d8d JVM backend test for local returns 2013-08-21 20:12:05 +04:00
Andrey Breslav 08625a6b2f Local returns are only allowed with explicitly specified return types
This is a temporary limitation: otherwise type inference is having trouble to account for all the returned expressions.
 We will fix the inference and remove the limitation
2013-08-21 20:12:04 +04:00
Andrey Breslav 4138ac4e36 Support local returns in lambdas 2013-08-21 20:12:04 +04:00
Andrey Breslav db70087573 Labels on function literal arguments are processed properly 2013-08-21 20:12:04 +04:00
Andrey Breslav 9f90fd0938 No "unreachable code" errors when an illegal return expression is the last in a lambda 2013-08-21 20:12:04 +04:00
Andrey Breslav 3d28c4cdb2 Passing DataFlowInfo to local classes/objects
#KT-2835 In Progress
#KT-2225 In Progress
#KT-338 In Progress
2013-08-19 19:05:21 +04:00
Andrey Breslav 4908766813 Passing DataFlowInfo when analyzing property initializers
#KT-2835 In Progress
#KT-2225 In Progress
#KT-338 In Progress
2013-08-19 19:05:21 +04:00
Andrey Breslav 63c284e200 Passing DataFlowInfo to local classes/objects
#KT-2835 In Progress
#KT-2225 In Progress
#KT-338 In Progress
2013-08-19 19:05:20 +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
Evgeny Gerashchenko 3f7627120b KT-3853 ISE on resolving function implementation from trait from Java
The fix is simple and dirty, because the related code will be removed soon anyways. Fix is necessary for compiling Kara.

 #KT-3853 fixed
2013-08-08 21:39:25 +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 8e45bb7657 Fix wrong generated class name invoking inner objects from another module 2013-08-06 10:17:25 +04:00
Natalia.Ukhorskaya acf8c88cfc Java property as annotation parameter 2013-08-02 18:59:29 +04:00
Natalia.Ukhorskaya e792238cbe Boolean as annotation parameter (java) 2013-08-02 18:59:27 +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 e11f130278 'annotation' keyword should be allowed only on classes
#KT-2785 Fixed
2013-07-25 17:00:10 +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
Natalia.Ukhorskaya 73000ec407 Change error message for nullable annotation member 2013-07-25 13:25:02 +04:00
Andrey Breslav 8c1da8929b Fix test data (accidentally committed rubbish) 2013-07-23 17:43:33 +04:00
Andrey Breslav d2b1b2e549 Allow newline before : as as? ?: || && 2013-07-23 14:21:36 +04:00
Yakov Zaytsev bb364cd393 KT-3771 Fixed 2013-07-22 18:49:56 +04:00
Svetlana Isakova 539756ff3e KT-3772 Invoke and overload resolution ambiguity
#KT-3772 Fixed
2013-07-16 20:33:08 +04:00
Evgeny Gerashchenko 13849f6b6e Choosing most specific super member when building fake override. Previously, random one was chosen. 2013-07-12 21:09:22 +04:00
Evgeny Gerashchenko 5c8f87658a Made SAM adapters final. 2013-07-12 21:09:22 +04:00
Evgeny Gerashchenko fc99ad35b3 Supported complex cases of SAM adapters inheritance/overriding. 2013-07-12 21:09:22 +04:00
Andrey Breslav 8d65613eed Create <out Any?> projections for raw Java types, not <*>
KT-3760 Internal compiler error with Java interoperability and ElasticSearch 0.90.2 (IllegalStateException, Type parameter descriptor in not initialized: T declared in ...)
 #KT-3760 Fixed

EA-44150 Type parameter descriptor in not initialized. Fixed
2013-07-10 08:28:47 +04:00
Natalia.Ukhorskaya 728e08cc49 Rewrite AnnotationCodegen to generate annotation arguments by AnnotationDescriptor 2013-07-05 19:19:00 +04:00
Natalia.Ukhorskaya b6bdcb303d Resolve java.lang.Class as annotation argument 2013-07-05 19:18:58 +04:00
Natalia.Ukhorskaya bbed2da4dd Resolve annotations in annotation arguments 2013-07-05 19:18:57 +04:00
Natalia.Ukhorskaya 42b0bdc54d Support varargs in annotation arguments 2013-07-05 19:18:56 +04:00
Natalia.Ukhorskaya 98d3b1e113 Resolve arrays in annotation arguments 2013-07-05 19:18:54 +04:00
Natalia.Ukhorskaya dddec9ea3d Resolve enum in annotation arguments 2013-07-05 19:18:53 +04:00
Svetlana Isakova d3e6d2d6cd do not need to check stand-alone class object for class,
when it's on the left hand side of dot it is analyzed in 'getIdForImplicitReceiver' (test added)
2013-07-05 18:03:52 +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
Svetlana Isakova 9347a48df8 restored priorities
members with invoke have more priority than extensions
2013-07-05 18:03:51 +04:00
Svetlana Isakova 54e1cf0879 removed incorrect code from resolve tests
Resolve tests had a functionality that for primary constructor parameters
 class A(val x: Int, y: Int)
 `$x` was resolved to property descriptor while `x` was resolved to value parameter descriptor.
But it worked incorrect (see tests changes) and was senseless because 'x' in code always resolves to property descriptor.
So it was dropped.
2013-07-05 18:03:51 +04:00
Natalia.Ukhorskaya 2152c22f86 Resolve annotation class constructors before other constructors 2013-07-04 14:38:17 +04:00
Natalia.Ukhorskaya a5662fe906 Resolve annotations arguments in body resolver 2013-07-04 14:38:07 +04:00
Natalia.Ukhorskaya 33ddd713b7 Check annotation constructor parameter types 2013-07-04 14:37:29 +04:00
Evgeny Gerashchenko e017645c97 Reorganized SAM-related test data. 2013-07-02 14:06:09 +04:00