Yan Zhulanow
0657a3d399
New evaluator that doesn't depend on the 'extract function' refactoring (KT-28192, KT-25220, KT-25222, KT-21650)
2019-02-25 14:43:57 +03:00
Yan Zhulanow
3e849294f0
Extract the common part from bunched KtCodeFragment
2019-02-25 14:43:57 +03:00
Yan Zhulanow
b4002accfb
Extract label name calculation from 'recordCallLabelForLambdaArgument()'
2019-02-25 14:43:56 +03:00
Yan Zhulanow
34c5954d75
Minor: Reformat evaluator code
2019-02-25 14:43:56 +03:00
Yan Zhulanow
eaed6855ac
Minor: Add proper nullability check in generateExtensionReceiver()
2019-02-25 14:43:56 +03:00
Yan Zhulanow
d039e3b1c0
Hide synthetic variables for local functions and destructured lambda parameters (Kotlin variables)
2019-02-25 14:43:56 +03:00
Yan Zhulanow
ed88020a84
Minor: Reformat extraction engine files
2019-02-25 14:43:56 +03:00
Yan Zhulanow
488418d960
Change mangling for local functions
2019-02-25 14:43:56 +03:00
Yan Zhulanow
aca3be12e9
Change illegal local variable mangling rules
2019-02-25 14:43:56 +03:00
Yan Zhulanow
47f0b68a8c
Change mangling for destructured lambda parameters
2019-02-25 14:43:56 +03:00
Yan Zhulanow
d2c2a6c99f
Debugger: Support inline functions in Variables view
2019-02-25 14:43:55 +03:00
Yan Zhulanow
7fb8357b28
Allow '// PRINT_FRAME' option for multi-breakpoint stepping tests
2019-02-25 14:43:55 +03:00
Yan Zhulanow
16b94feea6
Minor: Remove an obsolete TODO comment
2019-02-25 14:43:55 +03:00
Yan Zhulanow
6cd980765c
Do not issue exceptions for non-captured local variables
...
This partly fixes KT-28192.
2019-02-25 14:43:55 +03:00
Yan Zhulanow
4ae01badff
Extract function: avoid same parameter names
2019-02-25 14:43:55 +03:00
Yan Zhulanow
7de5ddaac9
Fix receiver evaluation for primitive receiver types
2019-02-25 14:43:55 +03:00
Yan Zhulanow
f6cc686095
Minor: Extract a const for continuation variable name
2019-02-25 14:43:55 +03:00
Yan Zhulanow
cf9461847b
Hide unrelated this entries in Kotlin Watches mode
2019-02-25 14:43:54 +03:00
Yan Zhulanow
e5b0d2e34f
Refactoring: Extract list field search
2019-02-25 14:43:54 +03:00
Yan Zhulanow
c5061e7997
Replace 'visibleVariablesByName()' calls with a safe implementation
2019-02-25 14:43:54 +03:00
Yan Zhulanow
757fc421f7
Refactoring: Extract wrapping 'try' expressions
2019-02-25 14:43:54 +03:00
Yan Zhulanow
f5a3a46e76
Watches: Hide 'this' if it's a continuation
2019-02-25 14:43:54 +03:00
Yan Zhulanow
227a7e5609
Provide access to 'coroutineContext' inside suspend functions/lambdas (KT-24829)
2019-02-25 14:43:54 +03:00
Yan Zhulanow
cf925fc2ad
Activate Kotlin stack frame even if there is no Kotlin strata
2019-02-25 14:43:54 +03:00
Yan Zhulanow
f6b2e673f7
Debugger: Display async stack trace elements for suspend callers (KT-28728)
2019-02-25 14:43:53 +03:00
Yan Zhulanow
e8c066605b
Do not drop analysis results for the code fragment context, allow to re-use it
...
Otherwise labels declared in the expression context become unresolved.
This is needed for the `this@label` expression evaluation support (KT-28134).
2019-02-25 14:43:53 +03:00
Yan Zhulanow
4c681c787d
Watches: Add Kotlin/JVM views to watches window (KT-28134, KT-28087, KT-22250)
...
Kotlin mode: show only Kotlin variables and captured values. The variable names are Kotlin-friendly.
JVM mode: show all variables available in the current stack position, including synthetic ones.
2019-02-25 14:43:53 +03:00
Yan Zhulanow
5c419fc629
Evaluator: New implementation for variable finder
...
Support both old and new receiver variable conventions in variable finder.
2019-02-25 14:43:53 +03:00
Yan Zhulanow
df7bbf707b
Refactoring: Rename a function to 'getArgumentsForEvaluation()'
2019-02-25 14:43:53 +03:00
Yan Zhulanow
ea462091c4
Support new convention for local variables name mangling: '$receiver' -> '$this$<label>' (KT-26913)
2019-02-25 14:43:53 +03:00
Yan Zhulanow
b5f9149702
Minor: Get rid of some magic constants
2019-02-25 14:43:53 +03:00
Ilya Chernikov
b1ab2ead61
Restore find script definition behaviour (mostly) and relevant comments broken with refactoring
2019-02-25 11:57:13 +01:00
Nicolay Mitropolsky
6b792c36f0
KotlinUastApiTest: using kfail alias
2019-02-25 12:26:22 +03:00
Nicolay Mitropolsky
712c897472
Uast: fix for UVariables missing typeReferences
2019-02-25 12:26:21 +03:00
Nicolay Mitropolsky
98740138f3
Uast: yet another check for invalid context before resolve (EA-137191, EA-137193)
2019-02-25 12:26:21 +03:00
Nicolay Mitropolsky
bd0c6736ce
Uast: implementing specific javaPsi for UVariables
2019-02-25 12:26:21 +03:00
Nicolay Mitropolsky
7dc818d42b
191: KotlinUastApiTest.kt missed bunch aligning fix
2019-02-25 12:26:21 +03:00
Andrey Uskov
63a1bba6d9
Fix importing compiler arguments if worker api is used #KT-29564 Fixed
2019-02-25 12:20:27 +03:00
Natalia Selezneva
8453c1ff4d
Scratch: hide 'make module' checkbox when no module is selected
...
^KT-23985
2019-02-25 11:20:49 +03:00
Natalia Selezneva
e2b5134048
Allow to run scratch without module selected
...
^KT-23985 Fixed
2019-02-25 11:20:49 +03:00
Natalia Selezneva
8d4ca4d1c5
Scratch: Fix "Read access is allowed from event dispatch thread or inside read-action only"
...
^KT-28958 Fixed
2019-02-25 11:19:36 +03:00
Dmitry Savvinov
ba36fafb84
Create JsAnalyzerFacade with allowSliceRewrite=true
...
Other facades (JVM, Common, Native) are already created with such flag.
This should stop some known 'rewrite at slice'-exceptions from being
thrown (KT-21405, KT-29705).
For a more thorough investivation and details, refer to KT-30031.
Also, see KT-30030: even though it was fixed by the different commit,
the same scenario probably can be used to investigate other rewrites
(even though they will reproduce much less frequently than original
issue)
^KT-21405 Fixed
^KT-29705 Fixed
2019-02-25 11:10:16 +03:00
Dmitry Savvinov
50d1c013fc
Force-resolve body in contract computation under lock
...
Even though acquire/release pattern guarantees memory visibility across
threads, it doesn't prevents concurrent access to critical section (i.e.
to force-resolve of the corresponding body).
This can lead to multiple resolution passes over one and the same PSI in
IDE, which, in turn, leads to 'rewrite at slice'-exceptions. See
KT-30030 for case description and details.
^KT-30030 Fixed
2019-02-25 11:10:16 +03:00
Dmitry Savvinov
705ec503cf
Minor optimization: don't put 'null' for ContractProvider in user data
2019-02-25 11:10:16 +03:00
Dmitry Savvinov
2359944fa7
Minor: add debugName to JS-slices
2019-02-25 11:10:16 +03:00
Mikhail Glukhikh
c084eefb65
Fix a bunch of IDE quick-fix tests (related to "convert to run/...")
...
These actions became available more often some days ago
2019-02-25 10:37:46 +03:00
Dmitriy Dolovov
4ef12b1ed7
CIDR: New way of building CLion and AppCode plugins v2
2019-02-25 14:06:51 +07:00
Mikhail Glukhikh
de93aad8aa
FIR total resolve in IDE test: fix accidentally wrong project path :(
2019-02-25 09:53:21 +03:00
Mikhail Zarechenskiy
617bed1bf1
Fix nested typealiases expansion and as a result fix serialization
...
Consider the following situation:
```
class Inv<T>
typealias A<K> = Inv<K>
typealias B<V> = Inv<A<K>>
fun <U> materialize(): B<U> = TODO()
```
Type `B<U>` is expanding to `Inv<Inv<U>>` and for this type `B<U>` and
`Inv<A<U>>` are abbreviated types, but due to a bug we forgot to make
substitution for `Inv<A<U>>` and were getting abbreviated type
`Inv<A<K>>` where `K` is a type parameter from the typealias declaration.
This bug didn't affect subtyping anyhow but the incorrect type was
serialized and caused problems during deserialization as there wasn't
`K` in deserialization context.
#KT-24964 Fixed
#KT-20780 Fixed
#KT-20065 Fixed
#KT-28236 Fixed
#KT-21775 Fixed
2019-02-25 00:28:45 +03:00
Stanislav Erokhin
f1d5912f05
Update Kotlin/Native: 1.2-rc1-7773
2019-02-23 11:39:10 +03:00