Commit Graph

53 Commits

Author SHA1 Message Date
Pavel Kirpichenkov 83144d59be Fix tests 2020-06-10 10:58:42 +03:00
Alexander Udalov 9187a85aaf Rename UseExperimental->OptIn, Experimental->RequiresOptIn in quickfix and IDE tests 2020-01-14 21:04:43 +01:00
Nikolay Krasko 751a18e64b Minor: update test data PartialBodyResolveTestGenerated 2019-09-30 13:38:26 +03:00
Dmitry Savvinov 7887bafc5b Minor: update testdata in completion test on contracts 2018-10-18 12:09:10 +03:00
Dmitry Savvinov f90b29c2e3 Support contracts in PartialBodyResolveFilter
Previously, PartialBodyResolveFilter didn't know about contracts and was
filtering out calls of such functions, leading to unstable completion in
cases like that:

fun test(x: Any?) {
    require(x is String)
    x.<caret>
}

However, PartialBodyResolveFilter works by pure PSI, while to determine
if function has a contract we have to resolve it.

To solve it, we do something very similar to what has been done with
Nothin-returning functions: introduce
KotlinProbablyContractedFunctionShortNameIndex, which collects all
function which *may* have a contract during indexing.

^KT-25275 Fixed
2018-07-27 16:59:24 +03:00
Valentin Kipyatkov c0d89e67a9 Do not resolve all bodies of anonymous objects and local classes in partial body resolve 2016-11-02 19:25:25 +03:00
Valentin Kipyatkov 4cd7193047 KT-11018 Ctrl + Mouse Hover shows a var as val
#KT-11018 Fixed
2016-02-13 10:20:20 +03:00
Ilya Gorbunov 801a26a544 Fix testData 2016-02-01 22:20:30 +03:00
Ilya Gorbunov 25c4453dc5 Cleanup deprecated symbol usages in testData 2016-01-22 05:54:38 +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
Ilya Gorbunov f20bfa7fb8 Fix test expectation failures caused by changed signatures. 2015-11-04 22:19:45 +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
Ilya Gorbunov 7f7cc02256 Fix deprecations in testData: partial body resolve tests. 2015-09-19 05:04:28 +03:00
Valentin Kipyatkov 745bed74b2 Minor fix in partial body resolve 2015-07-16 13:49:20 +03:00
Denis Zharkov 44a55e5bf6 Adjust testData to new labels syntax 2015-04-29 14:03:11 +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
Valentin Kipyatkov c54541b269 Functions returning Nothing are indexed even when alias import is used 2015-04-02 10:16:59 +03:00
Valentin Kipyatkov cd18b16407 Partial body resolve: fixed for ! and parenthesis in conditions 2015-04-01 23:21:22 +03:00
Valentin Kipyatkov 698d839eee Added a test 2015-04-01 23:21:22 +03:00
Valentin Kipyatkov f3799a0ce7 Partial body resolve correctly handles elvis operator 2015-04-01 23:21:22 +03:00
Valentin Kipyatkov 176ba937ba Partial body resolve filter works more precisely for if-statements 2015-04-01 23:21:21 +03:00
Stanislav Erokhin 639003b8a8 Allowed function parameter without type declaration in the parser 2015-03-12 17:11:52 +03:00
Valentin Kipyatkov 27f5d71e4f Fixed bug in partial body resolve 2015-03-03 19:22:27 +03:00
Valentin Kipyatkov 0cffdeb973 Added 2 failing tests for bugs in resolve 2015-01-30 13:33:36 +03:00
Valentin Kipyatkov 8f32a6c1f9 Partial body resolve test to test 2 resolve modes 2014-12-18 15:48:27 +03:00
Valentin Kipyatkov 32a13502c5 Fixed one of the cases with lambda's returning Nothing 2014-11-24 20:11:29 +03:00
Valentin Kipyatkov bd8eaeedaa Added tests for lambda's returning Nothing (currently do not work) 2014-11-24 20:11:29 +03:00
Valentin Kipyatkov 6cb6a907d7 Changed test output from line comments to block comments 2014-11-24 20:11:29 +03:00
Valentin Kipyatkov 0f59622a44 Checked that partial body resolve works for property delegating 2014-11-24 20:11:28 +03:00
Valentin Kipyatkov 0b56760910 Partial body resolve works for property accessor body 2014-11-24 20:11:27 +03:00
Valentin Kipyatkov 8ccf56415a Partial body resolve filter: fixed nested loops case 2014-11-24 20:11:27 +03:00
Valentin Kipyatkov cc84e9682b Partial body resolve: corrected it for explicit function type but unfortunately it does not work for non-explicit type yet 2014-11-24 20:11:27 +03:00
Valentin Kipyatkov 058af69078 Partial body resolve: added more tests 2014-11-24 20:11:27 +03:00
Valentin Kipyatkov 2f19713cc2 Partial body resolve: rewritten algorithm of filter building to ensure correct resolve of smart cast points (+ prepared to support more strict mode for resolve only) 2014-11-24 20:11:27 +03:00
Valentin Kipyatkov cd90ab951f Partial body resolve tests: more informative test output 2014-11-24 20:11:27 +03:00
Valentin Kipyatkov 4503adb7fc Partial body resolve filter: more correct lambda resolve for return 2014-11-24 20:11:26 +03:00
Valentin Kipyatkov 4ca8a3400e Added a test 2014-11-24 20:11:26 +03:00
Valentin Kipyatkov 166d580682 Partial body resolve: found group of cases incorrectly handled by the current implementation 2014-11-24 20:11:26 +03:00
Valentin Kipyatkov 6230ba7310 "casted" -> "cast" 2014-11-24 20:11:25 +03:00
Valentin Kipyatkov 8010c0f09d Partial body resolve works for local Nothing functions + does not go inside local functions and classes 2014-11-24 20:11:25 +03:00
Valentin Kipyatkov e5579bcf32 Partial body resolve: to take source Kotlin callables with Nothing type from caches 2014-11-24 20:11:25 +03:00
Valentin Kipyatkov 992cdd9fe2 Partial body resolve: processing of standard "error" function 2014-11-24 20:11:25 +03:00
Valentin Kipyatkov ca8d45259b Partial body resolve: added a test to fail if smart-casts will become too clever 2014-11-24 20:11:25 +03:00
Valentin Kipyatkov e7ba59b209 Partial body resolve: correct handing of this qualifier 2014-11-24 20:11:24 +03:00
Valentin Kipyatkov f56d89c487 Partial body resolve: don't be confused by exits after ?: 2014-11-24 20:11:24 +03:00
Valentin Kipyatkov e724af4b4e Partial body resolve: more efficient handling if-statements 2014-11-24 20:11:24 +03:00
Valentin Kipyatkov 0a7d73ef6b Partial body resolve: more efficient handling of loops 2014-11-24 20:11:24 +03:00
Valentin Kipyatkov 806bf3b942 Partial body resolve: more efficient handling of while 2014-11-24 20:11:24 +03:00
Valentin Kipyatkov 38c73f8df4 Partial body resolve: added test for do-while 2014-11-24 20:11:24 +03:00
Valentin Kipyatkov a89c07924d Partial body resolve: fixed bug 2014-11-24 20:11:24 +03:00