Commit Graph

16169 Commits

Author SHA1 Message Date
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
Andrey Breslav 86e8a1d410 Do not report declaration clashes on MANY_IMPL_MEMBER_NOT_IMPLEMENTED 2014-06-19 22:12:01 +04:00
Andrey Breslav b076dc3b58 Test for signature clash in fields copied from class object 2014-06-19 22:12:01 +04:00
Andrey Breslav f0da5d570e Do not report "accidental overrides" when "override" modifier is specified 2014-06-19 22:12:01 +04:00
Andrey Breslav 9f29a8b263 Test for required class 2014-06-19 22:12:00 +04:00
Andrey Breslav 9ecbeeb100 Filter diagnostics in the CLI compiler, as well as in the IDE 2014-06-19 22:12:00 +04:00
Andrey Breslav 61c7c2f1a1 Minor. Extract function 2014-06-19 22:11:59 +04:00
Andrey Breslav 98701b7c6e Properly check overloads in enum 2014-06-19 22:11:59 +04:00
Andrey Breslav f1545963f3 Generate $propertyMetadata field in LIGHT_CLASSES mode 2014-06-19 22:11:58 +04:00
Andrey Breslav 654dd5afff Tests for more special names 2014-06-19 22:11:58 +04:00
Andrey Breslav 777f3d1341 Codegen tests now fail on JVM-specific errors 2014-06-19 22:11:57 +04:00