Commit Graph

16179 Commits

Author SHA1 Message Date
Alexey Sedunov e5ce5b7127 Extract Function: Fix call replacement for the case of lambda extraction 2014-06-23 19:32:35 +04:00
Alexey Sedunov a3f215fb34 Extract Function: Support extraction of "it" parameter from lambdas 2014-06-23 19:32:33 +04:00
Alexey Sedunov 14362134bd Extract Function: Traverse nested pseudocode instructions
#KT-5178 Fixed
2014-06-23 19:32:31 +04:00
Alexey Sedunov c7d8ab8219 Extract Function: Add support of property-as-function calls
#KT-5179 Fixed
2014-06-23 19:32:30 +04:00
Alexey Sedunov 6bc3772d29 Override/Implement: Add test to cover import optimization in the case of multiple import insertion (see #KT-4732) 2014-06-23 19:32:29 +04:00
Alexey Sedunov 5be7eb8a5c Shorten References: Do not optimize imports until shortening is finished
#KT-5227 Fixed
2014-06-23 19:32:27 +04:00
Alexey Sedunov 53c49b6333 Shorten References: Do not shorten qualified expression if receiver values are changed
#KT-5180 Fixed
2014-06-23 19:32:26 +04:00
Alexey Sedunov 5e2c2b4eca Pseudocode: Implement computation of expected type predicates 2014-06-23 19:32:25 +04:00
Alexey Sedunov 50228fa085 Pseudocode: Generate correct values for postfix increment/decrement 2014-06-23 19:32:22 +04:00
Alexey Sedunov 7c837909d8 Pseudocode: Bind result values to elements retrieved from resolved calls 2014-06-23 19:32:21 +04:00
Alexey Sedunov 4debb6eb6a Expression Typing: Record resolved calls for labeled this-expressions 2014-06-23 19:32:20 +04:00
Alexey Sedunov d01d186130 Pseudocode: Fix depth-first pseudocode traversal 2014-06-23 19:32:18 +04:00
Natalia Ukhorskaya 0968ea6914 Eval4j: catch IndexOutOfBounds exceptions 2014-06-23 17:40:05 +04:00
Natalia Ukhorskaya bdc60441c0 Try-catch exception value is not visible in debugger's local variables
#KT-3070 Fixed
2014-06-23 17:40:04 +04:00
Natalia Ukhorskaya a17bcce682 Add tests for exceptions from evaluate expression 2014-06-23 17:39:53 +04:00
Natalia Ukhorskaya 1687b9cbca Eval4j: add exception type in ExceptionThrown result 2014-06-23 17:39:23 +04:00
Natalia Ukhorskaya 28cbe95e0c Generate invokeSpecial for all private functions 2014-06-23 17:17:42 +04:00
Natalia Ukhorskaya c847d180a7 Eval4j: add ignore annotations for tests 2014-06-23 17:17:41 +04:00
Natalia Ukhorskaya fab770a346 Eval4j: support invokespecial instruction 2014-06-23 17:17:40 +04:00
Natalia Ukhorskaya 3edd6b52cf Evaluate expression: test cache using logger 2014-06-23 17:17:40 +04:00
Natalia Ukhorskaya b5f6df3144 Cache bytecodes for JetCodeFragment in Evaluate Expression 2014-06-23 17:17:39 +04:00
Natalia Ukhorskaya 53a1abf2e6 DescriptorUtils.isSubclass: check type constructors for equality instead of checking descriptors 2014-06-23 17:17:38 +04:00
Natalia Ukhorskaya 0c17bbe1c4 Minor: fix warnings 2014-06-23 17:17:38 +04:00
Natalia Ukhorskaya f4b01b5f47 Correct context element for watches 2014-06-23 17:17:37 +04:00
Natalia Ukhorskaya a593738ca6 Refactoring: extract method 2014-06-23 17:17:36 +04:00
Natalia Ukhorskaya 7671962284 Evaluate expression: move helper methods for extract function to separate file 2014-06-23 17:17:36 +04:00
Natalia Ukhorskaya 03d2e89c6b Fix typo 2014-06-23 17:17:35 +04:00
Natalia Ukhorskaya 906a3ea905 Evaluate expression: test with doubles 2014-06-23 17:17:35 +04:00
Natalia Ukhorskaya 250b9b500b Eval4j: initialize frame with local variables values using type size
#KT-5133 Fixed
2014-06-23 17:17:34 +04:00
Svetlana Isakova 2077604d6d Compute pseudo value for parameter correctly:
do not throw away pseudo value for default value
2014-06-23 14:30:16 +04:00
Svetlana Isakova d150bfbce0 Removed CFPContext
flag 'inCondition' became unused
2014-06-21 12:26:34 +04:00
Svetlana Isakova 9d4aad3bbc Extracted 'generateBooleanOperation'
Generate magic instruction for '&&, ||' in condition as well
2014-06-21 12:26:34 +04:00
Svetlana Isakova 4279da12f5 KT-5200 Mark unreachable code in lambdas
#KT-5200 Fixed
2014-06-21 12:26:33 +04:00
Svetlana Isakova abfc8ed7e8 KT-5155 Auto-casts do not work with when
#KT-5155 Fixed
2014-06-21 12:26:33 +04:00
Svetlana Isakova 17c4930404 KT-2334 An error 'local function without body' is not reported
#KT-2334 Fixed
2014-06-21 12:26:33 +04:00
Svetlana Isakova 79cec6411d Mark only unreachable parts of element if it has reachable parts
like for 'return todo()' mark only 'return'
2014-06-21 12:26:33 +04:00
Svetlana Isakova 88ecc5cc59 Evaluate default value for argument non-deterministically
in pseudocode
2014-06-21 12:26:33 +04:00
Svetlana Isakova 9480907514 Mark some expressions after processing their components
when it's semantically correct

Expressions: calls, 'for' loops, elvis operators
It's significant for reporting 'unreachable code' correctly
2014-06-21 12:26:32 +04:00
Svetlana Isakova 6e622f2301 Highlight all text ranges for diagnostics in tests 2014-06-21 12:26:32 +04:00
Svetlana Isakova 67fd858432 Rename: getAllInstructions -> getInstructionsIncludingDeadCode
Added this method to 'Pseudocode' interface instead of 'getDeadInstructions',
added 'isDead' to 'Instruction' interface
2014-06-21 12:26:32 +04:00
Svetlana Isakova 4efeb2eae2 Refactoring: extracted 'reportUnreachableCode' 2014-06-21 12:26:32 +04:00
Pavel V. Talanov fc19f1db44 Minor: improve assertion message in SpecifyTypeExplicitlyFix 2014-06-20 22:23:24 +04:00
Andrey Breslav 868e0d9306 LOG.error() instead of exception for "Rewrite at slice" errors 2014-06-20 19:55:50 +04:00
Zalim Bashorov 79b7b1c447 JS stdlib: added test for using special names(i.e. Object.prototype members) in Maps and Sets. Fixed the support special names in PrimitiveHashMap. 2014-06-20 16:42:43 +04:00
Zalim Bashorov 6f5c88c21f JS stdlib: added LinkedHashMap abd LinkedHashSet. 2014-06-20 16:42:43 +04:00
Zalim Bashorov a2584dc6d7 JS backend: added entrySet to HashMap implementations and fixed iteration over maps. 2014-06-20 16:42:43 +04:00
Zalim Bashorov 516af6c908 JS backend: added expected receiver type for intrinsics. 2014-06-20 16:42:43 +04:00
Zalim Bashorov 247808e17b IDEA plugin: fixed crashing ifExpressionToElvis intention when applying to if expression which is part of another expression.
#EA-57307 fixed
2014-06-20 16:42:42 +04:00
Andrey Breslav 64175d3996 Tests for some more cases of JVM signature clashes 2014-06-20 15:51:47 +04:00
Andrey Breslav e2c5d9edf6 Support reporting errors on class objects and any classes or objects contained anywhere 2014-06-19 22:12:02 +04:00