Alexey Tsvetkov
f38ad0fe8a
Fix inter-project IC with new MPP for JS/JVM targets
...
#KT-26275 Fixed
#KT-29966 Fixed
2019-02-25 17:12:14 +03:00
Nicolay Mitropolsky
5786ab5140
Uast: making KotlinClassViaConstructorUSimpleReferenceExpression also handle deserialized descriptors
2019-02-25 16:35:46 +03:00
Nicolay Mitropolsky
25e00c9079
Uast: making KotlinClassViaConstructorUSimpleReferenceExpression resolve to class in case of SAM (KT-28272)
2019-02-25 16:35:46 +03:00
Nicolay Mitropolsky
d7584df01b
Uast: making ULambdaExpression.functionalInterfaceType return non-null values for explicitly typed SAM-s with Java interfaces (KT-28272)
2019-02-25 16:35:46 +03:00
Anton Yalyshev
a326ba60a3
metadata contains Common target, so we need to track it as well
2019-02-25 16:26:12 +03:00
Max Medvedev
526e49d68a
fix test icons for methods
...
#KT-25956
2019-02-25 16:02:42 +03:00
Sergey Igushkin
03e36334cf
Push Gradle version for kotlin-gradle-plugin-integration-tests to 5.2
2019-02-25 15:43:40 +03:00
Sergey Igushkin
43de81e4c8
Fix MPP publishing with metadata on Gradle 5.2 (KT-29758)
...
In publishing, use attribute containers of detached configuration
instead of HierarchyAttributeContainer, which is rejected by Gradle for
not being an AttributeContainerInternal.
Using attributes of a detached configuration is a small and
conservative fix; we may need to either not filter the attributes,
which will lead to [ProjectLocalConfigurations.ATTRIBUTE] being
published in the Gradle module metadata, which will potentially
complicate our attributes schema migration, or create proper,
non-detached configurations for publishing that are separated from the
configurations used for project-to-project dependencies.
Issue #KT-29758 Fixed
2019-02-25 15:43:40 +03:00
Svyatoslav Kuzmich
beb5f73a2b
Remove duplicate tests from JS compiler test set. Merge chages to common compiler tests
2019-02-25 15:09:27 +03:00
Svyatoslav Kuzmich
a736756ceb
[JS IR BE] Fix and refactor interop tests
2019-02-25 15:09:27 +03:00
Svyatoslav Kuzmich
569187a751
[JS IR BE] Use Char boxing rules of current backend
2019-02-25 15:09:26 +03:00
Svyatoslav Kuzmich
de020ed58a
[JS IR BE] Generate and export JS properties
2019-02-25 15:09:26 +03:00
Svyatoslav Kuzmich
fc5636b7c1
[JS IR BE] Fix: Don't generate built-in "Function" interface
2019-02-25 15:09:26 +03:00
Svyatoslav Kuzmich
326cbcc218
[JS IR BE] Unmute tests
2019-02-25 15:09:26 +03:00
Svyatoslav Kuzmich
1184c158e4
[JS IR BE] Support @JsName in bridges
2019-02-25 15:09:26 +03:00
Svyatoslav Kuzmich
e09a6f0007
[JS IR BE] Fix codegen for external companion objects
2019-02-25 15:09:25 +03:00
Svyatoslav Kuzmich
c4ffe36a21
[JS IR BE] Add CharSequence type check
2019-02-25 15:09:25 +03:00
Svyatoslav Kuzmich
3be4248791
[JS IR BE] Disable deprecated jsName tests
2019-02-25 15:09:25 +03:00
Svyatoslav Kuzmich
74c8f54fc8
[JS IR BE] Support cast to native interface
2019-02-25 15:09:25 +03:00
Kirill.Shmakov
4a3476a87c
Merge rr/kishmakov/KT-30056 into master
2019-02-25 11:45:55 +00:00
Yan Zhulanow
e43fd713ef
Fix new compiler tests (new receiver name mangling – $this$label)
2019-02-25 14:44:00 +03:00
Yan Zhulanow
133f021b26
Async stack traces: Fix compilation on IDEA 182 and older AS versions
2019-02-25 14:44:00 +03:00
Yan Zhulanow
cadb70f64a
Evaluator: Allow to evaluate expression on synthetic lines in .kt files
2019-02-25 14:44:00 +03:00
Yan Zhulanow
16266259f5
Evaluator: Handle function context gracefully. Use file scope as a fallback instead of error scope
2019-02-25 14:44:00 +03:00
Yan Zhulanow
5035de24ac
Code fragments: Use file scope as a fallback when a more specific one is not available
2019-02-25 14:44:00 +03:00
Yan Zhulanow
316dcccc30
Minor: Capitalize word "Kotlin" in error messages
2019-02-25 14:43:59 +03:00
Yan Zhulanow
28e4356e6e
Restore original variable name mangling for captured/receiver $this
...
Design for the new one is still not finished.
2019-02-25 14:43:59 +03:00
Yan Zhulanow
1edacbbb5e
Evaluator: Don't rely on moduleDescriptor presence in DebugLabel descriptor generation
...
The containing moduleDescriptor may not exist for the Java context.
2019-02-25 14:43:59 +03:00
Yan Zhulanow
a21802ee51
Pill: Fix new annotations-13.0 configuration
2019-02-25 14:43:59 +03:00
Yan Zhulanow
632b9ac38c
Evaluator: Support 'field' variable evaluation for top-level properties
2019-02-25 14:43:59 +03:00
Yan Zhulanow
81f4e2fb3b
Evaluator: Support delegated local variables
2019-02-25 14:43:59 +03:00
Yan Zhulanow
77bec27c99
Evaluate parameter value instead of backing field in primary constructor
2019-02-25 14:43:59 +03:00
Yan Zhulanow
592083bc5b
Debugger: Support DebugLabel descriptors in completion
2019-02-25 14:43:58 +03:00
Yan Zhulanow
bff3f28a72
Pill: Fix IdeaPlugin artifact configuration
2019-02-25 14:43:58 +03:00
Yan Zhulanow
b9f76683dd
Simplify 'suppressDiagnosticsInDebugMode'
...
In the new evaluator, suppressDiagnosticsInDebugMode is never set, and effectively the only check is that if a particular file is a KtCodeFragment.
2019-02-25 14:43:58 +03:00
Yan Zhulanow
6cb2146d31
Remove 'allowSpecialClassNames' extraction option
2019-02-25 14:43:58 +03:00
Yan Zhulanow
11dfbd5d3d
Allow '$this$label$<somethingElse>' for extension receivers
...
Our mangling works poorly with nested inline function calls (saying, `apply()` inside an another `apply()`). In that case, the generated local variable name for both cases will be `$this$apply`. As the debugger sees only the last (the closest) variable with the same name, we loose the ability to get the first one.
This means we might want to add some additional information to the mangling (e.g. add the trailing indices `$this$apply$1`). This commit supports this case.
2019-02-25 14:43:58 +03:00
Yan Zhulanow
34b03c45d7
Add a test for escaped names supported in the new evaluator (KT-29661)
2019-02-25 14:43:58 +03:00
Yan Zhulanow
51b26325c6
Coroutine stack trace provider: check thread state before invokeMethod()
2019-02-25 14:43:58 +03:00
Yan Zhulanow
24cdd3f857
Remove 'debugTypeInfo' key
...
The key became obsolete as the new evaluator doesn't use it anymore.
2019-02-25 14:43:57 +03:00
Yan Zhulanow
6a81c2e1e4
Minor: Extract 'this' local variable name in DefaultImpls
2019-02-25 14:43:57 +03:00
Yan Zhulanow
65b6098242
Further refinements in variable displaying (Kotlin mode)
...
- Remove synthetic outer this for lambdas
- Recognize captured this for interface default methods
2019-02-25 14:43:57 +03:00
Yan Zhulanow
300c102c3f
Remove BeforeExtractFunctionInsertionTest, the new evaluator doesn't depend on the 'extract function' refactoring
2019-02-25 14:43:57 +03:00
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