Commit Graph

51 Commits

Author SHA1 Message Date
Vladimir Ilmov b100fd526f (CoroutineDebugger)(Test) local variable removed from generated code 2020-06-19 00:32:19 +02:00
Ilmir Usmanov 542f1b8709 Minor. Update tests 2020-06-18 17:53:47 +02:00
Vladimir Ilmov 50165397c7 (CoroutineDebugger) flaky test coroutine-debug library changed to 1.3.4 2020-06-08 22:54:09 +02:00
Ilmir Usmanov f1906bc966 Minor. Update test 2020-06-05 21:55:34 +02:00
Yan Zhulanow 45c97a2c5e Debugger: Add test for KT-14057 2020-05-27 02:38:43 +09:00
Yan Zhulanow bf890a1540 Debugger, tests: Change ADDITIONAL_BREAKPOINT directive format
- Make it extendable and easier to parse
- Allow to create additional function breakpoints
2020-05-27 02:38:43 +09:00
Yan Zhulanow 4244f05307 Debugger: Fix step over in functions with default parameters (KT-14828)
Adds a synthetic line number just before the original function call.
The new line number is recognized by the debugger which replaces the
  'step over' action with 'step into' and stops.
2020-05-27 02:38:43 +09:00
Yan Zhulanow 69965eaa5c Implement new stepping for suspend functions 2020-05-27 02:38:43 +09:00
Yan Zhulanow 0afd73b95c Debugger: Pass files with inline functions to backend (KT-36404) 2020-05-27 02:38:42 +09:00
Yan Zhulanow 85a5e5241f Debugger: Fix function breakpoints for libraries (KT-36403) 2020-05-27 02:38:42 +09:00
pyos f625444be2 Update debugger test data
Note: neither the new nor the old data is actually correct, as the
debugger needs to stop on line 7 twice (once for the call, once for the
lambda) but ignore the synthetic line number in between.
2020-05-25 20:03:56 +02:00
Vladimir Ilmov 545fdb96d5 (CoroutineDebugger) 201 compatibility fix
#KT-39143 fixed
2020-05-25 14:36:22 +02:00
Vladimir Ilmov acced52384 (CoroutineDebugger) Tests added for no creation stack frame information 2020-04-23 11:36:15 +02:00
Vladimir Ilmov 73f5e48518 (CoroutineDebugger) Minor fixes, kotlinx.coroutines version fix 2020-04-21 09:48:13 +02:00
Vladimir Ilmov 0ce8ca7bcd (CoroutineDebugger) negative frames removed from coroutine stack 2020-04-21 09:48:13 +02:00
Vladimir Ilmov 68c6e9e2d6 (CoroutineDebugger) kotlinx-coroutines-core:1.3.5 support 2020-04-21 09:48:12 +02:00
Vladimir Ilmov 6f42ed7248 (CoroutineDebugger) PreflightFrame support in tests via CoroutineAsync 2020-04-21 09:48:11 +02:00
Vladimir Ilmov 677ca2b9ae (CoroutineDebugger) unused classes removed / code cleanup 2020-04-21 09:48:11 +02:00
Vladimir Ilmov 3cd0eb0fca (CoroutineDebugger) Stack printing logic extracted to the single place
for DebugMetadata and CoroutinePanel, some corner cases fixed, test
cases added.
Added:
 - external maven dependencies in test scenarios
 - comparing stack traces + variables on breakpoint
2020-04-21 09:48:10 +02:00
Yan Zhulanow 2f34bc88dc Debugger: Add test for KT-14869 2020-02-14 17:35:19 +09:00
Yan Zhulanow ea7ffa70b3 Debugger: Add test for KT-34905 2020-02-14 17:35:19 +09:00
Yan Zhulanow 6690f946d6 Debugger: Add test for KT-14296 2020-02-14 17:35:19 +09:00
Yan Zhulanow 6f425ee951 Debugger: Add test for KT-15652 2020-02-14 17:35:18 +09:00
Yan Zhulanow dd33640238 Debugger: Skip inlined library frames on step over (KT-12016) 2020-02-14 17:35:18 +09:00
Yan Zhulanow 7490c229ac EA-219152 (partially): Support KClass 'unboxing' in debugger
KClass can be 'unboxed' to a plain Java class. Debugger should be aware of this.
Unfortunately, this commit is not enough to fully support this scenario, as it's impossible to invoke KClass methods/extension on java.lang.Class instance. There should be an additional diagnostic that will forbid such calls.
2020-02-14 17:35:18 +09:00
Yan Zhulanow 3027fab238 EA-218160: Force-box only assignment l-values 2020-02-14 17:35:18 +09:00
Yan Zhulanow dc71ab5bb3 EA-211010: Fix receiver parameter name for lambdas passed as value arguments 2020-02-14 17:35:18 +09:00
Yan Zhulanow f129ab55c5 Debugger: Rewrite step out action
This commit fixes the following tests:
 - KotlinSteppingTestGenerated.Custom.testStepOutInlineFunctionStdlib
 - KotlinSteppingTestGenerated.StepOut.testStepOutSeveralInlineArgumentDeepest
2020-02-14 17:35:17 +09:00
Yan Zhulanow f115bde682 Debugger, BE: Provide Java-like stepping for 'for' loops
- Visit '}' instead of 'for' keyword on post-condition
- Visit 'for' keyword on pre-condition
2020-02-14 17:35:17 +09:00
Yan Zhulanow 9cba72d5dd Debugger: Remove flaky sleep-based stepping tests 2020-02-14 17:35:17 +09:00
Yan Zhulanow 8f29f8bc9d Debugger: Rewrite step over action (KT-14296)
The main goal is to make behavior similar to what happens in Java. For instance, now we always skip lambdas.
Also, we can reliably use '$i$f' and '$i$a' synthetic local variables. There is no need in complicated hacks any more.
2020-02-14 17:35:17 +09:00
Yan Zhulanow dd743f05c1 Debugger: Remove/change tests for the deprecated Android dex 2020-02-14 17:35:16 +09:00
Vladimir Ilmov 84fd5b35eb Revert "[coroutine] For RUNNING coroutines -1 is the correct number"
This reverts commit cc317d7548.
2020-01-22 16:39:55 +01:00
Vladimir Ilmov cc317d7548 [coroutine] For RUNNING coroutines -1 is the correct number 2020-01-22 14:40:19 +01:00
Alexander Udalov 9187a85aaf Rename UseExperimental->OptIn, Experimental->RequiresOptIn in quickfix and IDE tests 2020-01-14 21:04:43 +01:00
Yan Zhulanow a19f8ffe6a Revert "Debugger: Add IR-powered ranking tests"
This reverts commit ce21a559

Because of the erroneous behavior in 'BuilderFactoryForDuplicateSignatureDiagnostics.groupMembersDescriptorsBySignature', two functions with arguments of different inline class types are considered to have the same JVM signature.
Before the error wasn't reported, as classes didn't have proper source elements.
This issue has to be fixed before enabling ranking tests.
2019-12-13 12:23:24 +09:00
Yan Zhulanow ce21a55943 Debugger: Add IR-powered ranking tests 2019-12-11 20:04:03 +09:00
Yan Zhulanow 076166c22f Debugger: Generate line numbers for class initializers with a number on the 'init' keyword (KT-16277)
Debugger tests not absent as they use the bootstrap version of kotlinc.
Obviously, this change is not present in it yet.
2019-11-25 17:26:31 +09:00
Yan Zhulanow ab0f841642 Debugger: Provide fixed implementation of 'toString()' for lambdas (KT-32691) 2019-11-25 17:26:27 +09:00
Yan Zhulanow 82a1750d26 Debugger: Forbid 'Nothing' constructor calls in evaluated code (KT-33093) 2019-11-25 17:26:27 +09:00
Vladimir Ilmov 25acb1e191 [coroutine][debugger] removed and regenerated tests for not-ready-to-be-tested logic, kt* tests are failing due to KT-32691 2019-11-20 13:17:56 +03:00
Aleksandr Prokopyev 1dc44b4000 Debugger: Tests refactor 2019-11-19 12:29:53 +03:00
Mikhael Bogdanov 4281fd6bd5 Don't write nop for extension lambda during inline 2019-11-14 08:17:33 +01:00
Yan Zhulanow bf027fb824 Do not show Smart Step Into targets for @InlineOnly callables (KT-33728) 2019-10-24 21:33:00 +09:00
Yan Zhulanow 87e0a2d98c Debugger: Fix evaluation of function declarations with expression bodies (KT-32704)
Before this commit, the substituted FunctionDescriptor didn't have a source element.
As a result, 'CodeFragmentParameterAnalyzer.isCodeFragmentDeclaration' failed to recognize such a descriptor as fragment-local, and it was erroneously captured.
2019-10-24 21:33:00 +09:00
Yan Zhulanow 716c9f79f7 Debugger: Do not use expression code fragments for evaluator (KT-32736, KT-32741)
It seems like it doesn't make much sense to create expression code fragments.
People type statements or several expressions separated with a semicolon to a single-line expression line.
That is exactly what block code fragment was designed for.
2019-10-24 21:33:00 +09:00
Yan Zhulanow 39662c09e9 Debugger: Fix breakpoints and stepping on a first line (KT-33304)
This commit fixes the 'SmartStepIntoTestGenerated#testFunWithExpressionBody' test.
2019-10-24 21:32:59 +09:00
Yan Zhulanow 9cc7ff0efc Debugger: Fix "smart step into" for library declarations (KT-33303) 2019-10-24 21:32:59 +09:00
Yan Zhulanow 8325216d38 Debugger: Fix "Step over" with inline function calls in non-functions (KT-20342) 2019-10-24 21:32:58 +09:00
Yan Zhulanow 472ec72eb9 Refactor debugger tests
1. Move tests to their own module
2. Avoid sharing the 'tinyApp' project between tests
3. Clean up option directive handling
2019-10-08 19:13:56 +09:00