Mikhail Glukhikh
abfa33b200
Get rid of mode argument in FirElement.render(withType)
2022-07-14 09:38:38 +00:00
Mikhail Glukhikh
7c27e6f843
FirRenderer: partially get rid of RenderMode
2022-07-14 09:38:37 +00:00
Mikhail Glukhikh
9890066b72
Extract separate FirPackageDirectiveRenderer
2022-07-14 09:38:36 +00:00
Mikhail Glukhikh
bc49107d25
Extract separate FirDeclarationRenderer
2022-07-14 09:38:36 +00:00
Mikhail Glukhikh
5bb4a0ccda
FirRenderer: drop effectively unused renderDeclarationOrigin parameter
2022-07-14 09:38:35 +00:00
Mikhail Glukhikh
089044e5b0
FirRenderer: get rid of direct Visitor usages
2022-07-14 09:38:34 +00:00
Mikhail Glukhikh
998ed8849f
FirRenderer: drop effectively unused renderLambdaBodies parameter
2022-07-14 09:38:34 +00:00
Mikhail Glukhikh
a82baf87cb
FIR renderer: extract separate ConeTypeRenderer
2022-07-14 09:38:33 +00:00
Mikhail Glukhikh
591143be7c
FIR renderer: introduce separate body & annotation renderers
2022-07-14 09:38:32 +00:00
Mikhail Glukhikh
f64a7d3ff9
FirRenderer: extract separate printer & visitor
2022-07-14 09:38:32 +00:00
Mikhail Glukhikh
38d6f3d548
Move FirRenderer to separate package
2022-07-14 09:38:31 +00:00
Mikhail Glukhikh
475e40b3e4
K1: report warning for inline virtual member in enum #KT-53148 Fixed
...
Related to KT-34372
2022-07-14 07:59:33 +00:00
Alexander Likhachev
18560db373
[IC] Remove unused variable declaration
...
Previously it was introduced to make `when` exhaustive, but now all the `when` operators on enums are exhaustive
2022-07-13 19:40:47 +00:00
Mikhail Glukhikh
70e15b281c
K2: fix exception in deserializer for external setter #KT-53031 Fixed
2022-07-13 17:06:14 +00:00
Artem Kobzar
117df325c9
[JS/IR] fix: add ability to render type constraints into TypeScript definitions.
2022-07-13 15:20:27 +00:00
Mikhail Glukhikh
7bbd8d3b95
FIR2IR entry points: don't create JvmDescriptorMangler if not needed
2022-07-13 13:11:49 +00:00
Mikhail Glukhikh
1a45284e86
Drop some unused from symbol table / IR converter
2022-07-13 13:11:49 +00:00
Mikhail Glukhikh
18a5b3b518
Drop unnecessary usages of OptIn(ObsoleteDescriptorBasedAPI)
2022-07-13 13:11:48 +00:00
Pavel Kunyavskiy
5cdda48487
[K/N] Extract const val initializers to place of usage
...
This would make behaviour more consistent with jvm. There is still
a difference in behaviour about point where side effects happen.
^KT-52970
2022-07-13 08:49:40 +00:00
Igor Chevdar
e36bd5fe90
[box-tests] Added a multi-module box test
2022-07-13 08:01:51 +00:00
Ilya Chernikov
3471a1b899
minor: fix caching in Fir2Ir declarations storage
2022-07-13 08:45:20 +02:00
Ilya Kirillov
95744062c1
[Symbol LC] add parents for the local classes
2022-07-13 01:47:36 +02:00
Denis.Zharkov
f7a2889a40
FastJarHandler: Add information for exceptions thrown during CD parsing
...
^KT-52786 Related
2022-07-12 14:45:37 +00:00
Vladimir Sukharev
a9789203ac
Run test genericFunctionReferenceSignature.kt only for JVM and native
...
Merge-request: KT-MR-6636
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com >
2022-07-12 13:07:14 +00:00
Mikhail Glukhikh
c92d685415
FIR: postpone callable reference candidate in default argument case
...
#KT-53019 Fixed
2022-07-12 12:22:34 +00:00
Mikhail Glukhikh
c36e160f24
FIR2IR: minor refactoring of AdapterGenerator
2022-07-12 12:22:33 +00:00
Vladimir Sukharev
fd52f475cb
Devirtualization fails to eliminate boxing in function reference context
...
^KT-49847 Fixed
Merge-request: KT-MR-6460
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com >
2022-07-12 08:26:27 +00:00
Andrey Uskov
5ba3053e00
[IC] Do not report recompilation of non-existing files
2022-07-12 05:53:10 +00:00
Andrey Uskov
0b7244280f
Disable expect-actual tests for fir
...
FIR currently does not support MPP, thus IC tests involving expect-
actuals, should be disabled.
2022-07-12 05:53:10 +00:00
Andrey Uskov
318d955d64
[IC] Add tests for sealed classes (KT-45474)
2022-07-12 05:53:09 +00:00
Andrey Uskov
21e762458e
[IC] Fixed IC for when expressions involving sealed interfaces
...
#KT-45474 Fixed
2022-07-12 05:53:09 +00:00
pyos
5a2ec4a0d5
FIR CFG: merge data flow if called-in-place lambda may not be called
2022-07-11 18:11:30 +03:00
pyos
06c7572ee5
FIR CFG: process called-in-place lambdas as loops
2022-07-11 18:11:30 +03:00
pyos
8214e4f806
FIR CFG: check lambda concurrency by data flow, not control flow
...
var p: String? = something
if (p != null) {
foo(
run { p = null; n() },
// This lambda executes strictly after the one above by CFG,
// but data flow for type inference comes from before the call
// so p would get smartcasted if not forbidden.
run { p.length; 123 }
)
}
2022-07-11 18:11:30 +03:00
pyos
82731802ee
FIR CFG: add one more test case
2022-07-11 18:11:30 +03:00
Victor Petukhov
7d945d9bdc
[FIR] Support loading rxjava3 nullability annotations on bounded wildcards
...
^KT-53041 Fixed
2022-07-11 12:44:08 +00:00
Victor Petukhov
cb2dbca0c3
[FE 1.0] Support loading rxjava3 nullability annotations on bounded wildcards
...
^KT-53041 Fixed
2022-07-11 12:44:07 +00:00
Victor Petukhov
9f72193d57
[FE 1.0] Support BB tests with foreign annotations
2022-07-11 12:44:07 +00:00
Victor Petukhov
2057deb91b
[FE 1.0] Create DONT_CARE type only for callable references with no expected type
...
Otherwise, it can be resolved safety
^KT-52270 Fixed
2022-07-11 12:44:06 +00:00
Victor Petukhov
fb21937eb1
[FE 1.0] Report INVISIBLE_MEMBER on all qualified expressions including safe call ones
...
^KT-47621 Fixed
2022-07-11 12:44:06 +00:00
Kristoffer Andersen
63f108b350
[KTIJ-21963] Move reflective access after default args lowerings
2022-07-11 13:13:09 +02:00
Igor Chevdar
747bff4036
[K/N][caches] Fixed parents for deserialized on demand inline function
...
#KT-52974 Fixed
2022-07-10 17:56:37 +00:00
Igor Chevdar
a61d05971e
[box-tests] Added a couple of multi-module box tests
2022-07-10 17:56:36 +00:00
Ilmir Usmanov
5144efc7ae
Do not split multimodule inliner tests into modules
2022-07-10 17:56:35 +00:00
Jaebaek Seo
ef482bb126
FIR find usage: correctly set extendsList of FirLightInterfaceClassSymbol
...
The existing code does not set the list of bases that
FirLightInterfaceClassSymbol extends for "extendsList". It collects only
the set of interfaces for "extendsList" of FirLightInterfaceClassSymbol.
However, interfaces can "extend" other classes and/or interfaces, but
they cannot "implement" other interfaces. Therefore, we have to includes
all interfaces and classes that the child interface extends in
the "extendsList". Additionally, this commit adds `private fun
PsiClass.hasSuper(..): Boolean` to FirLightClassBase that returns
whether one of recursive super classes of the PsiClass is `baseClass`
or not. This commit lets `isInheritor()` method use
`PsiClass.hasSuper()`.
2022-07-08 10:36:55 +02:00
Nikita Nazarov
939a720686
Add android ignore directives for debug mode tests
2022-07-07 14:51:24 +03:00
Nikita Nazarov
7287be6879
Add tests on variable spilling with debug mode enabled
...
#KT-48678 Fixed
2022-07-07 14:51:24 +03:00
Nikita Nazarov
2ab92bcb7e
Add a key to enable spilling of all variables in a suspending context
...
This commit adds a new key that will allow users to enhance their
debugging experience in suspending contexts when using the IR backend.
After the key is enabled, the following things are changed:
1. All variables in a suspending context are spilled regardless their
liveness.
2. Their LVT records are not shrunk.
3. ACONST_NULL is not spilled to dead variables.
#KT-48678 In progress
(cherry picked from commit 38d97d0621 )
2022-07-07 14:51:24 +03:00
Ilya Kirillov
a6b6c79dc2
[PSI] do not throw exception on incorrect expression in KtPsiFactory.createExpressionIfPossible
2022-07-06 23:03:20 +02:00
Igor Yakovlev
0ea7e8b70a
[WASM] Add array copy intrinsic
2022-07-06 19:07:56 +00:00