Commit Graph

84 Commits

Author SHA1 Message Date
Denis Zharkov
24819a079b Change resolution scope for componentX in lambda parameters
Component-functions are resolved in the same scope as the first statement of the lambda, but lambda receiver was not available

 #KT-14692 Fixed
2016-11-10 10:33:42 +03:00
Denis Zharkov
1f0293eb42 Check modifiers applicability on destructured lambda parameters
#KT-14502 Fixed
2016-10-24 18:00:02 +03:00
Denis Zharkov
51f4244980 Report UNUSED_DESTRUCTURED_PARAMETER_ENTRY
on destructured lambda parameters

 #KT-14347 Fixed
2016-10-24 10:19:25 +03:00
Denis Zharkov
4c69416f2b Report warning on unused entities that can be renamed to _
Currently it's all about lambda parameters/destructuring entries

 #KT-14347 In Progress
2016-10-24 10:19:25 +03:00
Denis Zharkov
dbca310d8c Support single-underscore variable names partially
Currently only parameters of lambdas/function expressions
and destructuring entries are allowed

 #KT-3824 In Progress
 #KT-2783 In Progress
2016-10-24 10:19:25 +03:00
Valentin Kipyatkov
ec51076355 DescriptorRenderer to render annotations for all types + separate option to render annotation arguments + use it in IdeDescriptorRenderers 2016-10-11 23:38:54 +03:00
Valentin Kipyatkov
8baa9ba1de No parameter names in type of lambda expression and anonymous function 2016-10-11 23:38:54 +03:00
Valentin Kipyatkov
4513f679de Fixed test data 2016-10-11 23:38:53 +03:00
Valentin Kipyatkov
7f0063013c Corrected test data 2016-10-11 23:38:52 +03:00
Valentin Kipyatkov
59269ef1ae ParameterName annotation on type argument used to hold parameter name 2016-10-11 23:38:51 +03:00
Valentin Kipyatkov
41ee06ec96 Use parameter names in DescriptorRenderer 2016-10-11 23:38:49 +03:00
Denis Zharkov
72d027d968 Introduce language feature DestructuringLambdaParameters
#KT-5828 Fixed
2016-09-19 20:22:57 +03:00
Denis Zharkov
e975d32196 Implement resolution of desctructuring declarations in lambdas
#KT-5828 In Progress
2016-09-19 20:22:57 +03:00
Nikolay Krasko
300e0acd27 Report RETURN_NOT_ALLOWED and RETURN_IN_FUNCTION_WITH_EXPRESSION_BODY only on the return with label (KT-13340)
#KT-13340 Fixed
2016-08-05 13:16:05 +03:00
Stanislav Erokhin
832f468b13 KT-11733 Cannot infer type parameter in SAM with nullability annotations
#KT-11733 Fixed
2016-04-04 15:31:30 +03:00
Pavel V. Talanov
d0b27a5fe2 Update test data for diagnostics test 2016-02-26 14:45:07 +03:00
Mikhail Glukhikh
d194af5c4e Correct report of NO_VALUE_FOR_PARAMETER when function call contains no brackets and lambda at the end #KT-7813 Fixed 2016-02-01 17:11:54 +03:00
Stanislav Erokhin
298a075381 Minor. removed functions which declared in Standard.kt from diagnostic testdata.
Removed declaration for functions: TODO, run, with, apply, let.
2016-01-25 19:13:31 +03:00
Ilya Gorbunov
f4822cd757 Fix testData in compiler: add collections and ranges package to fq-names. 2016-01-22 05:54:38 +03:00
Denis Zharkov
e9693e987f Humanize type mismatch diagnostic caused by type projections
#KT-10581 Fixed
2016-01-19 11:05:41 +03:00
Pavel V. Talanov
1c4d4f3e36 Create class descriptors for local classes in illegal positions
Typecheck code in illegal selector position
Fixes exceptions on "val p = A.class" erroneous code
2015-12-29 15:56:44 +03:00
Denis Zharkov
e2c02f825f Refine member scope for types with projections
Instead of erasing descriptors with conflicting substitution,
use invariant CapturedType(<projection>) as replacement for type parameter
within default member scope.

After substitution leave such types 'as is' everywhere except return types,
use common approximation for them.

 #KT-9294 In Progress
 #KT-5411 Fixed
 #KT-8647 Fixed

 #KT-9462 Fixed
 #KT-9893 Fixed
 #KT-7581 Fixed
 #KT-7296 In Progress
2015-12-28 11:13:37 +03:00
Dmitry Jemerov
e97e82d119 use terms "lambda expression" and "anonymous function" instead of "function literal" and "function expression" 2015-12-09 13:55:40 +01:00
Mikhail Glukhikh
5729855e4f Type parameter as result type: more precise expected type definition #KT-5385 Fixed
Tests for KT-5385 KT-10223 KT-7800 KT-7817 + something related
2015-12-04 19:00:24 +03:00
Dmitry Petrov
1a3a296827 KT-10139: any if without else used in expression is an error
regardless of expected type: it can't be an expression, even of type Unit.

 #KT-10139 Fixed
2015-12-01 10:36:40 +03:00
Michael Nedzelsky
947b4d4ce8 Test for obsolete KT-3343
#KT-3343 Obsolete
2015-10-30 18:57:42 +03:00
Svetlana Isakova
bb9f7094e0 Report 'TYPE_INFERENCE_EXPECTED_TYPE_MISMATCH'
on call element, not on callee expression
2015-10-19 14:15:05 +03:00
Yan Zhulanow
e14c9645dc Error on 'if' without an 'else' branch when used as an expression 2015-10-19 03:56:15 +03:00
Dmitry Jemerov
457e40a0b8 fix a few more tests 2015-10-12 11:11:31 +02:00
Dmitry Jemerov
1523d5bcbf removing static type assertions work in progress 2015-10-12 11:11:23 +02:00
Yan Zhulanow
1b01e7a85a Fix tests ('infix') 2015-10-07 15:50:23 +03:00
Dmitry Jemerov
7c20630272 diagnostics for deprecated syntax of function type parameter list 2015-10-06 16:20:47 +02:00
Pavel V. Talanov
7b49baf8c3 Test data adjustment: JetDiagnosticsTest 2015-10-01 17:53:19 +03:00
Yan Zhulanow
6db9344659 Fix compiler tests 2015-09-25 19:20:20 +03:00
Denis Zharkov
73799e2c3c Replace deprecated lambda syntax in testData
It's done with similar constructions where possible trying to preserve
intended behavior.
Some usages are removed because they test exactly the feature that
we are going to drop soon.
2015-09-25 08:29:25 +03:00
Michael Nedzelsky
bc5c9065d2 fix tests in org.jetbrains.kotlin.checkers 2015-09-08 02:04:32 +03:00
Alexey Sedunov
5ac1fbf59b Descriptor Renderer: Add parentheses around receiver type if it's non-nullable function type
#KT-8188 Fixed
2015-06-27 13:58:00 +03:00
Alexander Udalov
4d00077ffb Delete assertion on receiver presence in 'invoke'
#KT-6541 Fixed
 #KT-7383 Fixed
2015-05-26 15:04:59 +03:00
Dmitry Jemerov
4bdf598bfe compiler testdata: s/trait/interface 2015-05-12 19:43:17 +02:00
Dmitry Jemerov
9975bb8935 replace 'trait' keyword with 'interface' in user-visible messages and code generation tools 2015-05-12 11:49:37 +02:00
Dmitry Jemerov
f374eec8f1 deprecating types after colon 2015-04-29 16:33:24 +02:00
Dmitry Jemerov
98b8784ab0 drop deprecated syntax for anonymous initializer blocks 2015-04-29 14:07:04 +02:00
Denis Zharkov
44a55e5bf6 Adjust testData to new labels syntax 2015-04-29 14:03:11 +03:00
Stanislav Erokhin
43e24f6b0d Fixed test data for new lambda syntax 2015-03-18 16:06:44 +03:00
Stanislav Erokhin
371908a280 Temporary added DEPRECATED_LAMBDA_SYNTAX to tests.
It will be fixed soon.
2015-03-18 16:06:44 +03:00
Stanislav Erokhin
47e8b1e77c Create warning for old lambda syntax. 2015-03-18 16:06:44 +03:00
Denis Zharkov
f07566d30d Add warning for initializers with obsolete syntax
Expected 'init' keyword before class initializer
2015-03-11 17:45:26 +03:00
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