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
a7071344f5
EA-219152 (partially): Provide correct PropertyDescriptor for _field
2020-02-14 17:35:18 +09:00
Yan Zhulanow
9c889aab17
EA-213309: Eliminate "Invalid method id" exception
2020-02-14 17:35:18 +09:00
Yan Zhulanow
f6b62f2299
Minor: extract wrapEvaluateException()
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
d539a870ed
EA-214668, EA-209980: Use StackFrameProxyImpl with safe implementation of thisObject()
2020-02-14 17:35:18 +09:00
Yan Zhulanow
fabbfdc7f8
EA-214654: Add missing read action
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
b1414fa477
EA-214662: Support property accessors in UastLightIdentifier
2020-02-14 17:35:18 +09:00
Yan Zhulanow
be99f44c4f
EA-209623: Check library disposed state
2020-02-14 17:35:18 +09:00
Yan Zhulanow
eb3685d6ac
EA-218902: Check PsiElement for validity
2020-02-14 17:35:17 +09:00
Yan Zhulanow
615d24bbd2
Minor: Rename KotlinStepOverInlineFilter to KotlinStepOverFilter
2020-02-14 17:35:17 +09:00
Yan Zhulanow
f4337eede1
Debugger, BE: Support lambda breakpoints for lambdas passed to '@InlineOnly' functions
2020-02-14 17:35:17 +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
cc2fe6b0c6
Debugger, BE: Generate original line number after inlining if call is used in an if condition
...
If a part of an 'if' condition is an inline function call, we need to insert the original condition line after it. Otherwise, the debugger will think it is inside the inline function implementation. Obviously, this breaks stepping – instead of the 'if' body, we go on stepping through the inline function.
This commit fixes 'KotlinSteppingTestGenerated.StepOver#testSoInlineLibFun' test.
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
8b17718086
Debugger, BE: Make the NOP instruction optimizer save the first NOP, not the last
...
This commit fixes the following tests:
- KotlinSteppingTestGenerated.StepOver#testSoInlineLibFun
- KotlinSteppingTestGenerated.StepOver#testSoInlineIterableFun
- KotlinSteppingTestGenerated.StepOver#testSoInlineFunOnOneLineFor
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
01a6e7abf3
Debugger, eval4j: Remove eager class loading in findField() (KT-35354)
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
b7449c2d6e
Debugger, minor: Move Action to its own file, rename to KotlinStepAction
2020-02-14 17:35:17 +09:00
Yan Zhulanow
dd4a8d01c9
Debugger: Remove obsolete hacks needed for old Android dex
2020-02-14 17:35:16 +09:00
Yan Zhulanow
dd743f05c1
Debugger: Remove/change tests for the deprecated Android dex
2020-02-14 17:35:16 +09:00
Yan Zhulanow
f912602ddc
Debugger, minor: Move KotlinSourcePosition to top level
2020-02-14 17:35:16 +09:00
Yan Zhulanow
2df646e273
Debugger, minor: Remove unneeded nullability dance
2020-02-14 17:35:16 +09:00
Yan Zhulanow
1a3553cdb7
Debugger: Simplify method filters, use smart pointer in KotlinLambdaMethodFilter
2020-02-14 17:35:16 +09:00
Yan Zhulanow
c6262b5ff2
Debugger, minor: Fix element equivalence check in basic step filter
2020-02-14 17:35:16 +09:00
Yan Zhulanow
fc09534464
Debugger, minor: move step filters to the 'filter' package
2020-02-14 17:35:16 +09:00
Yan Zhulanow
d53c554c8c
Debugger, minor: Add missing 'const' modifier
2020-02-14 17:35:16 +09:00
Yan Zhulanow
6d606e5291
Debugger, minor: Move createStepOverCommandWithCustomFilter() to DebuggerSteppingFilter
2020-02-14 17:35:16 +09:00
Yan Zhulanow
26371ea023
Debugger, minor: Update getActiveFilters() implementation, use prepend()
2020-02-14 17:35:16 +09:00
Yan Zhulanow
c196ce5f09
Pill: Pack embedded dependencies to artifacts
2020-02-14 17:35:16 +09:00
Yan Zhulanow
a2be789d37
Pill: Move out Pill tasks from buildSrc
2020-02-14 17:35:16 +09:00
Yan Zhulanow
6f1b3e0f17
Pill: Fix pre-built run configurations
2020-02-14 17:35:15 +09:00
Yan Zhulanow
73813aef23
Pill: Support all Gradle source sets, not just main/test
2020-02-14 17:35:15 +09:00
nataliya.valtman
3acf7a4679
TCServiceMessageOutputStreamHandlerTest: fix tests
...
Fix test to support updates in ServiceMessageParser and attributes
remove TCServiceMessageOutputStreamHandlerTest from ignored tests
2020-02-14 11:14:17 +03:00
Dmitriy Novozhilov
389dcff125
[FIR] Discard argument with spread in place of non-vararg parameter
2020-02-14 09:18:54 +03:00
Dmitriy Novozhilov
50ac8eb95b
[FIR] Add smartcast info to argument of invoke of function with receiver
2020-02-14 09:18:54 +03:00
Dmitriy Novozhilov
4fbed9b363
[FIR] Add builder for FirExpressionWithSmartcast
2020-02-14 09:18:53 +03:00
Dmitriy Novozhilov
1da036ac98
[FIR-TEST] Split outdated dfa test to separate tests
2020-02-14 09:18:53 +03:00
Dmitriy Novozhilov
1dd7417746
[FIR] Fix configuring label name for lambdas in light tree builder
2020-02-14 09:18:53 +03:00
Dmitriy Novozhilov
6b378cab29
[FIR] Don't render lambda bodies in arguments of calls in cfg dump
2020-02-14 09:18:53 +03:00
Dmitriy Novozhilov
28c95b1108
[FIR] Don't use psi for rendering control flow graph
2020-02-14 09:18:53 +03:00
Dmitriy Novozhilov
a4b53b4a20
[FIR] Fix passing flow from contracts with form returns(false) ...
2020-02-14 09:18:53 +03:00
Dmitriy Novozhilov
643a4b9c3b
[FIR] Support makeDefinitelyNotNull for intersection types
2020-02-14 09:18:53 +03:00
Dmitriy Novozhilov
b71e4ebb3f
[FIR-TEST] Add !DUMP_CFG directive. Get rid of cfg diagnostic tests
2020-02-14 09:18:52 +03:00