Commit Graph

120 Commits

Author SHA1 Message Date
Yan Zhulanow 8b5f2f9474 Fix duplicate stepping filter adding on plugin start-up (KT-38628)
Review KT-CR-1301.
2020-06-18 22:32:34 +09:00
Yan Zhulanow 8a3e63aaf6 Minor: Clean up jvm-debugger-core module 2020-05-27 02:38:43 +09:00
Yan Zhulanow 0bf63c3000 Minor: Move filters to the companion object 2020-05-27 02:38:43 +09:00
Yan Zhulanow 3a0b0770d7 Debugger, minor: Remove obsolete KotlinRuntimeTypeEvaluator 2020-05-27 02:38:43 +09:00
Yan Zhulanow 9e85e9a036 Debugger, minor: Move method filters to the 'smartStepInto' package 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 d0f34624bd Debugger: Replace unsafe location() calls with safeLocation() 2020-05-27 02:38:43 +09:00
Yan Zhulanow e6791ea4c3 Minor: merge KotlinSyntheticTypeComponentProvider with the base class
Base class was needed because of the separate bunch.
The bunch was deleted in 254dc8f71c,
  and now it doesn't make sense to have a base class any more.
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 8fc403db94 Check if we are inside Kotlin in KotlinClassWithDelegatedPropertyRenderer
As 'isApplicable()' is called for Java classes as well, we spend too
  much time on calling 'allFields()' for deliberately unrelated classes.
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
Dmitry Gridin 6524e2b764 i18n, debugger: add missing bundles for 201
#KT-38487 Fixed
2020-04-24 16:13:44 +07:00
Vladimir Ilmov 73f5e48518 (CoroutineDebugger) Minor fixes, kotlinx.coroutines version fix 2020-04-21 09:48:13 +02:00
Vladimir Ilmov c96d30a8ce (CoroutineDebugger) Added setting to disable coroutine agent 2020-04-21 09:48:12 +02:00
Dmitry Gridin ee2d9d19c1 i18n: update bundle in `idea-debugger
#KT-37483
2020-03-30 14:58:34 +07:00
Dmitry Gridin f66e985821 i18n: update bundle for jvm-debugger 2020-03-16 18:40:51 +07:00
Dmitry Gridin 7507d62ec3 i18n: replace KotlinBundleBase with AbstractKotlinBundle 2020-03-16 18:40:49 +07:00
Roman Golyshev c3cbcc0842 i18n: move all kotlin bundles to resources/messages directories 2020-03-16 18:40:47 +07:00
Yan Zhulanow e0d5607fcd i18n: Add bundle for JVM debugger (core) 2020-03-16 18:40:41 +07:00
Vladimir Ilmov 9904304e07 (CoroutineDebugger) StackFrameInterceptor service added to KotlinPositionManager, dependency cleanup 2020-03-15 14:37:15 +01:00
Vyacheslav Gerasimov f735396ffb Build: Make toolsJarApi() helper for JPS build 2020-03-10 17:24:21 +03:00
Vyacheslav Gerasimov ef169aa12b Build: Use preprocessed tools.jar for compilation
tools.jar from JDK has different public api on different platforms which
makes impossible to reuse caches for tasks which depend on it. Since we
can't compile against those classes & stay cross-platform anyway, we
may just exclude them from compile classpath. This should make tools.jar
compatible at least within one build of JDK for different platforms
2020-03-10 17:24:21 +03:00
Alexander Udalov 98aecbef6b Optimize runtime representation for callable reference subclasses
Instead of generating overrides for getOwner/getName/getSignature in
each anonymous class representing a callable reference, pass them to the
superclass' constructor and store as fields. This occupies some small
memory but helps to reduce the size of the generated class files, and
will be helpful for adding further runtime information to callable
references, such as information about implicit conversions this
reference has been subject to.

Represent owner as java.lang.Class + boolean instead of
KDeclarationContainer, so that the unnecessary wrapping Class->KClass
wouldn't happen before it's needed, and also to make sure all callable
references remain serializable.

Note that the argument type where the "is declaration container a class"
is passed is int instead of boolean. The plan is to pass the
aforementioned implicit conversion information as bits of this same
integer value.

 #KT-27362 Fixed
2020-03-06 16:55:07 +01:00
Vladimir Ilmov dc8f24b8bc Revert "Registry key to show hidden variables in debugger."
This reverts commit f5e6001d82.
2020-03-02 08:35:09 +01:00
Vyacheslav Gerasimov 0db69cadb6 Build: Make all compile dependencies on toolsJar compileOnly
tools.jar differs between different versions of JDK reducing cache reuse
so better to not leak it to other modules
2020-02-29 16:35:54 +03:00
Vladimir Ilmov f5e6001d82 Registry key to show hidden variables in debugger. 2020-02-27 08:59:08 +01:00
Yan Zhulanow dd33640238 Debugger: Skip inlined library frames on step over (KT-12016) 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 615d24bbd2 Minor: Rename KotlinStepOverInlineFilter to KotlinStepOverFilter 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 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 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
Vladimir Ilmov e570450c59 coroutine debugger logic moved to jvm-debugger-coroutine module 2020-01-14 10:14:56 +01:00
Vladimir Ilmov b1b0817336 [coroutine][debugger] implementation basing on X-* approach
XCoroutine view added for direct comparison with Coroutines
2020-01-14 10:14:56 +01:00
Vladimir Ilmov 61c5ef61cc [coroutine][debugger] refactoring being done
X-view approach added for review, thread groups added
2020-01-14 10:14:55 +01:00
Michael Kuzmin 254dc8f71c Build: Drop IntelliJ 2018.3 and Android Studio 3.4 support
Delete *.183 and *.as34 bunch-files
2019-12-19 18:31:07 +03:00
Dmitry Gridin 4d7fe78a51 KotlinFunctionBreakpoint: fix INRE
#KT-35316 Fixed
#EA-219418 Fixed
2019-12-17 17:20:35 +07:00
Dmitry Gridin 8dbbd64beb idea: cleanup code 2019-12-17 13:56:48 +07:00
Vladimir Ilmov f05a452ef2 [coroutine][debugger] Unit test support added for Gradle run configurations. 2019-12-11 11:46:28 +01:00
Vladimir Ilmov 82cdcb421b jdi.StringReferenceImpl references replaced with StringReference 2019-12-11 11:44:02 +01:00
Egor Ushakov e2010cb90d Do not cast to jdi impl classes 2019-12-11 13:16:27 +03:00