Alexander Udalov
fde7fc6951
JVM IR: use correct file for final test output check in debugger tests
...
Before this change, a test with incorrect .ir.out could pass if the test
execution result was equivalent to the main .out file, which was a bit
confusing.
2020-09-22 19:15:35 +02:00
Mads Ager
78483930bc
[JVM_IR] Fix offsets in constant propagation optimization.
...
Loads of temporary variables that contain constants are replaced
with a copy of the constant. This avoids locals loads and stores.
However, the copy of the constant needs to have the offset of
the load and not of the original constant.
Fixes KT-41963.
2020-09-22 19:12:06 +02:00
Mads Ager
9f3ce099ee
[JVM_IR] Fix line numbers for function reference invoke methods.
2020-09-22 16:59:46 +02:00
Mads Ager
05c662ec55
[JVM_IR] Remove line numbers from delegated member functions.
...
This fixes smart step into for delegated member functions.
Additionally, we align on the string "memberFunctionName(...)"
for expression non-null checks for both JVM_IR and JVM
backends.
2020-09-21 18:49:08 +02:00
Alexander Udalov
f6e4705d9c
Regenerate KotlinSteppingTestGenerated
2020-09-17 22:16:47 +02:00
Mads Ager
a62ffbf992
[JVM_IR] Ignore fwBackingField stepping test.
...
The test relies on fixes not yet landed, so it currently fails.
2020-09-17 22:14:30 +02:00
Alexander Udalov
86cc5840ed
JVM IR: unmute stepping test noParameterExtensionLambdaArgumentCallInInline3.kt
...
Bytecode generated by JVM IR ensures that on multiline expressions,
every call is stepped over, which seems better than in the old backend.
Also remove kt34905.kt since it duplicates this test case.
2020-09-16 17:52:27 +02:00
Alexander Udalov
0cccc61654
JVM IR: unmute stepping test smartStepIntoInterfaceImpl.kt
...
The only difference seems to be that step into IImpl.fooOverride is
actually supported in JVM_IR. Also fix slightly incorrect line numbers
in the comments.
2020-09-16 17:52:27 +02:00
Mads Ager
e943d76266
[JVM_IR] Rebase fwBackingField stepping test.
...
The difference is that JVM_IR generates line numbers for the
constructor field initialization.
In this case:
```
29: class B {
30: // comment
31: val bPropVal: Int,
32: // comment
33: var bProbVar: Int
34: ) {
```
the line numbers for the field initializations are 31 and 33 where
in the current backend the whole constructor has line number 29.
2020-09-16 17:51:22 +02:00
Igor Yakovlev
e30f09d513
[FIR IDE] Separate find usages logic from descriptors
2020-09-15 11:25:06 +03:00
Vladimir Ilmov
45c67a90c2
(CoroutineDebugger) Disposing under IW lock.
...
#KT-41505 fixed
2020-09-07 14:50:07 +02:00
Dmitriy Novozhilov
6906e0d82d
Move common jvm classes from :core:descriptors.jvm to :core:compiler.common.jvm
2020-09-04 11:42:51 +03:00
Dmitriy Novozhilov
d1fd1da56f
Rename Visibility to DescriptorVisibility
2020-09-04 11:07:42 +03:00
Dmitriy Novozhilov
64ec3fc42b
Move BuiltinSpecialProperties and JvmAbi to :core:compiler.common.jvm
2020-09-04 11:07:41 +03:00
Roman Artemev
685b74769d
[JVM IR] Fix lineNumber passing into CoroutineTransformer.
...
- Get it from `IrFile` & `IrElement.startOffset` instead of descriptor
- Unmute stepping tests
2020-09-03 11:37:24 +03:00
Florian Kistner
9775a2148a
203: Fix compilation
2020-09-02 18:48:57 +02:00
Roman Artemev
c6a338bcdc
Mute broken stepping JVM IR tests
...
They are broken because of c7b57c0fb3 .
Current debug info generator in IR uses information from descriptors so
removing that break tests.
2020-09-02 17:52:27 +03:00
Alexander Udalov
a9ddf02556
Replace deprecated usages of max/min with maxOrNull/minOrNull
2020-08-25 20:33:59 +02:00
Dmitriy Novozhilov
a764732020
Rename KotlinBuiltInsNames to StandardNames
2020-08-25 10:41:33 +03:00
Dmitriy Novozhilov
3a48265077
Move ModuleDescriptor.Capability to :core:descriptors.common module
2020-08-25 10:31:37 +03:00
Dmitriy Novozhilov
7a7fe77b8e
Move static constants with builtin names to :core:descriptors.common module
2020-08-25 10:31:36 +03:00
Vladimir Ilmov
27a22fc1e9
Cleanup Coroutine panel in case connection gets disposed soon after
...
creation.
2020-08-24 15:09:14 +02:00
Vladimir Ilmov
cb2ab4676b
(CoroutineDebugger) Top node added to prevent dumpCoroutine() call
...
Panel gather information from the agent on each breakpoint hit.
2020-08-24 15:09:13 +02:00
Vladimir Ilmov
34b55dbeb3
(CoroutineDebugger) Disable agent for MPP projects
...
#KT-39412 fixed
2020-08-21 10:35:39 +02:00
Mads Ager
a6f301e84a
[JVM_IR] Rebase constructor stepping tests that are working as intended.
...
JVM_IR has consistent stepping behavior for secondary constructors
and init blocks. This change fixes the expectations for tests that
expect the less consistent JVM backend behavior.
2020-08-20 13:12:22 +02:00
Mads Ager
2c6b5c8847
[JVM_IR] Give temporary variable loads meaningful offsets.
...
Temporary variable loads in when expressions had the offsets
of the variable declaration. That leads to hacks during codegen
for line number generation.
Instead of those hacks, give the variable loads the offsets of
the context in which they occur. That avoids the codegen hacks
and fixes stepping behavior for more when expressions.
2020-08-20 13:12:22 +02:00
Mads Ager
119302b016
[JVM_IR] Run KotlinSteppingTests with the JVM_IR backend.
...
Implement support for supressing failures by backend.
2020-08-20 05:48:54 +02:00
Yunir Salimzyanov
70cda1b113
Refactor and fix files previously affected by 192 patchset (KTI-315)
2020-08-19 19:40:02 +03:00
Yunir Salimzyanov
42da9e62db
Cleanup 192 patchset files (KTI-315)
2020-08-19 19:40:02 +03:00
Pavel Kirpichenkov
f431da2a66
Reapply "Introduce @FrontendInternals annotation""
...
This reverts commit 9ca4717d11 .
^KT-39643 Fixed
2020-08-10 12:22:55 +03:00
Pavel Kirpichenkov
9ca4717d11
Revert "Introduce @FrontendInternals annotation"
...
Revert due to Mobile IDE Trunk IJ TC configuration
This reverts commits:
ffc3d8bdfc
c0e713980b
^KT-39643 In Progress
2020-08-07 12:10:03 +03:00
Pavel Kirpichenkov
ffc3d8bdfc
Introduce @FrontendInternals annotation
...
#KT-39643
2020-08-05 21:44:47 +03:00
Ilmir Usmanov
6c475e614a
Minor. Update debugger tests
2020-08-05 19:47:55 +02:00
Florian Kistner
9925866293
203: Fix compilation
2020-08-05 19:36:43 +02:00
Vladimir Ilmov
7eca13569b
(CoroutineDebugger) Enable agent for versions 1.3.8.*
...
Gradle artifact name gets changed from 'kotlinx-coroutines-core' to
'kotlinx-coroutines-core-jvm'. So it should support both.
2020-07-30 17:54:35 +02:00
Ilmir Usmanov
4fb5f8603a
Keep $continuation in LVT
...
in case of suspend functions and `this` is case of lambdas, since they
are used in async stack trace generation.
Update tests.
#KT-40661 Open
2020-07-29 00:01:12 +02:00
Vladimir Ilmov
d8de37f665
(CoroutineDebugger) using WeakReference as lastObservedFrame
...
relates to #KT-40073
2020-07-20 11:44:51 +02:00
Vladimir Ilmov
bcf1954860
(CoroutineDebugger) added support for DebugCoroutineInfoImpl in kotlinx-coroutines-core:1.3.8
...
relates to #KT-40073
2020-07-20 11:44:51 +02:00
Vladimir Ilmov
217428212f
(CoroutineDebugger) Refactoring of retrieving BaseContinuationImpl chains
2020-07-20 11:43:23 +02:00
Vladimir Ilmov
14766a3e1a
(CoroutineDebugger) lv 'task' added to tests in EventLoopImplBase kotlinx-coroutines-core:1.3.7
2020-07-20 11:38:01 +02:00
Vladimir Ilmov
e49f3b567b
(CoroutineDebugger) minimum supported version kotlinx-coroutines-core.1.3.8
...
Workaround for starting agent on windows removed, version upgraded in tests
#KT-40073 fixed
2020-07-20 11:38:00 +02:00
Vladimir Ilmov
0c832e30bf
(CoroutineDebugger) Memory leak fixed on IDEA quit: 'org.jetbrains.kotlin.idea.debugger.coroutine.view.XCoroutineView
...
#KT-40386 fixed
2020-07-17 18:01:30 +02:00
Vladimir Ilmov
378d0a757a
DebuggerClassNameProvider refactoring
2020-07-16 16:05:01 +02:00
Vladimir Ilmov
3e69250f72
(CoroutineDebugger) Restored frame variables isn't shown for 2020.1.
...
#KT-40172 fixed
2020-07-10 09:57:38 +02:00
Vladimir Ilmov
7f472ba24e
Switch to isApplicableAsync instead of isApplicable in ToStringRenderer
...
#KT-39717 fixed
2020-07-08 16:15:46 +02:00
Alexander Udalov
8c71d8f126
Undeprecate VariableDescriptorWithAccessors.isDelegated
...
Apparently there's quite a few valid usages of this method outside of
the compiler frontend, where manual suppression is annoying.
2020-07-07 18:09:40 +02:00
Vladimir Ilmov
a2040f01bf
Body elements resolution in KotlinDebuggerCache added / analyzeWithContentAndGetResult
...
While we trying to find an inlined SourcePosition, the body should be
resolved KotlinPositionManager.getLambdaOrFunIfInside / InlineUtil.isInlinedArgument
to make shure the lambda is an argument for a call.
#KT-39309 fixed
#KT-39435 fixed
2020-07-06 11:33:50 +02:00
Nikita Bobko
536c4bbab1
202: Fix KotlinEvaluateExpressionTestGenerated.SingleBreakpoint
...
Now `getTreeEvaluation` returns `CompletableFuture<PsiElement>` not `PsiElement` as it was in 201
2020-07-01 11:31:20 +03:00
Nikolay Krasko
21fa2bf98c
Switch to 201 platform
2020-06-30 19:53:18 +03:00
Vladimir Ilmov
230f2f5ce0
(CoroutineDebugger) fix for debugger agent for 1.3.6 version and up
2020-06-19 18:58:46 +02:00