Anton Yalyshev
61eb9faecd
Move status of evaluation from eventId to context for better data analytics
2019-09-18 10:06:45 +03:00
Nikolay Krasko
d1aca83dd5
Remove getInvalidIcon default implementation after removing 182
...
#KT-33536 Fixed
2019-08-30 12:14:30 +03:00
Nikolay Krasko
4d0fc1dc22
Remove 182 support
...
#KT-33536 Fixed
2019-08-30 12:13:44 +03:00
Yan Zhulanow
e6211c4995
Debugger: Fix the compilation error in as33 bunch
2019-08-08 04:26:10 +09:00
Yan Zhulanow
39e15782b2
Debugger: Fix compatibility with AS 3.3
2019-08-07 01:15:34 +09:00
Yan Zhulanow
01805e8878
Debugger: Fix read action in 'createLineSourcePosition' (KT-33064)
2019-08-07 01:15:34 +09:00
Yan Zhulanow
0a092d6613
Debugger: Fix breakpoint firing in '$suspendImpl' (KT-27645)
2019-08-07 01:15:33 +09:00
Yan Zhulanow
9096d211d3
Debugger, minor: Fix line breakpoint popup (add containing declaration name)
2019-08-07 01:15:33 +09:00
Yan Zhulanow
cc3f1b3501
Debugger: Fix exception in "Smart step into" for Java method calls (KT-32813)
2019-08-07 01:15:32 +09:00
Yan Zhulanow
ecce34e02b
Debugger: Fix infinite recursion in inline callable searcher (EA-108938)
2019-08-07 01:15:32 +09:00
Yan Zhulanow
ea97926c66
Debugger: Add verbose logging for EA-125569, fix possible issue
2019-08-07 01:15:32 +09:00
Yan Zhulanow
527df35bf3
Debugger: Handle case when we can't calculate the anonymous class name gracefully (EA-141202)
2019-08-07 01:15:31 +09:00
Yan Zhulanow
0f568a395f
Debugger: Recognize exceptions from target VM in FUS
2019-08-07 01:15:31 +09:00
Yan Zhulanow
71e8cddaa6
Minor: Fix NI error in KotlinPositionManager
2019-08-07 01:15:31 +09:00
Yan Zhulanow
17c3406097
Debugger: Gracefully handle debugger exceptions we can't do anything reasonable with (EA-128154, EA-139473)
2019-08-07 01:15:31 +09:00
Yan Zhulanow
70745f233f
Debugger: Fix reference value evaluation in Java contexts
...
Before this commit, Kotlin evaluator used the precise value type for variable finding.
As a result, VariableFinder often failed to find such a variable (cause the real one has a super type).
2019-08-07 01:15:31 +09:00
Yan Zhulanow
ed03d6e48e
Debugger, minor: Move FrameInfo out of KotlinCodeFragmentFactory
2019-08-07 01:15:30 +09:00
Yan Zhulanow
98b4844f51
Debugger, minor: Reformat KotlinCodeFragmentFactory
2019-08-07 01:15:30 +09:00
Yan Zhulanow
bb3091429f
Debugger: Keep a reference to stack trace element (EA-208000)
2019-08-07 01:15:30 +09:00
Yan Zhulanow
a664df8143
Debugger: Unwrap EvaluateExceptions on checking (EA-105847)
2019-08-07 01:15:30 +09:00
Yan Zhulanow
52a958256d
Debugger: Disable exception on 'variable not found' event (EA-138365)
...
The error message is still visible to the user, so it doesn't make much sense to duplicate it as an exception.
2019-08-07 01:15:30 +09:00
Yan Zhulanow
e0c4a1c6f1
Debugger: Improve error diagnostics in FUS
2019-08-07 01:15:29 +09:00
Yan Zhulanow
a20014a7e6
Reformat eval4j
2019-08-07 01:15:29 +09:00
Yan Zhulanow
eb173893b0
Debugger: Minor, check evaluator preconditions as in Java evaluator
2019-08-07 01:15:29 +09:00
Yan Zhulanow
d6487e89ad
Debugger: Prohibit 'suspend fun' calls in evaluated expressions
...
Currently, it's impossible to call suspend functions in evaluated code fragments (see KT-31701).
This commit officially prohibits such calls, so users will see a semi-friendly error message.
2019-08-07 01:15:29 +09:00
Yan Zhulanow
3d3bde5483
Debugger: Do not ignore duplicated locations for line breakpoints
2019-08-07 01:15:28 +09:00
Yan Zhulanow
780c0518e5
Debugger: Disallow breakpoints for @InlineOnly function bodies (KT-32687, KT-24408)
...
Kotlin compiler strips all debug information for @InlineOnly functions, making them non-debuggable.
This commit disables breakpoints inside @InlineOnly functions to prevent false expectations.
2019-08-07 01:15:28 +09:00
Yan Zhulanow
25fb77e7ad
Debugger: Add breakpoint applicability tests
...
This commit adds a number of tests that check breakpoint placing behavior, and an inline action that work the same way as tests.
2019-08-07 01:15:28 +09:00
Yan Zhulanow
b1f132d750
Debugger: Add stepping tests for function breakpoints
2019-08-07 01:15:27 +09:00
Yan Zhulanow
023baf6233
Debugger: Ask for light class generation in background
2019-08-07 01:15:27 +09:00
Yan Zhulanow
129ca7f2d8
Debugger: Fix breakpoint applicability (KT-10984)
...
Ensure that breakpoints of each type can be placed only on lines where it makes sense to place a breakpoint.
Here is a quick summary of the rules:
1. Method breakpoints are available for functions, property accessors, constructors;
2. Line breakpoints are available on any line with an expression, excluding some cases like 'const' property initializers or annotations;
3. Line breakpoints should be available on a '}' in functions and lambdas;
4. Line breakpoints are not suggested for one-liners;
5. Lambda breakpoints should be shown for single-line lambdas.
2019-08-07 01:15:27 +09:00
Yan Zhulanow
22c18ffaa9
Debugger: Add Kotlin Function breakpoints (KT-22116)
...
Now it's possible to put a function breakpoint.
In JVM, function breakpoints behave as JVM method breakpoints. Normally, they're triggered twice – once on enter, and once on exit.
2019-08-07 01:15:27 +09:00
Yan Zhulanow
55ea0840b1
Debugger: Keep continuation and spilled variables until the whole trace is processed (EA-208000)
2019-08-07 01:15:27 +09:00
Roman Artemev
ce9ed26918
[DEBUGGER] Improve computation of source position for breakpoint
...
in KotlinLineBreakpointType more precise.
- make `getOffset` of returned position point to lambda body start.
Fix [WEB-29329]
2019-07-26 15:05:41 +03:00
Ilmir Usmanov
b3e80e6a14
Look for classfile in implementing modules when building inline function
...
hyperlinks.
#KT-32864 Fixed
2019-07-25 15:10:03 +03:00
Dmitry Gridin
d47a7234bb
ReplaceJavaStaticMethodWithKotlinAnalogInspection: apply inspection on idea module
2019-07-10 14:09:36 +03:00
Ilya Kirillov
041677ab1b
New J2K: force use old j2k for all not file/copy-paste conversions
2019-07-10 13:16:54 +03:00
Dmitry Gridin
d3810bfcae
Add operator modifier by inspection on idea module
2019-07-08 13:03:22 +03:00
Yan Zhulanow
0f4085066f
Debugger: Do not assume we are inside the class body when in '}' (KT-15259)
2019-07-08 16:25:19 +09:00
Yan Zhulanow
a8efb349ed
Debugger, minor: Remove debugger labels in dispatch receivers
...
In anonymous classes/lambdas the debug name becomes something like 'this@<anonymous>' that doesn't make much sense to the user.
It's more correct to show just 'this'.
2019-07-08 16:25:19 +09:00
Yan Zhulanow
8f20f0b963
Debugger: Do not calculate default source file if an alternative one is available
2019-07-08 16:25:19 +09:00
Yan Zhulanow
6fc801afd2
Debugger: Make calls to LocalVariableProxyImpl.type lazy
...
Avoid unnecessary calls to getType() in variables and fields.
2019-07-08 16:25:18 +09:00
Yan Zhulanow
91565076e2
Debugger: Fix property accessor evaluation in scripts (KT-23526)
2019-07-08 16:25:18 +09:00
Yan Zhulanow
6d7d524b9b
Debugger: Fix 'expect fun' evaluation from common code (KT-26742)
2019-07-08 16:25:17 +09:00
Yan Zhulanow
873f4a1b08
Debugger: Accept empty code fragment contexts (KT-19556)
2019-07-08 16:25:17 +09:00
Yan Zhulanow
577f32740e
Debugger: Fix isDumb contract in evaluator (KT-31510)
2019-07-08 16:25:17 +09:00
Yan Zhulanow
c2f0286183
Debugger: Prefer the closest captured values
2019-07-08 16:25:17 +09:00
Yan Zhulanow
4fe6431b0f
Debugger: Disable value rendering in watches by default (KT-19084)
2019-07-08 16:25:16 +09:00
Yan Zhulanow
b4f515a436
Debugger: Support Kotlin variables for inlined lambdas inside inline functions (KT-31418)
2019-07-08 16:25:16 +09:00
Yan Zhulanow
afa0bec6f6
Debugger: Change the inline depth calculation heuristics, fix debugging for inlined lambdas (KT-30919)
2019-07-08 16:25:16 +09:00