Dmitry Neverov
cd24adac32
Detect redundant 'is' check
...
#KT-14187 Fixed
2017-05-15 11:24:35 +03:00
Mikhail Zarechenskiy
6a352bccb6
Resolve control label locally when label name clashes with fun name
...
#KT-5354 Fixed
#KT-15085 Fixed
2017-04-17 16:21:02 +03:00
Dmitry Petrov
e0ebaac70c
Perform additional checks on catch parameter declaration
...
KT-8320 It should not be possible to catch a type parameter type
KT-7645 Prohibit default value for `catch`-block parameter
2017-04-13 16:23:17 +03:00
Mikhail Zarechenskiy
c9b468581a
Fix type checking of local return inside return expression
...
#KT-16426 Fixed
2017-04-10 12:48:09 +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
Mikhail Glukhikh
bfaa9cf56f
UnreachableCode.getUnreachableTextRanges always returns at least one range #KT-14158 Fixed
2016-10-21 10:31:50 +03:00
Mikhail Glukhikh
8d48b0d2a0
UNUSED_VARIABLE is now reported only for last entry of destructuring declaration (if applicable) #KT-14221 Fixed
2016-10-10 14:42:09 +03:00
Mikhail Glukhikh
e7d290f726
Refactor PSI for destructuring declarations in for: they are now children of KtParameter and not instead of it
2016-10-06 21:03:19 +03:00
Ilya Gorbunov
d943079557
Exception typealiases rendering in test output
2016-08-17 12:40:50 +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
585dcbf1f3
KT-10717 Type inference for lambda with local return
...
#KT-10717 Fixed
2016-06-10 21:28:05 +03:00
Mikhail Glukhikh
6b945ba103
Regular checkType() is now called during condition analysis, TYPE_MISMATCH_IN_CONDITION removed #KT-11998 Fixed
2016-04-27 18:12:28 +03:00
Denis Zharkov
b94baede38
Minor. Fix rendered Throwable member scope
2016-04-25 17:41:08 +03:00
Stanislav Erokhin
434bd0707d
Correcting rewrite type info after compete call.
...
#KT-10934 Fixed
#KT-10896 Fixed
2016-02-08 20:49:31 +03:00
Ilya Gorbunov
5361f6e941
Make Throwable properties message and cause open.
...
#KT-5587 Fixed
2016-02-08 18:10:46 +03:00
Dmitry Petrov
e4583fd275
Do not report IMPLICIT_CAST_TO_ANY on last statement of lambda with Unit(?) in at least one branch.
2016-02-05 10:44:50 +03:00
Denis Zharkov
816c66063b
Report special diagnostic when fake-call receiver is nullable
...
#KT-3602 Fixed
2016-02-02 08:17:49 +03:00
Dmitry Petrov
9db3440e72
Fix type inference issues for 'if' and 'when'.
...
Use 'expectedType' (when present) as an explicit type argument for a special construct call.
Unfortunately, this approach can't be used for elvis due to other elvis-related inference hacks.
Fixes KT-10807, KT-10811.
This also affects KT-6189: now we can infer proper type for 'if'.
If type inference for special call failed, and we found no type errors in sub-expressions,
report TYPE_INFERENCE_FAILED_ON_SPECIAL_CONSTRUCT error.
This (and the hack above) fixes KT-10809: code no longer compiles.
2016-01-27 17:07:20 +03:00
Mikhail Glukhikh
850dc89b38
For-loop now cannot use extension iterator on a nullable #KT-7428 Fixed
2016-01-26 19:03:23 +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
Dmitry Petrov
f371e67ce8
PatternMatchingTypingVisitor:
...
rewrite type inference for 'when' using special constructs.
This fixes several type inference issues for 'when':
KT-9929, KT-9972, KT-10439, KT-10463
along with some other diagnostics-related issues.
2016-01-22 10:41:55 +03:00
Dmitry Petrov
0c52960d7a
KT-10706: do not report IMPLICIT_CAST_TO_ANY on expressions of type Nothing
2016-01-19 10:50:09 +03:00
Dmitry Petrov
609ffc10a9
KT-10322, KT-10646, KT-10647:
...
- update diagnostic to (supposedly) more useful
- also report IMPLICIT_CAST_TO_ANY if expected type is DONT_CARE
(effectively "no expected type" for lambda expression).
2016-01-14 10:08:20 +03:00
Dmitry Petrov
f54de08073
KT-10646, KT-10647:
...
Move IMPLICIT_CAST_TO_UNIT_OR_ANY to ControlFlowInformationProvider
(where checks for 'if' and 'when' used as expressions are performed).
2016-01-14 10:08:20 +03:00
Alexander Udalov
75f046fa81
Drop Throwable#printStackTrace, make it a JVM-specific extension
2015-12-25 20:16:18 +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
Dmitry Petrov
76931affc6
KT-10139:
...
Non-exhaustive 'when' without 'else' used in expression is an error
regardless of expected type: it can't be an expression, even of type Unit.
2015-12-01 10:36:40 +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
Mikhail Glukhikh
de37cb8f40
Generic types may not extend kotlin.Throwable #KT-9816 Fixed
2015-11-30 15:24:32 +03:00
Mikhail Glukhikh
c6be69a483
No more reified types for catch parameter #KT-9742 Fixed
2015-11-30 15:24:24 +03:00
Michael Nedzelsky
e6a2bd05d4
fix KT-9652 Warning to specify expected type as Any? when it is already Any?
...
#KT-9652 Fixed
2015-11-06 06:32:07 +03:00
Anton Sukhonosenko
141ffa27dc
val / var are now forbidden on a loop multi declaration parameter #KT-6274 Fixed
...
VAL_OR_VAR_ON_LOOP_MULTI_PARAMETER error added
KtValVarKeywordOwner interface added for PSIs that have getValOrVarKeyword method
2015-11-03 15:30:50 +03:00
Svetlana Isakova
06e90cf6a1
Annotated the return type of 'elvis' function with @Exact
...
fun <T> ELVIS(T?, T): @Exact T
2015-10-22 21:55:12 +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
Yan Zhulanow
6db9344659
Fix compiler tests
2015-09-25 19:20:20 +03:00
Michael Nedzelsky
bc5c9065d2
fix tests in org.jetbrains.kotlin.checkers
2015-09-08 02:04:32 +03:00
Svetlana Isakova
fe34d1673e
Exception 'Base expression was not processed: function literal' fixed
2015-09-07 17:05:40 +03:00
Valentin Kipyatkov
7edff172a2
KT-1273 Unused assignment - should highlight assignment instead of expression
...
#KT-1273 Fixed
2015-05-19 23:45: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
Denis Zharkov
44a55e5bf6
Adjust testData to new labels syntax
2015-04-29 14:03:11 +03:00
Andrey Breslav
c61a29d4f5
KT-6774 Cannot find equals() when comparing with null
...
#KT-6774 Fixed
2015-02-16 18:50:09 +03:00
Svetlana Isakova
a2f03f2d52
Fix: constraint T? >: Int! should transform to T >: Int
2015-01-30 13:33:37 +03:00
Evgeny Gerashchenko
897854b3dc
KT-6671 Report unused constructor parameters
...
#KT-6671 fixed
2015-01-27 22:38:27 +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
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