Commit Graph

16186 Commits

Author SHA1 Message Date
Alexey Sedunov d6755b91ee Minor: Remove unnecessary action binding 2014-06-23 21:10:42 +04:00
Alexey Sedunov 66405cf883 Minor: Allow to select individual cells in Extract Function dialog 2014-06-23 21:10:40 +04:00
Alexey Sedunov 6be8ea5b19 Minor: Replace deprecated function call 2014-06-23 21:10:38 +04:00
Alexey Sedunov 64a2fde80a Extract Function: Fix signature update on dialog opening 2014-06-23 21:10:36 +04:00
Alexey Sedunov 0a89b26030 Extract Function: Implement UI for parameter type selection 2014-06-23 21:10:34 +04:00
Alexey Sedunov ca16f4231f Extract Function: Infer parameter type candidates
#KT-4940 Fixed
2014-06-23 21:10:12 +04:00
Alexey Sedunov 96557e6d3f DFS: Terminate traversal if node handler returns false 2014-06-23 19:32:36 +04:00
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