Commit Graph

63 Commits

Author SHA1 Message Date
Svetlana Isakova c3ff6a2430 fixed exponential building of cf graph
if there was en error in chained qualified expression
2013-12-27 16:02:16 +04:00
Svetlana Isakova 41f2fcbb40 while resolve 'equals' as a fake call do not throw away temporary trace 2013-12-11 19:53:51 +04:00
Svetlana Isakova 4c4e192914 Fixed: control flow graph building for array of functions.
'get' call for array should be get from INDEXED_LVALUE_GET
2013-12-06 15:58:45 +04:00
Andrey Breslav 97319808b6 Detecting tail calls through CFA 2013-12-06 00:28:12 +04:00
Andrey Breslav 9efa604cff Revert 4ca90e9c68 2013-12-05 14:04:50 +04:00
Andrey Breslav d665146e9a No real need to check whether expressions have already been marked 2013-12-05 13:29:54 +04:00
Andrey Breslav 4ca90e9c68 Proper instructions for elvis operator
We should not mark elvis operator unused, for the rhs may have desired side-effects
2013-12-05 13:28:41 +04:00
Andrey Breslav 3629a539e4 Smoke test data fixed 2013-12-05 13:28:40 +04:00
Andrey Breslav 6df3a3042c Properly handle the case of backing field access qualified with 'this' reference 2013-12-05 13:28:40 +04:00
Andrey Breslav 5b3bc7f839 Print instructions for functions in classes 2013-12-05 13:28:40 +04:00
Andrey Breslav 853ebe3436 Do not print trailing whitespace in test data 2013-12-05 13:28:39 +04:00
Andrey Breslav 87879ba654 Test data fixed: mark() instructions added 2013-12-05 13:28:39 +04:00
Andrey Breslav e09d3aab3a Test for CFA in string templates 2013-12-05 13:28:39 +04:00
Andrey Breslav 11fcd64949 Mark expressions for correct recognition by "unreachable code" 2013-12-05 13:02:17 +04:00
Andrey Breslav 6a4043c9a0 Do not display trivial sets of next/previous instructions in test data
For better readability of test failures
2013-12-05 13:02:17 +04:00
Andrey Breslav e8c94a9d1d Do not generate call for elvis + move dead code tests 2013-12-05 13:02:17 +04:00
Andrey Breslav e0cf73d989 Do not forget to process rhs on unsupported lhs 2013-12-05 13:02:16 +04:00
Andrey Breslav 6c519bb515 Render whitespace in elements without newlines and tabs 2013-12-05 13:02:16 +04:00
Andrey Breslav 81003ba298 CFA test data updated 2013-12-05 13:02:16 +04:00
Andrey Breslav ef194ffe23 Order fixed in assignment instructions with qualified expression on a lhs 2013-12-05 13:02:16 +04:00
Andrey Breslav 28acbcb219 Using call for set on an indexed expression in lvalue position 2013-12-05 13:02:15 +04:00
Andrey Breslav a5854560f0 Proper order of arguments in array setter calls 2013-12-05 13:02:15 +04:00
Andrey Breslav 163e5cfbb4 Properly process this in callee position 2013-12-05 13:02:15 +04:00
Andrey Breslav b15b075484 Tests for bug in CFA: no return in when() is now detected 2013-12-05 13:02:15 +04:00
Andrey Breslav ec39105183 Type parameter is not an expression: no need to report 'unused expression' on it 2013-12-05 13:02:14 +04:00
Andrey Breslav b5ae3adf77 Proper resolved calls for '==' 2013-12-05 13:02:14 +04:00
Andrey Breslav 87b6ec4990 Proper read instructions for function literals 2013-12-05 13:02:14 +04:00
Andrey Breslav 09a1736ab6 Recovery in qualified expressions 2013-12-05 13:02:06 +04:00
Andrey Breslav 1e2eb6dfa1 Special instructions added for calls and other constructs 2013-12-05 13:00:44 +04:00
Evgeny Gerashchenko eb5455e89f Got rid of "jet" file extension. 2013-10-01 19:32:38 +04:00
Natalia.Ukhorskaya 171144e641 Change ControlFlow for delegated property 2013-04-30 20:07:54 +04:00
Svetlana Isakova 6e8ac23689 removed allow dead collecting 2012-12-18 16:00:27 +04:00
Svetlana Isakova d778952512 fixed bug with incorrect copy of pseudocode part
(was noticeable in doTestCopy4 example)
labels after part should be repeated as well
2012-12-18 16:00:27 +04:00
Svetlana Isakova e15340bf3c use upper-case L in label name instead of lower-case 2012-12-18 16:00:27 +04:00
Svetlana Isakova 97058e628e added names for loop labels
updated control flow test data
2012-12-18 16:00:26 +04:00
Svetlana Isakova e72cdbc1f7 added tests for 'copy' finally pseudocode part 2012-12-18 16:00:26 +04:00
Svetlana Isakova f0dea9aee4 updated test data for try-finally 2012-12-18 16:00:26 +04:00
Svetlana Isakova 8860bab9f1 KT-2643 Support multi-declarations in Data-Flow analysis
#KT-2643 fixed
2012-08-20 18:48:09 +04:00
Svetlana Isakova 2971c1630e KT-2166 Control flow analysis doesn't detect that a 'while(true)' loop never terminates
KT-2103 Compiler requires return statement after loop which never exits
 #KT-2166 Fixed
 #KT-2103 Fixed
2012-06-09 13:33:25 +04:00
Svetlana Isakova 9ede882cd5 KT-2226 Parameter used as delegation by object marked as unused
#KT-2226 fixed
2012-06-09 13:33:25 +04:00
Svetlana Isakova d1d0722b5a tests for dead code in pseudocode 2012-05-28 12:09:45 +04:00
Svetlana Isakova 7a02cfcd25 order of declaration changed in tests 2012-05-28 12:09:45 +04:00
Svetlana Isakova edb529f68f added edge 'error' -> 'sink'
added 'getLocalDeclarations' method to pseudocode
2012-05-28 12:06:12 +04:00
Nikolay Krasko dcc6392eb4 Intermediate major refactorings for lazy resolve - test fix (order changed) 2012-05-11 19:27:56 +04:00
Svetlana Isakova cc244fad94 KT-1191 Wrong detection of unused parameters
KT-1219 Incorrect 'unused value' error in closures
2012-02-24 12:09:02 +04:00
Alex Tkachman 53bba59a4f dbl -> toDouble 2012-02-22 13:14:41 +02:00
Andrey Breslav bff62484b1 KT-1306123.lng or 123.sht is not good name 2012-02-20 21:42:13 +04:00
svtk e6a2b2fc0f //KT-1027 Strange selection of unreachable code 2012-01-17 15:43:11 +04:00
svtk 3a634417b9 KT-776 Wrong detection of unreachable code
KT-1001 Argument 2 for @NotNull parameter of JetFlowInformationProvider.checkIsInitialized must not be null
2012-01-17 15:27:54 +04:00
Andrey Breslav 6bad4830c3 Graet Syntactic Shift : Syntax for function literals fixed 2011-12-21 10:52:58 +02:00