Nikolay Krasko
93c91862f1
Fix debugger tests compilation in 193 after the big refactoring
2019-10-11 14:06:47 +03:00
Vladimir Dolzhenko
55548d9199
Use test path relative to testDataPath in fixture.configureByFile to be complaint with 193, part 3
2019-10-09 07:34:25 +02:00
Yan Zhulanow
66758472c7
Fix EA-209316: Allow null JDI values in captured value data
2019-10-08 19:13:56 +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
Yan Zhulanow
d8d81c51d7
Move debugger test data to the new location
2019-10-08 19:13:55 +09:00
Vyacheslav Gerasimov
c1e1dbd83e
Build: Fix usages of "java.home" for tools.jar dependency
...
#KT-33984
2019-09-25 17:54:18 +03:00
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