Commit Graph

13166 Commits

Author SHA1 Message Date
Natalia Ukhorskaya 08d80bbb16 Rewrite toInt and similar expression like unary expressions 2013-12-05 15:20:10 +04:00
Natalia Ukhorskaya 96dc8b42bb Support for unary expressions 2013-12-05 15:20:08 +04:00
Natalia Ukhorskaya b7b957ffd2 Deparentesize expression in ConstantExpressionEvaluator 2013-12-05 15:19:58 +04:00
Natalia Ukhorskaya 210899af22 Support && and || in ConstantExpressionEvaluator 2013-12-05 15:19:55 +04:00
Natalia Ukhorskaya f8f55799b9 Support or, and, xor and etc in ConstantExpressionEvaluator 2013-12-05 15:19:49 +04:00
Natalia Ukhorskaya 41387c3544 Support plus, minus, div, mod, multiply in ConstantExpressionEvaluator 2013-12-05 15:19:46 +04:00
Natalia Ukhorskaya 50d29e0526 Support string templates in ConstantExpressionEvaluator 2013-12-05 15:19:37 +04:00
Natalia Ukhorskaya c56c2263f0 Use propagation of constant values in evaluator 2013-12-05 15:19:30 +04:00
Natalia Ukhorskaya 0b1dd2d2be Support toInt, toChar and etc as CompileTimeConstants 2013-12-05 15:19:26 +04:00
Natalia Ukhorskaya f218bd1df2 Add NotNull annotations 2013-12-05 15:19:23 +04:00
Natalia Ukhorskaya 9dcee96734 Move test methods to separate class 2013-12-05 15:19:22 +04:00
Natalia Ukhorskaya c437b8c4dc Rename files 2013-12-05 15:19:22 +04:00
Natalia Ukhorskaya 64f8556a76 Extract evaluator from AnnotationResolver 2013-12-05 15:19:21 +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 0e1ccc4525 Rename parameter 2013-12-05 13:28:41 +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 5908211fbf Refactor JetControlFlowBuilderAdapter to avoid mutable fields 2013-12-05 13:00:44 +04:00
Andrey Breslav de3af6151b Proper assertion message 2013-12-05 13:00:44 +04:00
Andrey Breslav 1e2eb6dfa1 Special instructions added for calls and other constructs 2013-12-05 13:00:44 +04:00
Andrey Breslav 0b575da5d3 @NotNull annotations in instruction classes 2013-12-05 12:56:17 +04:00
Andrey Breslav 3110edaca6 Useless assertions removed 2013-12-05 12:56:17 +04:00
Andrey Breslav f26fe1b71a Rename method and class 2013-12-05 12:56:17 +04:00
Andrey Breslav 750390704d Rename methods 2013-12-05 12:56:17 +04:00
Andrey Breslav 5bedec575d Adding local functions through builder 2013-12-05 12:56:17 +04:00
Andrey Breslav 0a3557d331 Rename class 2013-12-05 12:56:16 +04:00
Andrey Breslav 47ea25dbc2 Rearranged declarations, added missing annotations in JetControlFlowBuilder 2013-12-05 12:56:16 +04:00
Andrey Breslav 8b0eea76ef Field made final 2013-12-05 12:56:16 +04:00
Alexander Udalov 1760c3c90c Fix test data for Char members 2013-12-04 18:35:53 +04:00