Commit Graph

33450 Commits

Author SHA1 Message Date
Denis Zharkov cebe67d90c Fix default value generation after suspension point
Replace coercion from VOID with call 'pushDefaultValueOnStack'

It's necessary because coercion of VOID to java/lang/Object ends with Unit instance on stack
that makes variables spilling algorithm thinking that variable is Unit

 #KT-13409 Fixed
2016-09-01 15:03:31 +03:00
Denis Zharkov 1226d8fc2c Refine 'handleResult' calls generation within coroutines
Before this change everything works just fine for 'handleResult' methods
accepting non-Unit parameters

For other cases the same coercion-to-unit strategy is in plain lambdas:
- if last statement is not Unit type, execute it, pop from the stack, then put Unit instance
- for 'return@label' (no expression) just put Unit on the stack

 #KT-13531 Fixed
2016-09-01 15:03:31 +03:00
Denis Zharkov 12dad29336 Minor. Cleanup block codegen
- Clarify variable names
- Use explicit condition 'statements.isEmpty()' instead of implicit one 'answer == null'
2016-09-01 15:03:31 +03:00
Mikhail Glukhikh 2ab553243c Convert lambda to reference: use fully qualified type names if needed #KT-13438 Fixed
(cherry picked from commit e2e761e)
2016-09-01 14:44:36 +03:00
Mikhail Glukhikh a41c4b9a0f Convert lambda to reference: flexible receiver types are handled correctly #KT-13411 Fixed
(cherry picked from commit ecad1c3)
2016-09-01 14:44:22 +03:00
Mikhail Glukhikh 863e4afc7b Convert lambda to reference: no more allowed for extension KFunction parameters #KT-13527 Fixed
(cherry picked from commit 84c4ff7)
2016-09-01 14:44:11 +03:00
Mikhail Glukhikh ec41289664 Convert lambda to reference: range reduced to a call itself #KT-13661 Fixed
(cherry picked from commit f7b5d34)
2016-09-01 14:44:00 +03:00
Alexey Sedunov a6e3aac7ca Convert to Kotlin: AbstractExpressionSelectionTest 2016-09-01 13:43:54 +03:00
Alexey Sedunov 96a2c97aa2 Convert to Kotlin: AbstractExpressionSelectionTest (rename to .kt) 2016-09-01 13:43:53 +03:00
Alexey Sedunov b0a1eca1ce Convert to Kotlin: AbstractSmartSelectionTest 2016-09-01 13:43:52 +03:00
Alexey Sedunov 1ab40f6d88 Convert to Kotlin: AbstractSmartSelectionTest (rename to .kt) 2016-09-01 13:43:51 +03:00
Alexey Sedunov f6d0fca57b Refactoring: Split KotlinRefactoringUtil2.kt to several files 2016-09-01 13:43:50 +03:00
Alexey Sedunov b6a671c45f Convert to Kotlin: KotlinRefactoringUtil2 (replace object with top-level declarations) 2016-09-01 13:43:49 +03:00
Alexey Sedunov 16b4c2c70d Convert to Kotlin: KotlinRefactoringUtil2 (prettify) 2016-09-01 13:43:48 +03:00
Alexey Sedunov fc9b28884d Convert to Kotlin: KotlinRefactoringUtil2 2016-09-01 13:43:48 +03:00
Alexey Sedunov 1f8dba9c89 Convert to Kotlin: KotlinRefactoringUtil2 (rename to .kt) 2016-09-01 13:43:47 +03:00
Alexey Sedunov f47b416f2a Minor: Temporary rename of KotlinRefactoringUtil before conversion to Kotlin (to avoid conflict with existing kotlinRefactoringUtil.kt) 2016-09-01 13:43:46 +03:00
Alexey Sedunov da273419b9 fixup! Introduce Type Parameter 2016-09-01 13:43:45 +03:00
Alexey Sedunov 2f9a911624 Introduce Type Parameter
#KT-13155 Fixed
2016-09-01 13:43:44 +03:00
Mikhail Glukhikh cd717467f0 Nested classes are no more allowed inside any anonymous objects or local classes #KT-13510 Fixed
(cherry picked from commit 5c3ec6c)
2016-08-31 19:28:13 +03:00
Mikhail Glukhikh f8039249c6 CFA: additional jumps to catch / finally generated in the end of try / before exits from try #KT-5469 Fixed
Also #KT-13612 Fixed
(cherry picked from commit 7c188b3)
2016-08-31 19:28:09 +03:00
Mikhail Glukhikh 43954699a7 KT-13612 KotlinPositionManager: fixed initialization in try / catch
(cherry picked from commit ecae5c6)
2016-08-31 19:28:05 +03:00
Mikhail Glukhikh 6a9d058db4 UNUSED_VALUE is now reported on expression only if this expression is unused in all (e.g. finally) branches #KT-9825 Fixed
(cherry picked from commit aac8e94)
2016-08-31 19:28:00 +03:00
Valentin Kipyatkov e363809b37 Minor changes 2016-08-31 19:12:29 +03:00
Valentin Kipyatkov 05fae1d4db Optimization: don't search named arguments 2016-08-31 19:12:29 +03:00
Valentin Kipyatkov 29f61087ed More correct down-shifting to plain search 2016-08-31 19:12:29 +03:00
Valentin Kipyatkov 6562412bda Ignore usages in XML 2016-08-31 19:12:28 +03:00
Valentin Kipyatkov 06eea53246 Fixed bug with class using data class as type parameter in supers list 2016-08-31 19:12:28 +03:00
Valentin Kipyatkov b332867b25 Use one KtDestructuringDeclarationReference per each entry - better highlight usages and other actions 2016-08-31 19:12:28 +03:00
Valentin Kipyatkov 9cd7e9d519 Down-shifting to plain search when operator usage search required 2016-08-31 19:12:28 +03:00
Valentin Kipyatkov 5682c917f9 Fixed infinite recursion 2016-08-31 19:12:27 +03:00
Valentin Kipyatkov 9022c71949 Better testing 2016-08-31 19:12:27 +03:00
Valentin Kipyatkov d2ee10daa5 Fixed typo 2016-08-31 19:12:27 +03:00
Valentin Kipyatkov 8bfc746f4b Supported usage in super type list without parenthesis 2016-08-31 19:12:27 +03:00
Valentin Kipyatkov 5c1e42aa51 Class literal access supported 2016-08-31 19:12:27 +03:00
Valentin Kipyatkov 4cab04b24b Callable references handled 2016-08-31 19:12:26 +03:00
Valentin Kipyatkov 6af9567527 Extracted method 2016-08-31 19:12:26 +03:00
Valentin Kipyatkov 450d0dd5d1 Supported access to companion object members 2016-08-31 19:12:26 +03:00
Valentin Kipyatkov 63d4491eb8 More actions logged in tests 2016-08-31 19:12:26 +03:00
Valentin Kipyatkov 482225f622 Removed unused 2016-08-31 19:12:25 +03:00
Valentin Kipyatkov 724886c967 Better log 2016-08-31 19:12:25 +03:00
Valentin Kipyatkov f447321e58 Split test for 'for' 2016-08-31 19:12:25 +03:00
Valentin Kipyatkov c864fce035 Split one more test 2016-08-31 19:12:25 +03:00
Valentin Kipyatkov 1221b6bb67 Split test for whens 2016-08-31 19:12:24 +03:00
Valentin Kipyatkov dc1f2d5b5f And one more split test 2016-08-31 19:12:24 +03:00
Valentin Kipyatkov be94fe76f9 One more split test 2016-08-31 19:12:24 +03:00
Valentin Kipyatkov 0d9656d638 Split test 2016-08-31 19:12:24 +03:00
Valentin Kipyatkov 2ca163a375 Better testing via logging of performed operations 2016-08-31 19:12:23 +03:00
Valentin Kipyatkov 1e80ad3f98 Optimization 2016-08-31 19:12:23 +03:00
Valentin Kipyatkov 7a269a00af SAM-adapters supported 2016-08-31 19:12:23 +03:00