Igor Yakovlev
9e05c702ab
Fix KtDotQualifiedExpressionElementType stub building for complex qualified elements
...
Fixed #EA212081
2020-02-12 18:59:35 +03:00
Mikhail Zarechenskiy
45bbdaf73f
Add base declaration checker for fun interfaces
2020-02-12 10:36:39 +03:00
Dmitry Petrov
c5f14a29a4
PSI2IR: Generate adapted callable references
...
Callable reference is "adapted" if it requires some adaptation to an
expected function type - e.g., when a reference to
```
fun foo(vararg xs: Int): Int
```
is used where `(Int, Int, Int) -> Int` is expected.
For such callable references we generate the following IR (in
pseudo-Kotlin):
```
{
fun foo'(p0: Int, p1: Int, p2: Int): Int {
return [| foo(p0, p1, p2) |]
}
::foo'
}
```
where `[| foo(p0, p1, p2) |]` is calling function `foo` with arguments
`p0`, `p1`, and `p2`, as they were mapped by callable reference
resolution.
2020-01-24 11:21:25 +03:00
Dmitry Petrov
89c832b5a0
FE: provide argument mapping info for adapted callable reference
2020-01-24 11:21:25 +03:00
Dmitry Gridin
80194dd536
Trailing comma: cleanup code after review
...
#KT-34744
2020-01-23 17:36:38 +07:00
Dmitry Gridin
ac8a8ecab4
ktPsiUtil: cleanup code
2020-01-23 17:36:38 +07:00
Mikhail Zarechenskiy
8206cadce2
FIC: support fun interfaces in stub builder
2020-01-17 19:36:12 +03:00
Mikhail Zarechenskiy
f7ce1c669b
FIC: Introduce isFun property for descriptors and proto
2020-01-17 19:35:06 +03:00
Mikhail Zarechenskiy
6655f0fc4c
FIC: Increase STUB version because of changes in parser for declarations
2020-01-17 19:35:05 +03:00
Mikhail Zarechenskiy
4aa195e912
FIC: Parse fun keyword in front of interface as a modifier
2020-01-17 19:35:05 +03:00
Dmitry Gridin
d013fc2234
Formatter: support trailing comma in when entry
...
#KT-34744
2020-01-17 21:02:53 +07:00
Dmitry Gridin
4adfaab3ec
Formatter: support trailing comma in lambda parameters
...
#KT-34744
2020-01-17 21:02:53 +07:00
Dmitry Gridin
bf92517500
KtVisitorVoid: add missing visitCollectionLiteralExpression
2020-01-17 21:02:52 +07:00
Vladimir Dolzhenko
d176a26cdb
Improve investigation info in KtDotQualifiedExpression
...
Relates to #EA-212081
2020-01-14 12:15:04 +01:00
Vladimir Dolzhenko
d644c0125a
Add more investigation info to getFilesForElements
...
Relates to #EA-209630
2020-01-14 12:11:32 +01:00
victor.petukhov
fc7b836151
Fix isNegated psi method in KtWhenConditionInRange
...
^KT-34395 Fixed
2020-01-13 15:36:33 +03:00
Dmitriy Novozhilov
f083edfac2
Allow contracts on final non-override members since 1.4
2019-12-26 17:43:27 +03:00
Aleksey Kladov
0aa527347d
Stubs don't break KtTypeAlias::isTopLevel
...
`foo ?: bar is baz` is parsed as `(foo ?: bar) is baz`. So, if stub is non-null, this always returns `False`, because `Boolean` is definitely not a `KtFile`. See https://pl.kotl.in/6DtggcImf
This Kotlin's "most vexing parse" badly needs a diagnostics.
2019-12-26 10:36:40 +03:00
Ilya Chernikov
7bb9f97b11
Allow to separate top-level script declarations and statements with semicolon
...
This fix allows to write one-liner scripts like "val x = 3; println(x)", which
were previously rejected by the parser.
2019-12-02 16:46:54 +01:00
Vladimir Dolzhenko
a6f829f267
Add secondary ctors to incremental analysis
...
Relates to #KT-35121
2019-11-29 18:30:01 +01:00
victor.petukhov
62d204f4d6
Support trailing comma
...
^KT-34743 Fixed
2019-11-01 19:40:20 +03:00
Yan Zhulanow
fa45122c6b
Minor: Fix warnings in KtCodeFragment
2019-10-24 21:33:00 +09:00
Vladimir Dolzhenko
30229da95a
Don't render pure error types in OverrideMemberChooserObject
...
#KT-34379 Fixed
2019-10-21 17:18:23 +02:00
Toshiaki Kameyama
d86e87d35e
Add quickfix to change object to class
...
#KT-33586 Fixed
2019-10-02 19:42:30 +07:00
Alex Chmyr
b8cce67d2e
KT-19355 fix for "Variable expected" error after J2K for increment/decrement of an object field
2019-09-25 10:08:42 +03:00
Natalia Selezneva
8f2aaf62c2
Implement modification stamp for ScriptInitializer
...
This should influence ResolveElementCache to correctly update caches
because it rely on modifications stamps of the declaration
Before this change file.modificationStamp was used for script initializers in file, so they all became outdated after some change in file
2019-09-12 09:56:42 +03:00
Ilya Kirillov
c28515be59
New J2K: use nullable type for unknown for public declarations & prepare for mutability inference
...
#KT-32518 fixed
2019-09-10 14:09:25 +03:00
Nikolay Krasko
372c6377e8
Remove AstLoadingUtil after removing 182
...
#KT-33536 Fixed
2019-08-30 12:13:50 +03:00
Nikolay Krasko
4d0fc1dc22
Remove 182 support
...
#KT-33536 Fixed
2019-08-30 12:13:44 +03:00
Dmitry Gridin
1c98cb763e
addRemoveModifier: shouldn't add extra new line
...
#KT-26635 Fixed
2019-08-27 17:26:09 +07:00
Ilya Chernikov
5208318f34
Fix dependency resolution during gradle project configuration
2019-08-21 20:17:53 +02:00
Yan Zhulanow
8211e73f7e
Revert "Evaluator: Do not report parsing error on empty block/expression (KT-11938)"
...
KT-11938 reopened because of KT-32699.
This reverts commit 6686ed2e
2019-08-07 01:15:33 +09:00
Yan Zhulanow
b1f132d750
Debugger: Add stepping tests for function breakpoints
2019-08-07 01:15:27 +09:00
Nikolay Krasko
83e422fc3b
Workaround copied kotlin element happened to be outside the KtFile
...
Can be reproduced after revert with
IdeLightClassTestGenerated$Local.testDollarsInNameLocal test.
2019-08-01 18:21:13 +03:00
Ivan Cilcic
250d86b692
Rename "MyKotlinParser" to "KotlinLightParser"
2019-08-01 15:14:28 +03:00
Ivan Cilcic
8dd72a5cf2
Write lambda expressions and local members parsing (light tree to FIR)
2019-08-01 15:14:24 +03:00
Ivan Cilcic
be073ce2e6
Reformat LightTree2Fir class to be able to parse block of code
2019-08-01 15:14:23 +03:00
Ivan Kylchik
f0a5408eb6
Modify previously added test
2019-08-01 15:14:16 +03:00
Ilya Kirillov
f79b282c60
New J2K: add better support of implicit functional interfaces
...
#KT-32702 fixed
#KT-19327 fixed
2019-07-25 14:34:34 +03:00
victor.petukhov
6a679d86ab
Support non-parenthesized annotations on functional types without receiver
...
^KT-31734 Fixed
2019-07-17 16:18:15 +03:00
Yan Zhulanow
6686ed2e38
Evaluator: Do not report parsing error on empty block/expression (KT-11938)
2019-07-08 16:25:18 +09:00
Dmitry Gridin
430aed6559
Minor: clean up code
2019-07-05 19:28:02 +07:00
Toshiaki Kameyama
1f89c0f730
"Convert to sealed class" intention: don't suggest when no "class" keyword
...
#KT-32365 Fixed
2019-07-05 19:28:02 +07:00
Nikolay Krasko
96f0f444ad
Remove dependency to IconLoader from compiler
2019-06-25 11:48:58 +03:00
Alexander Podkhalyuzin
c853ae49a2
Faster startup avoiding unnecessary class loading
2019-06-18 12:08:04 +02:00
Toshiaki Kameyama
fbd992f8c7
Add intentions to convert lazy <--> ordinary property
...
#KT-23501 Fixed
2019-06-17 01:10:19 +03:00
Toshiaki Kameyama
b650c7ab00
Add "Redundant empty initializer block" inspection
...
^KT-5008 Fixed
2019-06-14 12:27:21 +03:00
Igor Yakovlev
fc30e564ba
Add support ultra light suspend functions declarations
2019-06-07 17:54:03 +03:00
Dmitry Gridin
8b0b135112
Add new line after modifier list if last child is comment
...
#KT-30804 Fixed
2019-06-07 12:23:06 +07:00
Denis Zharkov
753a9a1c36
Fix performance regression caused by contracts
...
Do not obtain all children from KtBlockExpression when you only need
the first one.
It might be crucial for a huge blocks of code
2019-05-31 11:21:15 +03:00