Alexander Udalov
8c71d8f126
Undeprecate VariableDescriptorWithAccessors.isDelegated
...
Apparently there's quite a few valid usages of this method outside of
the compiler frontend, where manual suppression is annoying.
2020-07-07 18:09:40 +02:00
Ilya Chernikov
a0efd1e323
Optimize scopes handling inside ChainedMemberScope
2020-06-11 16:16:15 +02:00
Pavel Kirpichenkov
7fff8f82e2
Changes after review
...
- Replace leaking ModuleResolverTracker with use of ModuleDescriptor.Capabilies
- Provide API for retrieving ResolverForProject from ResolutionFacade
- Update names
2020-06-03 20:58:07 +03:00
Pavel Kirpichenkov
db1210fc67
Introduce components for library-to-source resolution in IDE
...
#KT-24309 In progress
2020-06-03 20:58:07 +03:00
Yan Zhulanow
3e05f7c2ab
Minor: Move EvaluationStatus to the parent dir match its package name
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
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
Roman Golyshev
1dded486f1
i18n: fix bundle messages/testData messages where necessary
2020-03-16 18:40:47 +07:00
Yan Zhulanow
830c7cef07
i18n: Add bundle for JVM debugger (evaluation)
2020-03-16 18:40:42 +07: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
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
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
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
Dmitry Gridin
8dbbd64beb
idea: cleanup code
2019-12-17 13:56:48 +07:00
Alexander Udalov
fd627603a0
Refactor CompilationErrorHandler
...
It only had one implementation THROW_EXCEPTION, inline it everywhere
with a call to a static method
2019-12-03 10:48:34 +01: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
Yan Zhulanow
2cb055a3bd
Debugger: Log evaluation status from Java contexts
...
IntelliJ doesn't call KotlinDebuggerEvaluator from Java contexts; instead, it calls JavaDebuggerEvaluator.
Unfortunately, there seems to be no way to figure out the exact evaluation type for Java contexts. However, we can at least log the evaluation status itself.
2019-10-24 21:33:01 +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
9fb622e148
Debugger: Do not disable breakpoints on evaluation (KT-12242)
2019-10-24 21:32:57 +09:00
Yan Zhulanow
9c88a1f807
Debugger: Fix language detection in FUS
2019-10-15 22:06:45 +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
Yan Zhulanow
0f568a395f
Debugger: Recognize exceptions from target VM in FUS
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
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
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
Ilya Kirillov
041677ab1b
New J2K: force use old j2k for all not file/copy-paste conversions
2019-07-10 13:16:54 +03: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
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
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
9c9d2b5ad4
Minor: Rename constant to match its meaning
2019-07-08 16:25:16 +09:00
Nikolay Krasko
b7c12014ee
Modify dependencies for 192 branch: more dependencies to full java plugin
2019-06-26 14:11:23 +03:00
Nikolay Krasko
beb1bc09d4
Update to 192.5118.30
2019-06-25 11:48:59 +03:00
Vyacheslav Gerasimov
5a39c637c2
Build: Fix intellij dependency leak from ir tree module
2019-06-13 21:03:55 +03:00
Yan Zhulanow
1ec6ca7dd6
Fix rebase issue, move KotlinDebuggerEvaluator to the debugger-util module
2019-06-13 22:34:33 +09:00
Yan Zhulanow
7e564e94ed
Debugger: Implement error reporting for evaluator
2019-06-13 21:58:23 +09:00
Ilya Kirillov
1a9deed5d8
New J2K: add conversion progress bar
...
Relates to #KT-31812
2019-06-05 23:33:11 +03:00