Mikhail Glukhikh
63aa5191da
Move Fir2IrFakeOverrideGenerator to 'backend.generators' package
2020-03-18 17:09:35 +03:00
Mikhail Glukhikh
8f27129c36
[FIR2IR] Introduce & use components storage
2020-03-18 17:09:35 +03:00
Mikhail Glukhikh
175145ce4e
[FIR2IR] Extract separate classifier storage from declaration storage
2020-03-18 17:09:34 +03:00
Dmitry Gridin
95b77f6386
AddJvmOverloadsIntention: disable for annotation classes
...
#KT-36482 Fixed
2020-03-18 13:51:56 +00:00
Valentin Kipyatkov
084276ef1f
Suppress suggested refactoring for unused private and local declarations
2020-03-18 15:16:04 +02:00
Valentin Kipyatkov
e95d1c1224
Do not suggest to update usages on renaming duplicated method or property
2020-03-18 15:16:04 +02:00
Valentin Kipyatkov
395ba7d008
Using new API
2020-03-18 15:16:04 +02:00
Dmitry Gridin
7a3f6f5312
Formatter: fix continuation indent in call chain
...
#KT-37545 Fixed
2020-03-18 12:37:28 +00:00
pyos
2c06503311
JVM_IR: partially fix inline methods using captured crossinline lambdas
...
The fields containing crossinline lambdas should be package-private to
avoid generating synthetic accessors, which break object regeneration.
Note that the inline methods cannot actually be called, as call sites
will attempt to read the captured lambda from a field through a *copy*
of the local containing the object, so these reads will not be inlined,
causing an exception at runtime:
inline fun f(crossinline g: () -> Unit) = object : I {
inline fun h() = g()
// effectively `val tmp = this; return tmp.$g()`:
override fun run() = h()
}
f {}.run() // NoSuchFieldError: $g
This particular example can be fixed by reusing locals for receiver
parameters in IrInlineCodegen, but explicitly assigning `this` to
another variable and calling an inline method on it will break it again.
(This is only applicable to the JVM_IR backend, as the non-IR one fails
to generate `f` at all for some other reason.)
2020-03-18 13:13:54 +01:00
Dmitry Petrov
dd27b3d4f1
KT-36973 Keep private default interface members private
2020-03-18 14:18:47 +03:00
Dmitry Petrov
1c24a97b9e
KT-36972 Don't create proxies for companion @JvmStatic $default in host
...
When creating proxy functions in a host class for @JvmStatic members of
companion object, skip functions for default parameters handling.
2020-03-18 13:33:56 +03:00
Yan Zhulanow
897c48f97e
Add more robust check for plugin application order (KT-37245)
...
Cause build to fail if the 'kotlin-kapt' plugin is applied before the
main Kotlin plugin ('kotlin' or 'kotlin-android').
The 'logger.error()' prints an error message, however the build
continues.
2020-03-18 18:26:17 +09:00
Alexander Podkhalyuzin
0247a300d1
Experimental features EP + completion.stats optional dependency
...
Fixed tests for Spring
2020-03-18 12:21:11 +03:00
Dmitriy Novozhilov
f85022532d
[FIR] Rename FirArraySetCall to FirAugmentedArraySetCall
2020-03-18 11:31:54 +03:00
Dmitriy Novozhilov
2b986194fb
[FIR] Add desugaring of array assignments and resolve of it
...
#KT-37516 Fixed
2020-03-18 11:31:53 +03:00
Mikhail Glukhikh
26f919df03
Fix some nullable usages of not-null type parameters (KT-36770)
2020-03-18 10:24:26 +03:00
Denis Zharkov
a2e7b6d20e
FIR: Do not add "field" to accessor of a property with receiver
2020-03-18 10:22:10 +03:00
Dmitry Petrov
ade18d144a
KT-36810 Implement javaPrimitiveType intrinsic in JVM_IR
2020-03-17 22:56:45 +03:00
Dmitry Petrov
2851fab281
KT-36809 Implement javaObjectType intrinsic in JVM_IR
2020-03-17 22:56:45 +03:00
Mikhail Bogdanov
aecd12fa12
Minor. Regenerate tests
2020-03-17 19:05:12 +01:00
pyos
2e542da91d
JVM_IR: fix accesses from crossinline lambdas in other packages again
2020-03-17 16:38:32 +01:00
Denis Zharkov
7a1eb9214d
FIR: Fix resolution for lambda returning resolved qualifier
2020-03-17 16:33:48 +03:00
Denis Zharkov
e1312a752a
FIR: Allow a field override another field with the same name
2020-03-17 16:33:48 +03:00
Denis Zharkov
7203499b7a
FIR: Fix visibility check for protected within a companion
2020-03-17 16:33:48 +03:00
Denis Zharkov
170978a4f1
FIR: Move fixed tests from problems directory to common
2020-03-17 16:33:48 +03:00
Denis Zharkov
a1b0b15521
FIR: Add test for KT-37478
...
^KT-37478 Fixed
2020-03-17 16:33:48 +03:00
Jinseong Jeon
b71b0fa32c
Update stepping tests to inspect source name, instead of method info.
2020-03-17 13:39:35 +01:00
Jinseong Jeon
5dc1651a44
JVM: missed line number for return expression.
2020-03-17 13:39:35 +01:00
Vladimir Dolzhenko
c29f76580c
Don't show modal progress dialog on calculate method parameter hint info
...
#KT-37537 Fixed
Relates to #EA-216268
2020-03-17 11:06:36 +01:00
Dmitry Petrov
6809f4439c
Fix range-based 'for' loop with 'continue' in range bounds
...
1. Search for increment function in range element type, not in inferred
induction variable type
(which can be inappropriate, e.g., 'Nothing' in case of 'continue').
2. Handle nested loops with shared exit labels
(generated by JVM_IR for KT-37370 case).
KT-37370 KT-37373
2020-03-17 12:18:48 +03:00
Dmitry Petrov
d5b65abc5d
KT-37505 Add box test
2020-03-17 12:18:48 +03:00
Igor Yakovlev
3dc898b8ca
Fix for change signature refactoring type resolve
...
Fixed #KT-37451
2020-03-17 12:06:59 +03:00
Igor Yakovlev
64bcc6d54f
KotlinChangeSignature refactoring remove deprecated usage + refactoring
2020-03-17 12:06:59 +03:00
Dmitry Gridin
309ceef49a
i18n: remove template name from bundle
...
#KT-37483
2020-03-17 15:26:35 +07:00
Vyacheslav Karpukhin
eb68a0de47
Android import: simplify the check for android plugin version
2020-03-16 23:46:38 +01:00
Nikolay Krasko
45cba7b408
Update to 201.6251.22-EAP-SNAPSHOT
2020-03-16 23:46:06 +03:00
simon.ogorodnik
f226d855e1
Fix NI flag in modularized test for old frontend
2020-03-16 21:42:05 +03:00
simon.ogorodnik
4844a90788
[FIR] KT-37453: Type argument mapping
...
#KT-37453 Fixed
2020-03-16 21:41:59 +03:00
Steven Schäfer
6a1e35389c
JVM IR: Mangle interface implementation methods in inline classes
2020-03-16 18:48:16 +01:00
Vladimir Dolzhenko
d21be3b665
Revert back fetchAnalysisResultsForElement
...
Relates to #KT-37467
#KT-37515 Fixed
2020-03-16 17:19:01 +01:00
Igor Yakovlev
af1e3fb10d
UL properties supports JvmSynthetic annotation for get: and set: modifiers
...
(+small refactoring)
Fixed #KT-34973
2020-03-16 18:42:17 +03:00
anastasiia.spaseeva
0e26194a27
[FIR] Test for KT-37431
2020-03-16 17:24:01 +03:00
Dmitriy Novozhilov
1b479c49a8
[FIR] Fix exhaustiveness checking for conditions with equals to object
...
#KT-37488 Fixed
2020-03-16 17:04:28 +03:00
Dmitriy Novozhilov
3765a1efaf
[FIR] Add values and valueOf to deserialized enums
2020-03-16 17:04:28 +03:00
Dmitriy Novozhilov
caec5fe352
[FIR-TEST] Add test for KT-37478
2020-03-16 17:04:28 +03:00
Dmitriy Novozhilov
37aa234bb7
[FIR] Fix transform of subject of when expressions with subject variable
2020-03-16 17:04:28 +03:00
Dmitriy Novozhilov
820da6edaa
[FIR] Don't set up expected type for function body
2020-03-16 17:04:28 +03:00
Dmitriy Novozhilov
813003e12e
[FIR] Approximate statements with ILT without expected type
2020-03-16 17:04:28 +03:00
Dmitriy Novozhilov
698f78570d
[FIR] Add ability to pass data=null to transformInplace with data producer
2020-03-16 17:04:28 +03:00
Dmitriy Novozhilov
fe95e37c88
[FIR] Add equality to Unit constraint for lambda without return expressions
2020-03-16 17:04:27 +03:00