Commit Graph

37 Commits

Author SHA1 Message Date
Stanislav Erokhin
602689892e Wrong diagnostic when last expression in lambda contains assignment operation
#KT-6769 Fixed
2015-02-27 14:16:20 +03:00
Stanislav Erokhin
c6f8a1cfcc Add support local return from lambda with implicit unit type. 2015-02-24 14:14:49 +03:00
Stanislav Erokhin
57fd5cc84c Support local return in lambda without explicit return type 2015-02-24 14:14:49 +03:00
Andrey Breslav
0eee83b6ec Lazy logs removed 2014-11-21 18:59:45 +03:00
Svetlana Isakova
2a83053355 Updated lazy log tests 2014-11-21 14:02:45 +03:00
Svetlana Isakova
8ad017c071 Extracted 'deparenthesizeArgument', used it where necessary
#KT-6176 Fixed
2014-11-21 14:02:41 +03:00
Stanislav Erokhin
b7c473f59e Update lazy.log files 2014-11-17 17:45:01 +03:00
Alexander Udalov
4f0d83a7fe Update lazy logs after field rename 2014-11-11 18:35:39 +03:00
Andrey Breslav
4892369cf4 Diagnostic tests are logging their lazy activity 2014-11-10 17:24:04 +02:00
Andrey Breslav
0e42de4e99 CHECK_TYPES injected through imports 2014-10-22 00:41:19 +04:00
Alexander Udalov
3a8ad45dec Append newline to EOF for .txt test data files
Reverts and fixes 102f0d3
2014-10-21 03:18:27 +04:00
Nikolay Krasko
e796f88b38 Regenerate test data with constructed descriptors for diagnostics tests 2014-09-18 17:58:23 +04:00
Alexey Sedunov
9fee8600cb Pseudocode: Do not generate implicit return instruction inside of
Unit-typed lambdas
 #KT-5549 Fixed
2014-08-05 18:14:40 +04:00
Alexey Sedunov
9cbcabffa4 Control-Flow Analysis: Reuse pseudo-value information for unused expression analysis 2014-07-28 13:07:37 +04:00
Alexey Sedunov
77bbf8f73b Pseudocode: Generate fake values for Unit/Nothing-typed expressions 2014-07-28 13:07:29 +04:00
Zalim Bashorov
c767ffc3e7 Unit.VALUE -> Unit in testData 2014-07-25 17:16:40 +04:00
Svetlana Isakova
e0f37bbef0 Generate parse error on label without name '@' 2014-05-20 15:07:03 +04:00
Svetlana Isakova
70374ea9be KT-4529 Lambdas are analyzed improperly in an infix call nested inside a println
#KT-4529 Fixed
2014-02-12 14:47:10 +04:00
Svetlana Isakova
dd6940be41 added CHECK_TYPE directive to diagnostic tests 2013-12-19 13:01:05 +04:00
svtk
9d3a7804cc Fixed tests for labels.
The bug was automatically fixed by previous commit.
2013-11-22 18:58:01 +04:00
Svetlana Isakova
9fc66d686e treat function literals without value argument list
as without arguments by default
2013-10-16 20:41:21 +04:00
Svetlana Isakova
ab7e3ce78c interpret block with function literal as function literal
(temporary)
2013-10-16 20:41:21 +04:00
Svetlana Isakova
845b6f7d7e fixed bug
NULL_FOR_NONNULL_TYPE can represent type mismatch error as well
(later the whole method 'makeTraceInterceptingTypeMismatch' should be removed)
2013-09-17 16:09:26 +04:00
Svetlana Isakova
fd5a2056c1 analyze labeled function literals as usual ones
(specially as function literals, not as other expressions)
2013-09-03 13:09:10 +04:00
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
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
Svetlana Isakova
ca88a01e1d no 'dangling function literal' check for nested calls 2013-06-06 17:20:10 +04:00
Wojciech Lopata
328e579852 Fix reporting of EXPECTING_PARAMETER/RETURN_TYPE_MISMATCH 2013-04-16 14:06:09 +02:00
Mikhael Bogdanov
79bf174e93 Warning for unused function literal in do..while 2013-03-20 20:50:06 +04:00
Svetlana Isakova
c37d7352a5 improved reporting TYPE_MISMATCH error for function literals
(introduced EXPECTED_PARAMETER_TYPE_MISMATCH, EXPECTED_RETURN_TYPE_MISMATCH, EXPECTED_PARAMETERS_NUMBER_MISMATCH
instead of reporting TYPE_MISMATCH on the whole function literal)
2012-12-25 19:12:00 +04:00
Svetlana Isakova
7d768847a0 KT-2906 If function parameter/variable is invoked in closure using parenthesis syntax, in IDEA it is not highlighted as captured in closure
#KT-2906 fixed
2012-10-16 16:00:22 +04:00