Commit Graph

71 Commits

Author SHA1 Message Date
Dmitry Gridin 11a3482970 tests: apply official code style
#KT-38632 Fixed
2020-05-07 12:36:44 +00:00
Dmitry Gridin 585177bcf7 Formatter: fix indent for multiline expression in string template
#KT-35359 Fixed
2020-04-14 13:54:12 +00:00
Dmitry Gridin de1fa40c7e CodeInliner: fix KNPE
#KT-22733 Fixed
#KT-36225 Fixed
#EA-206694 Fixed
2020-04-04 00:46:15 +07:00
Toshiaki Kameyama e56abcbb85 Inline variable: fix it works correctly for 'when' subject variable
#KT-29870 Fixed
2020-02-21 17:30:13 +01:00
Toshiaki Kameyama ff76ba52d8 Inline Function: fix false positive with inner function with 'return'
#KT-34190 Fixed
2020-02-11 16:23:57 +03:00
Dmitry Gridin c34b417d0c Fix tests after disabling trailing comma
#KT-34744
2020-02-04 21:34:53 +07:00
Dmitry Gridin d06787886a Fix tests after implementing trailing comma in formatter
#KT-34744
2020-01-17 21:02:54 +07:00
Toshiaki Kameyama 6b2e58cc0b Inline function: fix it works correctly for callable reference receiver
#KT-26248 Fixed
2020-01-13 11:59:42 +03:00
Mikhail Glukhikh ee37a0aa9f Inline callable: keep all usages inside annotation entries
#KT-24596 Fixed
2019-07-10 15:10:52 +03:00
Mikhail Glukhikh eb00af6b96 CFG: mark annotation arguments as "used as expressions" #KT-24596 Fixed
NB: only classes / function / properties annotations are considered here,
not including local declarations and other annotations
2019-07-10 15:10:52 +03:00
Mikhail Glukhikh 615aa265f5 Inline: do more precise check before adding this@Labeled #KT-30762 Fixed 2019-07-10 15:10:51 +03:00
Mikhail Zarechenskiy c95eddbbbe [IDE-NI-MIGRATE] Migrate few tests for new inference 2019-05-06 13:59:28 +03:00
Mikhail Glukhikh eba2fdfe89 Fix inline test 2017-10-16 21:06:18 +03:00
Valentin Kipyatkov 996292264b Fixed inline when multiple implicit receivers exist
#KT-17776 Fixed
 #KT-17266 Fixed
2017-07-27 13:55:25 +03:00
Dmitry Jemerov f32dc9e84e Put lambda parameters on the same line as opening curly brace 2017-06-14 14:18:58 +02:00
Mikhail Glukhikh 9c15db93d9 Inline: more accurate handling of type arguments
Partial revert of b8cc7c2ca6
Soften requirements in remove type arguments intention in this mode
So #KT-17622 Fixed
Related to KT-17623
2017-05-31 12:47:50 +03:00
Mikhail Glukhikh 38d6c597a3 Handle expected type more precisely in RemoveExplicitTypeArguments
So #KT-17623 Fixed
2017-05-31 12:46:59 +03:00
Valentin Kipyatkov c69375ebdc Remove redundant curly braces in string templates on inline 2017-05-26 16:37:37 +03:00
Valentin Kipyatkov ab1b985bac Inline Property supported for properties with setter
#KT-2638 Fixed
2017-05-26 16:37:36 +03:00
Valentin Kipyatkov e6bfa55534 Inline Property also supported for properties with getter 2017-05-26 16:37:36 +03:00
Valentin Kipyatkov 940ce27925 Inline val: more correct and simple detection of write usages
#KT-17489 Fixed
2017-05-26 16:37:35 +03:00
Valentin Kipyatkov 55979aca74 Drop result value if it's not needed 2017-05-26 16:37:35 +03:00
Mikhail Glukhikh 8fdb611e3b Do not try to inline properties from decompiled files
This removes GUI freeze for library properties #KT-17234 Fixed
2017-04-19 18:27:29 +03:00
Mikhail Glukhikh 6571a573f1 Use correct callElement for variable invoke in replacer
Check only 'status.isSuccess' before inlining, no descriptor check
Add two tests and fixes two other
2017-04-19 18:27:27 +03:00
Mikhail Glukhikh 4ef0096d46 Refactoring: inline val / fun now use the common inliner
This prevents their inconsistent work in some situations
NB: breaks three tests if used alone
2017-04-19 18:27:26 +03:00
Mikhail Glukhikh e6fa7356e1 Inline: support compound case without containing block #KT-17296 Fixed 2017-04-19 18:27:25 +03:00
Mikhail Glukhikh 91f7f19902 ExpressionReplacementPerformer: handle string templates accurately 2017-04-19 13:12:59 +03:00
Mikhail Glukhikh 815a367978 ReplacementPerformer: always copy statement to insert #KT-17273 Fixed 2017-04-19 13:12:58 +03:00
Mikhail Glukhikh 0f6b9473e9 Inliner: don't take into account nonexistent PSI to keep parameter
So #KT-17272 Fixed
2017-04-19 13:12:57 +03:00
Mikhail Glukhikh b8cc7c2ca6 Add type arguments more accurately during inlining 2017-04-19 13:12:56 +03:00
Mikhail Glukhikh f8e1f5e613 Inliner: specify explicit lambda signature for calls with lambdas
So #KT-17213 Fixed
So #KT-17395 Fixed
2017-04-19 13:12:55 +03:00
Mikhail Glukhikh 6453e10d44 If necessary, add parameter types while inlining lambda 2017-04-19 13:12:52 +03:00
Mikhail Glukhikh 8cfcd7e5a6 Inline function: add extra tests taken from intellij-community 2017-03-30 19:42:22 +03:00
Mikhail Glukhikh 091e875551 Inline function: process usages in children-first order 2017-03-30 19:42:19 +03:00
Mikhail Glukhikh 93b624fdbe Inline function: handle callable references through lambdas 2017-03-30 19:42:16 +03:00
Mikhail Glukhikh 75bb599991 Inline function: handle recursive calls 2017-03-30 19:42:14 +03:00
Mikhail Glukhikh b6803af746 KT-6159: generate Unit while code inlining when needed 2017-03-30 19:42:11 +03:00
Mikhail Glukhikh 081caadec1 Fix code inlining for expression body with multiple occurrences
So #KT-17022 Fixed
2017-03-30 19:42:09 +03:00
Mikhail Glukhikh 77888349cd KT-6159: rename duplicates met 2017-03-30 19:42:06 +03:00
Mikhail Glukhikh de861066bf KT-6159: allow local / private functions inlining 2017-03-30 19:42:03 +03:00
Mikhail Glukhikh 127b7c80df Some inline tests that do not work 2017-03-30 19:42:02 +03:00
Valentin Kipyatkov 85e1e53354 Checking for unsupported return's 2016-11-08 12:46:45 +03:00
Valentin Kipyatkov 4c4c85e37a Supported unit return type functions 2016-11-08 12:46:45 +03:00
Valentin Kipyatkov 08c6a21ac1 Handling safe calls of multi-statement function 2016-11-08 12:46:43 +03:00
Valentin Kipyatkov 330d3a255a introduceValue() always adds statement before except for safe call case 2016-11-08 12:46:42 +03:00
Valentin Kipyatkov 8f9f2027f2 Adding block to control structure when needed 2016-11-08 12:46:42 +03:00
Valentin Kipyatkov a4aa9bab8d Very basic version of inline function for block body 2016-11-08 12:46:42 +03:00
Valentin Kipyatkov 3b97a3feb1 Supported case when explicit function type is used 2016-11-08 12:46:41 +03:00
Valentin Kipyatkov 57411b4d5e Supported inline function for expression body case 2016-11-08 12:46:39 +03:00
Alexey Sedunov 8a5628cde5 Pull Up/Extract Super: Support members declared in the companion object of the original class 2016-09-27 21:26:28 +03:00