Mikhail Glukhikh
41ebfd025e
More precise diagnostics of smart cast impossible #KT-7240 Fixed
2015-11-03 13:38:51 +03:00
Mikhail Glukhikh
03aaddd379
More correct handling of possible type set during assignment #KT-8229 Fixed
2015-11-03 12:49:21 +03:00
Mikhail Glukhikh
0a5a5a2e36
More precise diagnostics is added for smart cast impossible #KT-8810 Fixed
2015-11-03 11:15:58 +03:00
Mikhail Glukhikh
182cde1e02
Standard data flow analysis results are taken into account during condition analysis #KT-7933 Fixed
2015-10-30 16:14:34 +03:00
Mikhail Glukhikh
dd1196ae6b
Condition analysis: left part of and (true condition) / or (false condition) is used for right part analysis #KT-8780 Fixed
2015-10-30 16:14:33 +03:00
Mikhail Glukhikh
12103d19d2
Smart casts inside property chains like a?.b?.c.foo(a, b) are now handled correctly #KT-7290 Fixed
2015-10-30 16:14:32 +03:00
Mikhail Glukhikh
d2c65a5336
Iterative call chain handling to get rid of JetTypeInfoInsideCallChain and other nasty things #KT-9754 Fixed
2015-10-28 16:00:30 +03:00
Alexey Tsvetkov
1e2256207c
Update test data
2015-10-19 20:45:02 +03:00
Alexey Tsvetkov
dc27363452
Remove @annotation from test data
2015-10-19 20:45:01 +03:00
Alexey Tsvetkov
1973573a89
Remove @data from test data
2015-10-19 20:45:00 +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
Mikhail Glukhikh
4b35e3b135
Preliminary declaration visitor for estimating local variable's predictability for smart casts
...
Predictability estimation algorithm is completely new, but backward compatibility should present.
A large set of tests. Some updated tests.
Smart casts allowed for captured variables if they are not modified in closure #KT-9051 Fixed
Also #KT-8643 Fixed
Also #KT-7976 Fixed
Correct handling of lambda arguments in functions #KT-9143 Fixed
2015-10-16 20:47:47 +03:00
Denis Zharkov
bd37a10677
Transform *Array.size to properties
2015-10-16 18:16:02 +03:00
Alexander Udalov
ec1b4776fe
Deprecate PropertyMetadata, use KProperty<*> for delegated properties instead
2015-10-14 20:45:25 +03:00
Denis Zharkov
f0e3fd617d
Adjust testData to CharSequence.length transformation
2015-10-14 20:39:35 +03:00
Yan Zhulanow
275f3f8954
'operator' checks
2015-10-14 01:29:10 +03:00
Yan Zhulanow
dc8e796e49
getValue()/setValue() should be marked with 'operator'
2015-10-14 01:29:09 +03:00
Mikhail Glukhikh
64543e3f52
Implicit Nothing return type is now deprecated
2015-10-12 13:30:16 +03:00
Denis Zharkov
a76a8fcc3f
Adjust various testData to remove/charAt transformation
2015-10-11 19:59:31 +03:00
Denis Zharkov
cfc9d19825
Transform Collection.isEmpty and Map.Entry.key/value to properties
2015-10-10 12:29:14 +03:00
Yan Zhulanow
1f2b4e20fe
Replace get() and set() to getValue() and setValue() (property delegates)
2015-10-09 22:49:16 +03:00
Yan Zhulanow
1b01e7a85a
Fix tests ('infix')
2015-10-07 15:50:23 +03:00
Denis Zharkov
c21d827326
Adjust various testData to size transformation
2015-10-07 08:46:34 +03:00
Dmitry Jemerov
7c20630272
diagnostics for deprecated syntax of function type parameter list
2015-10-06 16:20:47 +02:00
Yan Zhulanow
6db9344659
Fix compiler tests
2015-09-25 19:20:20 +03:00
Mikhail Glukhikh
58110cd0d1
open + data and inner + data are deprecated, a new test, relevant test fixes
2015-09-23 16:32:57 +03:00
Denis Zharkov
4850fd10f0
Regenerate test data containing rendered descriptors
...
Introduced '@' after each annotation
2015-09-18 10:14:39 +03:00
Mikhail Glukhikh
7dbd5b75cc
Expected return type is in use now during function literal analysis #KT-9134 Fixed
2015-09-16 17:12:41 +03:00
Mikhail Glukhikh
1667f18d7c
Receiver of a safe call is not null inside the call also for extension functions + a pair of tests #KT-9033 Fixed
2015-09-16 15:04:41 +03:00
Mikhail Glukhikh
d4d633ea26
Combined identifier info for things like '(x + y).z' is no longer treated as 'z' identifier info + a pair of tests + code fix #KT-9126 Fixed
2015-09-11 21:06:09 +03:00
Mikhail Glukhikh
9b11b5300c
Elvis DFA: now only left part is taken into account #KT-9100 Fixed
...
I had to fix a few incorrect tests using something like x!! in Elvis right part, and also one bug in our code
2015-09-10 17:50:57 +03:00
Michael Nedzelsky
bc5c9065d2
fix tests in org.jetbrains.kotlin.checkers
2015-09-08 02:04:32 +03:00
Svetlana Isakova
086e69e132
Added tests for obsolete tasks
2015-07-10 15:05:07 +03:00
Pavel V. Talanov
d2592e4a2c
Companion objects have public visibility by default
...
#KT-7114 Fixed
2015-06-02 16:23:03 +03:00
Mikhail Glukhikh
5723c2a077
Front-end fix: result type corrected for increment / decrement expressions. Smart cast allowed on a postfix increment result. See KT-7561.
...
Now result type is receiver type for postfix increment, or increment result type for prefix increment.
A set of relevant tests.
2015-05-26 15:20:25 +03:00
Mikhail Glukhikh
c8aa6defb6
Data flow information is no longer dropped while analyzing object literal expression. #KT-6293 Fixed. #KT-7110 Fixed.
...
A set of tests for KT-6293 / KT-7110 provided.
2015-05-21 13:03:39 +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
Mikhail Glukhikh
f4dd685bbe
Fix for a problem with smart cast impossible in a situation when it's not needed. A test for KT-3572. #KT-3572 Fixed.
2015-04-30 16:48:15 +03:00
Dmitry Jemerov
8258d72e23
don't report USELESS_CAST in case of casting to superype using 'as'
2015-04-29 16:33:32 +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
Mikhail Glukhikh
fd789cb68e
Correct behaviour for break / continue inside function call arguments, including multiple ones. Additional tests.
2015-04-28 17:37:53 +03:00
Mikhail Glukhikh
8f2a3e9d5f
Fixed DFA for the last assignment / initialization in block. A relevant test. #KT-7599 Fixed.
2015-04-28 15:16:39 +03:00
Mikhail Glukhikh
60fdfb8441
Bug fix: DataFlowInfo.getCompleteTypeInfo (with a test)
2015-04-28 15:16:36 +03:00
Mikhail Glukhikh
525b9e63ae
Refactoring: checkType && checkImplicitCast returned to DataFlowUtils, PROCESSED unboxing returned, StringTemplateVisitor made local
2015-04-23 18:25:52 +03:00
Mikhail Glukhikh
27625b04e1
Refactoring of JetTypeInfo / BindingContext. Loop data flow analysis corrected.
...
Now BindingContext includes expression type info instead of jump out possible, data flow info and expression type.
getType() was added into BindingContext, getType() and recordType() were added into BindingTrace.
JetTypeInfo now includes also jump possible flag and jump point data flow info.
Old TypeInfoWithJumpInfo deleted.
TypeInfoFactory introduced to create JetTypeInfo instances.
A pack of extra tests for break / continue in loops added.
2015-04-21 15:29:07 +03:00
Mikhail Glukhikh
109e0abb6d
Review fixes for mutable variable smart casting (mostly refactoring).
...
DataFlowValue.isPredictable() introduced instead of isStableIdentifier().
Parenthesized assignments are treated correctly.
2015-04-16 20:11:03 +03:00
Mikhail Glukhikh
e97e792674
Review fixes for smart casts in / out loops.
...
LoopTypeInfo became TypeInfoWithJumpInfo rewritten in Kotlin.
Fixed a bug with break inside Elvis inside a loop, a pack of related tests added.
isTrueConstant moved to JetPsiUtil.
2015-04-16 20:11:01 +03:00
Mikhail Glukhikh
d5aed62410
Smart casts for local variables not captured in a closure and not changed in a loop, see #KT-3175.
...
isLocalVariable added. Assignment / initialization analysis.
Control whether a variable is changed in a loop at the beginning and at the end of the loop.
Control whether a variable is captured in a closure. #KT-3175 Fixed. #KT-2266 Fixed.
Tests for variable null safety and for variables is/as operations.
Loop / closure / variable property tests are included.
Old tests changed in accordance with KT-3175. In particular, all three of testSmartcastImpossible were fixed.
2015-04-16 20:10:58 +03:00