Mikhail Glukhikh
1544755838
Test refactoring
2015-04-14 19:11:26 +03:00
Mikhail Glukhikh
8184bccda1
Extended loop data flow analysis was implemented. #KT-6283 Fixed. #KT-6284 Fixed.
...
A local descendant of JetTypeInfo added to save separately current data flow info and jump point data flow info together with jump opportunity.
Now data flow analysis know about loop bodies that must be executed at least once (do...while, while(true) until the first break/continue).
A set of tests for smart casts in and after loops.
Existing DoWhile and WhileTrue resolve tests corrected in accordance.
2015-04-14 19:11:22 +03:00
Mikhail Glukhikh
27b1f1ddad
Test and implementation for KT-6819. Now when entry condition data flow information is used for subsequent conditions. #KT-6819 Fixed
2015-04-07 19:03:34 +03:00
Mikhail Glukhikh
cd206fc97b
Test for KT-3711. Passes already in M11 or even earlier
2015-04-07 19:03:31 +03:00
Mikhail Glukhikh
221501c0d9
Tests for KT-2865. Passes already in M11 or even earlier
2015-04-07 19:03:29 +03:00
Mikhail Glukhikh
39e01f4df2
Tests for KT-3899. Passes already in M11 or even earlier
2015-04-07 19:03:27 +03:00
Mikhail Glukhikh
f49c79f4f0
Tests for KT-3224 and KT-3244. Both pass already in M11 or even earlier
2015-04-07 19:03:24 +03:00
Mikhail Glukhikh
88441814b9
Test for KT-5502 (works after KT-4450 / KT-5907 fix)
2015-04-06 18:32:19 +03:00
Mikhail Glukhikh
d92ccad35d
Implementation and tests for KT-5840 and newly created KT-7204. Now a safe call provides not-null receiver state *inside* argument list. It works also for ?. chains. #KT-5840 Fixed.
...
On the other hand, argument states do not propagate to successor statements for a safe call. #KT-7204 Fixed. A few additional comments.
2015-04-06 18:29:52 +03:00
Mikhail Glukhikh
620b7954ac
Tests for already working KT-3993 and KT-5427. These test cases pass at least since M11
2015-03-31 17:15:46 +03:00
Mikhail Glukhikh
9c1551bca9
Implementation of smart casts for public / protected immutable properties that are not open and used in the same module.
...
DataFlowValueFactory and its environment refactoring: containing declaration is added into factory functions
as an argument and used to determine identifier stability. A few minor fixes. #KT-5907 Fixed. #KT-4450 Fixed. #KT-4409 Fixed.
New tests for KT-4409, KT-4450, KT-5907 (public and protected value properties used from the same module or not,
open properties, variable properties, delegated properties, properties with non-default getter).
Public val test and KT-362 test changed accordingly.
2015-03-31 16:19:03 +03:00
Pavel V. Talanov
06916d98c6
default -> companion: replace all mentions of default and default object
2015-03-17 15:47:39 +03:00
Pavel V. Talanov
59f192ef90
Replace 'class object' with 'default object' in renderers and test data
...
Includes changes to decompiled text
Old syntax is used in builtins and project code for now
2015-03-06 19:36:54 +03:00
Pavel V. Talanov
7b837e2631
Updata test data: txt files for diagnostics tests
2015-02-16 15:38:36 +03:00
Andrey Breslav
da639039bd
KT-6698 Bad class file when using a star-projection on a Java's recursive generic parameter
...
#KT-6698 Fixed
2015-02-02 19:52:00 +03:00
Evgeny Gerashchenko
897854b3dc
KT-6671 Report unused constructor parameters
...
#KT-6671 fixed
2015-01-27 22:38:27 +03:00
Alexander Udalov
f3b2193afd
Delete traces of "jet" in test data and unimportant code
2015-01-13 15:02:16 +03:00
Svetlana Isakova
7a5124215a
Updated test data for Array<out T> vararg type
2014-12-12 23:08:28 +03:00
Evgeny Gerashchenko
a3fdce8131
Highlighting "as Foo" for useless casts in gray.
...
#KT-6070 fixed
2014-12-08 17:30:47 +03:00
Alexander Udalov
a7b88e9485
Make CharSequence.length a function instead of property
...
And String.length as well.
This is done for JVM interoperability: java.lang.CharSequence is an open class
and has a function 'length()' which should be implemented in subclasses
somehow.
A minor unexpected effect of this is that String.length() is now a compile-time
constant (it wasn't such as a property because properties are not supported in
compile-time constant evaluation)
#KT-3571 Fixed
2014-11-27 20:38:17 +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
5d0f004292
Fix for 'if' special construct type
...
If one branch has Nothing type (contains 'return', etc.),
return result type of corresponding resolved call (it may depend on smart casts)
#KT-6242 Fixed
2014-11-21 14:02:42 +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
Alexander Udalov
3a8ad45dec
Append newline to EOF for .txt test data files
...
Reverts and fixes 102f0d3
2014-10-21 03:18:27 +04:00
Svetlana Isakova
a47729c626
KT-5455 Need warning about redundant type cast
...
#KT-5455 Fixed
2014-10-18 11:06:52 +04:00
Alexander Udalov
6698e0ecc9
Add test for outdated smart cast with elvis issue
...
#KT-5335 Obsolete
2014-10-16 16:38:11 +04:00
Svetlana Isakova
ce01c61811
Rename: auto cast -> smart cast
2014-10-01 18:52:52 +04:00
Nikolay Krasko
e796f88b38
Regenerate test data with constructed descriptors for diagnostics tests
2014-09-18 17:58:23 +04:00
Andrey Breslav
f1cf446e10
KT-5773 Smart cast doesn't work with Nothing on the rhs of "?:"
...
#KT-5773 FIxed
2014-09-15 18:24:13 +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
9ed57a5767
removed AutoCastReceiver
...
check subtype for receiver by AutoCastUtils.isSubTypeByAutoCast directly
#KT-4403 Fixed
#KT-4415 Fixed
2014-02-12 12:48:10 +04:00
Svetlana Isakova
cfb7bcb73b
use smart cast info while adding constraint for receiver
2013-12-19 22:05:52 +04:00
Svetlana Isakova
ab1d27dd6b
don't use data flow info while checking for receiver
...
receiver with smart cast is checked separately
2013-12-11 19:53:50 +04:00
Svetlana Isakova
46b77f4472
don't report unnecessary smart cast on receiver
2013-12-11 19:53:50 +04:00
Svetlana Isakova
33c04bde9a
changed tests where autocasts aren't needed but are reported
...
due to KT-4294
2013-12-11 19:53:50 +04:00
Svetlana Isakova
c30259dfbe
added info about smart casts to diagnostic tests
2013-12-11 19:53:50 +04:00
Svetlana Isakova
de85d3df72
KT-4009 Unnecessary attempt to do a smart cast causes an error
...
#KT-4009 Fixed
do not add smart casted types for vars to constraint system
2013-10-16 19:51:52 +04:00
Svetlana Isakova
928133b69b
small fixes after review
2013-09-03 13:09:10 +04:00
Svetlana Isakova
99bb6f13b5
data flow info for arg may affect next argument's type for type argument inference case
2013-09-02 23:18:45 +04:00
Svetlana Isakova
27cff93ed8
use data flow info in constraint system
...
intersect data flow value possible types
add intersection type (or exact type for the most cases) as a lower bound to constraint system
always get common super type for intersection type as a result
(avoid returning it, even in error messages)
2013-09-02 23:18:45 +04:00
Svetlana Isakova
2eadd5202d
check argument types through complete phase
...
with right data flow info
2013-09-02 23:18:42 +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
2337f4b948
bug fix
...
do not combine receiverInfo with error selectorInfo
2013-06-04 22:11:43 +04:00
Svetlana Isakova
f05f616230
KT-2422 Invalid warning "Condition is always true"
...
#KT-2422 fixed
2013-05-31 16:29:07 +04:00
Svetlana Isakova
7b6dfc3470
small fix while choosing maximally specific
...
return success if there is one candidate after filterOverrides step
#KT-1461 fixed
2013-03-11 14:54:16 +04:00