Iaroslav Postovalov
8a7bc2ef6f
Rename continuation fields according the convention and count them in IR
2020-12-23 19:45:13 +01:00
Iaroslav Postovalov
cd2b05eb00
Discard misc.xml changes
2020-12-23 19:45:11 +01:00
Iaroslav Postovalov
165ba85337
Remove useless OptIn annotation
2020-12-23 19:45:09 +01:00
Iaroslav Postovalov
b13822bb2d
Remove unrelated change
2020-12-23 19:45:07 +01:00
Iaroslav Postovalov
6f34f00c61
Do not generate the field for unused parameters in suspend lambdas
2020-12-23 19:45:04 +01:00
Ilmir Usmanov
f49cf2d5ca
IC Mangling: correctly mangle inline default functions
...
#KT-43682 Fixed
2020-12-23 18:13:09 +01:00
Ilya Kirillov
7c9cf45a3f
FIR IDE: fix testdata
2020-12-23 17:16:32 +01:00
Ilya Kirillov
b2b364eca6
FIR IDE: resolve fir file to BODY_RESOLVE when it requested by getOrBuildFir
2020-12-23 17:16:30 +01:00
Ilya Kirillov
fa42f9302e
FIR IDE: unmute passing test
2020-12-23 17:16:29 +01:00
Ilya Kirillov
ce77903898
FIR IDE: add deadlock checking for read/write resolve locks
2020-12-23 17:16:28 +01:00
Ilya Kirillov
0ec152e457
FIR IDE: fix deadlock in override check
...
We should not call withFir nestedly as resolving in read action causing deadlocks
2020-12-23 17:16:26 +01:00
Ilya Kirillov
8a17a16ee2
FIR IDE: consider modification in invalid PSI as OOBM
2020-12-23 17:16:25 +01:00
Ilya Kirillov
d06a5fb413
FIR IDE: disable some script stuff in FIR plugin as causes exceptions
2020-12-23 17:16:23 +01:00
Ilya Kirillov
70b1edb81d
FIR IDE: allow using some light classes stuff from EDT :(
...
IJ Platform can call light classes methods from EDT from random places
2020-12-23 17:16:22 +01:00
Ilya Kirillov
306b46b8f2
FIR IDE: consider FirErrorReferenceWithCandidate as reference with error
2020-12-23 17:16:21 +01:00
Ilya Kirillov
9a86d2e10c
FIR IDE: do not mark declaration with some lazy resolve phase if only some children are resolved to that phase
...
Otherwise, we will not be able to resolve parent one
2020-12-23 17:16:19 +01:00
Ilya Kirillov
1e2536402d
FIR: render constructor resolve phase in FirRenderer when renderDeclarationResolvePhase is requested
2020-12-23 17:16:18 +01:00
Ilya Kirillov
85c65e20b3
FIR: add meaningful error message when type ref is unresolved
2020-12-23 17:16:17 +01:00
Ilya Kirillov
6ad396f417
FIR: use transformer creator from existing return type calculator when creating a new one
2020-12-23 17:16:16 +01:00
Ilya Kirillov
68f6e734be
FIR IDE: add test case for resolving call as value argument
2020-12-23 17:16:14 +01:00
Ilya Kirillov
af5aa5fa66
FIR IDE: add more info to the call resolve error message
2020-12-23 17:16:13 +01:00
Ilya Kirillov
c5788290f3
FIR IDE: refactor: move designation & transformer creation in lazy resolve to separate functions
2020-12-23 17:16:12 +01:00
Ilya Kirillov
c61b0d1f31
FIR IDE: fix designation collection for lazy resolve
2020-12-23 17:16:11 +01:00
Roman Golyshev
3aef1154c8
FIR IDE: Get rid of FirTransformerProvider class
...
Instead, create `ScopeSession` by hand and pass it as a parameter when
it is crucial for the performance
2020-12-23 17:16:09 +01:00
Ilya Kirillov
d3cab96ca0
FIR IDE: consider declaration to be lazy resolvable if it has fqName
2020-12-23 17:16:07 +01:00
Ilya Kirillov
8e592bdff0
FIR IDE: invalidate analysis session cache on out of block
2020-12-23 17:16:02 +01:00
Ilya Kirillov
9c26edbaaa
FIR IDE: split ValidityToken.isValid into isValid & isAccessible
2020-12-23 17:16:01 +01:00
Ilya Kirillov
a2befd4635
FIR IDE: add missing ClsJavaStubByVirtualFileCache service
2020-12-23 17:16:00 +01:00
Ilya Kirillov
eead868cd2
FIR IDE: use correct out of block modification tracker
2020-12-23 17:15:58 +01:00
Ilya Kirillov
0862928bf7
FIR IDE: move KotlinOutOfBlockModificationTrackerFactory to frontend independent module
2020-12-23 17:15:57 +01:00
Ilya Kirillov
a30d9e0ed3
FIR: add fake source fir element to it parameter symbol
2020-12-23 17:15:56 +01:00
Ilya Kirillov
af0e8b28d5
FIR IDE: add missing statistic extension points
2020-12-23 17:15:55 +01:00
Georgy Bronnikov
b35d4134a7
Psi2IR: workaround for IR-based descriptors
...
Since KotlinTypes involving IR-Based descriptors are distinct from KotlinTypes
involving original descriptors of the same declarations, subtyping check
breaks in InsertImplicitCasts.
2020-12-23 18:50:53 +03:00
Georgy Bronnikov
99c874ba8a
IR: use NullDescriptorRemapper in DeepCopySymbolRemapper
2020-12-23 18:50:52 +03:00
Georgy Bronnikov
c5961da780
IR: remove WrappedDescriptors altogether
2020-12-23 18:50:52 +03:00
Georgy Bronnikov
e9f45e23f2
IR: NullDescriptorsRemapper
2020-12-23 18:50:52 +03:00
Georgy Bronnikov
3683cd0f7b
IR: fix IrBasedTypeAliasDescriptor
2020-12-23 18:50:52 +03:00
Georgy Bronnikov
076272f7ca
FIR2IR: avoid descriptors computing hashCode
...
When synthesizing the hashCode function for data classes, descriptors
were used, in partcular, memberScope for primitive classes.
IrBasedDescriptors have no member scope, so we compute the hashCode
function based on IR structures.
2020-12-23 18:50:52 +03:00
Georgy Bronnikov
b07dccb8d7
Fir2IR: remove wrapped descriptors
2020-12-23 18:50:52 +03:00
Georgy Bronnikov
b05400154d
IR: remove IrSymbolDeclaration
2020-12-23 18:50:52 +03:00
Georgy Bronnikov
d714adacae
IR: removing WrappedDescriptors from symbols
2020-12-23 18:50:51 +03:00
Georgy Bronnikov
989d4350b1
IR: make descriptor optional in IrSymbol
2020-12-23 18:50:51 +03:00
Jinseong Jeon
aaa3f2e2c1
FIR2IR: correct IR origin for substitution overrides
...
#KT-44054 Fixed
2020-12-23 16:13:05 +03:00
Jinseong Jeon
34dbbdce07
FIR2IR: use lookupTag or class to getLocalClass, not classId
...
Before this commit, we sometimes tried to fetch anonymous object by id,
getting sometimes a wrong result because it's singleton.
Now we use lookupTag or FIR class itself instead.
#KT-44050 Fixed
2020-12-23 16:12:58 +03:00
Alexander Dudinsky
94315bc4dc
Remove mapping to kotlin-ultimate from vsc.xml
2020-12-23 15:04:38 +03:00
Dmitry Petrov
632f5af442
Minor: kt21014.kt - add JVM_TARGET 1.8
2020-12-23 11:25:36 +03:00
Alexander Dudinsky
10a5727260
Merge together MultiplatformHighlighting and MultiplatformAnalysis tests
...
Basically, the former uses an old quickly-scrapped infrastructure,
which were not applicable for HMPP, so the latter tests were written.
So, both check for one and the same thing (highlighting in MPP projects),
but MultiplatformAnalysisTest is more modern,
and has a lot of inconvenient stuff in MultiplatformHighlighting fixed
^KT-43116 Fixed
2020-12-23 10:47:18 +03:00
Jinseong Jeon
73576c80e4
FIR2IR: calculate IR parent for Java field ahead
...
so as to cache type parameters from the parent if the field's return
type is one of type parameters.
#KT-44032 Fixed
2020-12-23 09:10:52 +03:00
Vyacheslav Gerasimov
89577543a2
Build: Disable plugin marker publication for sonatype
2020-12-23 02:58:14 +03:00
Mikhail Glukhikh
107a825c5f
Make FileDescriptorForVisibilityCheck subtype of PackageFragmentDescriptor
...
#KT-20548 Fixed
2020-12-23 00:11:08 +03:00