Commit Graph

13208 Commits

Author SHA1 Message Date
Andrey Breslav 66e3743cc5 Useful method extracted + visiting strategy added 2013-12-05 21:41:02 +04:00
Andrey Breslav da1397b5bd Marker interface ReturnInstruction extracted 2013-12-05 21:33:51 +04:00
Svetlana Isakova e44fe3769a fixed compilation after return requirement for local functions added 2013-12-05 15:51:57 +04:00
Svetlana Isakova 8e27877817 check definite return in local functions 2013-12-05 15:51:57 +04:00
Svetlana Isakova d27c8b7d61 added test for obsolete task
#KT-4034 Fixed
2013-12-05 15:51:57 +04:00
Svetlana Isakova 3df37ee113 moved method 2013-12-05 15:51:57 +04:00
Svetlana Isakova 29acef7842 find pseudocodeVariablesData lazily 2013-12-05 15:51:57 +04:00
Natalia Ukhorskaya a9da88b425 Remove NumberValueTypeConstructor 2013-12-05 15:23:42 +04:00
Natalia Ukhorskaya 27e602133d Small fixes after review: do not set is_pure=true for named constants refactoring 2013-12-05 15:23:41 +04:00
Natalia Ukhorskaya 155cbbfc02 Add evaluator for java property initializer 2013-12-05 15:23:40 +04:00
Natalia Ukhorskaya e5a3518248 Parse longs with 'L' suffix. Report error if 'l' used. 2013-12-05 15:23:40 +04:00
Natalia Ukhorskaya 53d17bc4ce Rename CompileTimeConstantResolver to CompileTimeConstantChecker 2013-12-05 15:23:39 +04:00
Natalia Ukhorskaya b6ce6c5e5a Parse floats with 'F' or 'f' suffix 2013-12-05 15:22:01 +04:00
Natalia Ukhorskaya fb9a7e3c4c Create error value for division by zero 2013-12-05 15:22:00 +04:00
Natalia Ukhorskaya e805478d6c Get call expression type from compile time value if possible 2013-12-05 15:22:00 +04:00
Natalia Ukhorskaya e6c442ba04 Remove set of PROCESSED flag in updateRecordedType 2013-12-05 15:21:59 +04:00
Natalia Ukhorskaya 17152c39e0 Tear down for test 2013-12-05 15:21:59 +04:00
Natalia Ukhorskaya 53a5264aaf Use type from compile time value for binary expression 2013-12-05 15:21:58 +04:00
Natalia Ukhorskaya 6331dd2308 Fix toFloat in stdlib 2013-12-05 15:21:57 +04:00
Natalia Ukhorskaya cbcca6c08e Support IntegerValueTypeConstant in java backend 2013-12-05 15:21:57 +04:00
Natalia Ukhorskaya f329e245ad Support IntegerValueTypeConstant in js backend 2013-12-05 15:21:56 +04:00
Natalia Ukhorskaya 2a023c16a9 Use type from compile time value for prefix expression 2013-12-05 15:21:55 +04:00
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