Commit Graph

13186 Commits

Author SHA1 Message Date
Natalia Ukhorskaya 9c176ddaa8 Warning for integer overflow 2013-12-05 15:21:55 +04:00
Natalia Ukhorskaya b4b7988eec Refactoring 2013-12-05 15:21:54 +04:00
Natalia Ukhorskaya a99ce06e78 Move methods 2013-12-05 15:21:53 +04:00
Natalia Ukhorskaya 8da528a018 Add common method to parse char value 2013-12-05 15:21:53 +04:00
Natalia Ukhorskaya 888b747feb Rename 2013-12-05 15:21:52 +04:00
Natalia Ukhorskaya f996860f83 Move methods 2013-12-05 15:21:52 +04:00
Natalia Ukhorskaya 02e19ea8fd Add compileTimeConstant to checkConstantExpressionType method 2013-12-05 15:21:51 +04:00
Natalia Ukhorskaya 33d973f016 Delete DoubleValueTypeConstructor 2013-12-05 15:21:51 +04:00
Natalia Ukhorskaya d63f6843c8 Merge ConstantExpressionEvaluator and CompileTimeConstantResolver 2013-12-05 15:21:50 +04:00
Natalia Ukhorskaya e6923ba29e create StringValue only for primitive compile time values 2013-12-05 15:20:23 +04:00
Natalia Ukhorskaya 9593edc6e7 Rename Unary(Binary)OperationKey 2013-12-05 15:20:22 +04:00
Natalia Ukhorskaya 0bf7b60382 Generate map for ConstantExpressionEvaluator 2013-12-05 15:20:21 +04:00
Natalia Ukhorskaya 0bffa9f0ac Improve creation of compile constants for equals and compareTo 2013-12-05 15:20:20 +04:00
Natalia Ukhorskaya cbe04a6adf Simplify if (..==null) {return null} 2013-12-05 15:20:19 +04:00
Natalia Ukhorskaya 06cb48e300 Add inner visitor for StringEntries 2013-12-05 15:20:19 +04:00
Natalia Ukhorskaya dd0122a482 Rewrite evaluator to kotlin. Small refactoring 2013-12-05 15:20:18 +04:00
Natalia Ukhorskaya e23ef2dc98 Record compile time constants to trace 2013-12-05 15:20:16 +04:00
svtk 1bd63fefa4 Support equlas in ConstantExpressionEvaluator 2013-12-05 15:20:14 +04:00
svtk 32299a7b9b Resolve fake call for 'equals(Any?)' with actual right expression instead of fake one 2013-12-05 15:20:13 +04:00
Natalia Ukhorskaya 1d5d5486ce Support compareTo in ConstantExpressionEvaluator 2013-12-05 15:20:12 +04:00
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