Igor Chevdar
1df93e1611
[box-tests] Added a reproducer for #KT-61924
2023-09-15 09:26:54 +00:00
Dmitrii Gridin
1b1e1d5b3f
[Analysis API] DebugSymbolRenderer: unify error types
...
They are still can be different in the case of error inside
type argument (e.g. `kotlin/Array<out ERROR CLASS: Incomplete code>`)
2023-09-14 18:53:25 +02:00
Dmitrii Gridin
2d83509200
[Analysis API Fe10] add missing initializer for properties
2023-09-14 18:53:25 +02:00
Dmitrii Gridin
bb470b5504
[Analysis API Fe10] fix isFromPrimaryConstructor
2023-09-14 18:53:25 +02:00
Alexander Udalov
cadbc87dfd
JVM IR: add flag to avoid loading dependency module headers
...
This is an addition to d16f33cf5b . Apparently there's another call site
of JvmIrCodegenFactory in intellij besides Evaluate Expression, namely
Android LiveEdit plugin, where it seems needed to collect all dependency
modules and resolve them via linker. LiveEdit also uses
shouldStubAndNotLinkUnboundSymbols = true, so we need to differentiate
between it and Evaluate Expression, hence the new flag. This new flag
will be set to true only for Evaluate Expression in intellij.
#IDEA-329915
2023-09-14 15:45:47 +00:00
Ilmir Usmanov
f16ea9dfbb
JVM: Reduce number of comparison on bytecode analysis merge
...
operations. Since these methods are hot - they are call on each branch,
even such primitive optimizations should give measurable speedup.
2023-09-14 15:35:51 +00:00
Ilmir Usmanov
5e2d3737f5
JVM: Do not traverse all suspension point when looking for end label
...
when extending local variable range.
2023-09-14 15:35:51 +00:00
Ivan Kylchik
95872bd13c
[JVM] Reuse findMergeNodes in FastStoreLoadAnalyzer
2023-09-14 15:02:03 +00:00
Ivan Kylchik
617e7d1a36
[JVM] Store VarInsnNode in StoreData instead of AbstractInsnNode
...
This way we can avoid some casts.
2023-09-14 15:02:03 +00:00
Ivan Kylchik
140ccccae3
[Minor] Drop unused method from CompositeMethodTransformer
2023-09-14 15:02:03 +00:00
Ivan Kylchik
f9868f757b
[JVM] Simplify StoreLoadInterpreter and StoreLoadFrame
2023-09-14 15:02:03 +00:00
Ivan Kylchik
0e9d884b0b
[JVM] Slightly rewrite mergeControlFlowEdge in FastStackAnalyzer
...
This change is supposed to show how similar
`mergeControlFlowEdge` methods are, and maybe
we should combine them.
2023-09-14 15:02:03 +00:00
Ivan Kylchik
6f8e243f0b
[JVM] Avoid inheritance from FastMethodAnalyzer
...
This way it is easier to analyze code.
2023-09-14 15:02:03 +00:00
Ivan Kylchik
5f27e1a6b2
[JVM] Make FixStackAnalyzer inherit FastStackAnalyzer
2023-09-14 15:02:02 +00:00
Ivan Kylchik
f49f6656b9
[JVM] Move private extension methods into FixStackFrame
2023-09-14 15:02:02 +00:00
Ivan Kylchik
2c4c3a73b8
[JVM] Move initLocals method into FastAnalyzer
2023-09-14 15:02:02 +00:00
Ivan Kylchik
83c75c1edf
[JVM] Unify initLocals method in Fast...Analyzer classes
2023-09-14 15:02:02 +00:00
Ivan Kylchik
02d8a62cb0
[JVM] Fully move analyze method into FastAnalyzer
2023-09-14 15:02:02 +00:00
Ivan Kylchik
abe727fdd7
[JVM] Extract common code from Fast...Analyzer into analyzeInner
2023-09-14 15:02:02 +00:00
Ivan Kylchik
e0dd3a33c0
[JVM] Extract unique code in Fast...Analyzer into analyzeInstruction
2023-09-14 15:02:02 +00:00
Ivan Kylchik
bf53268453
[JVM] Move computeExceptionHandlers into base FastAnalyzer
2023-09-14 15:02:02 +00:00
Ivan Kylchik
98cc2c839f
[JVM] Create base FastAnalyzer class for all Fast...Analyzer
2023-09-14 15:02:02 +00:00
Ivan Kylchik
7853256c02
[JVM] Drop some excess toArray calls on instructions
2023-09-14 15:02:02 +00:00
Ivan Kylchik
d8e682ab30
[JVM] Drop insnsArray from Fast...Analyzer classes
...
We are using useless `toArray` can that we can avoid.
2023-09-14 15:02:02 +00:00
strangepleasures
cf01d2970f
[SLC] [KAPT] KT-61916 Fix generation of annotations in annotation arguments
2023-09-14 13:21:07 +00:00
Artem Kobzar
878452bd2b
[K/JS] Implement file merging for clashed file during per-file compilation
2023-09-14 13:14:15 +00:00
Ilya Muradyan
337054ba92
Scripting: Remove deprecated MavenRepositoryCoordinates class
2023-09-14 12:14:32 +00:00
Ilya Muradyan
f1f12bc192
Scripting: Reuse AetherSession if repositories didn't change
...
Repository system will be not reconstructed on subsequent calls
2023-09-14 12:14:32 +00:00
Ilya Muradyan
b1347d7616
Scripting: Unify artifacts resolution for partial and non-partial cases
2023-09-14 12:14:32 +00:00
Ilya Muradyan
841cc8eb43
Scripting, KT-61727: Make it possible to resolve multiple artifacts at once
...
For MavenDependenciesResolver it improves performance drastically
depending on how strong transitive dependencies of the roots interfere
^KT-61727 Fixed
2023-09-14 12:14:32 +00:00
Kirill Rakhman
0d628c9e59
[FIR] Inline FirExpression.coneTypeSafe und use resolvedType
...
The call-sites don't actually need to handle unresolved expressions,
they only need safe-casts to ConeClassLikeType or
ConeIntegerLiteralType.
#KT-61367
2023-09-14 10:03:03 +00:00
Kirill Rakhman
a4fff7c7c0
[FIR] Inline FirExpression.coneTypeUnsafe
...
#KT-61367
2023-09-14 10:03:03 +00:00
Kirill Rakhman
126f2c9440
[FIR] Skip published visibility computation for local functions
...
This fixes an exception caused by annotations being unresolved during
status computation.
#KT-61367
2023-09-14 10:03:02 +00:00
Kirill Rakhman
f0112040fc
[FIR AA] Unmute passing test
2023-09-14 10:03:02 +00:00
Kirill Rakhman
aebb3bf0ee
[FIR AA] Use resolvedType instead of coneTypeOrNull where applicable
...
#KT-61367 Fixed
2023-09-14 10:03:02 +00:00
Kirill Rakhman
6d8091f0ff
[FIR] Add workaround for unresolved array literal type #KT-61843
...
#KT-61367
2023-09-14 10:03:02 +00:00
Kirill Rakhman
462687ed66
[FIR] Don't resolve call in annotation arguments phase if receiver type isn't resolved
...
This prevents exceptions from being thrown during resolution of red code
because FirExpression.resolvedType is called but during annotation
arguments phase we don't have return types for implicitly typed
declarations.
#KT-61367
2023-09-14 10:03:02 +00:00
Kirill Rakhman
66b911c923
[FIR] Migrate compiler.fir to use resolvedType where applicable
...
#KT-61367
2023-09-14 10:03:02 +00:00
Kirill Rakhman
1c6776b2b4
[FIR] Introduce extension FirExpression.isResolved that requires no opt-in
...
#KT-61367
2023-09-14 10:03:02 +00:00
Kirill Rakhman
e0b5fa1de8
[FIR] Add opt-in for FirExpression.coneTypeOrNull in scripting
...
#KT-61367
2023-09-14 10:03:02 +00:00
Kirill Rakhman
b9b99366e7
[FIR] Use resolvedType instead of coneTypeOrNull in java.deserialization
...
#KT-61367
2023-09-14 10:03:02 +00:00
Kirill Rakhman
b1565d547c
[FIR] Use resolvedType instead of coneTypeOrNull in FIR2IR
...
#KT-61367
2023-09-14 10:03:02 +00:00
Kirill Rakhman
c3abe28049
[FIR] Use resolvedType instead of coneTypeOrNull in checkers
...
#KT-61367
2023-09-14 10:03:02 +00:00
Kirill Rakhman
e8731f3f31
[FIR] Use resolvedType instead of coneTypeOrNull in tests
...
#KT-61367
2023-09-14 10:03:02 +00:00
Kirill Rakhman
5d6affc38d
[FIR] Update FIR utilities
...
#KT-61367
2023-09-14 10:03:02 +00:00
Kirill Rakhman
a49fdeb05b
[FIR] Update manual implementations of FirExpression
...
#KT-61367
2023-09-14 10:03:02 +00:00
Kirill Rakhman
68bc2be4c9
[FIR] Regenerate FIR types
...
#KT-61367
2023-09-14 10:03:02 +00:00
Kirill Rakhman
6ec419edb7
[FIR] Update FIR schema to add opt-in to FirExpression.coneTypeOrNull
...
#KT-61367
2023-09-14 10:03:01 +00:00
Dmitriy Dolovov
b3cb8870e0
[IR][JS] Always drop expect declarations prior IR serialization
...
^KT-61136
2023-09-14 09:13:39 +00:00
Ivan Kylchik
ede6eb0b34
[IR] Print exception's class in error message from interpreter
2023-09-14 08:47:06 +00:00