Tianyu Geng
f217bb94de
Use more consistent names for inheritors of BooleanIsMissing
2021-11-04 23:04:35 +01:00
Tianyu Geng
2c2851af6e
Analysis API: add test covering get missing when branches
...
Also fix FIR implementation to generate boolean branches in the same
order as FE1.0.
2021-11-04 23:04:35 +01:00
Tianyu Geng
8ba2e4d221
FIR: move JavaAnnotationMapper.javaToKotlinNameMap to common
...
so that FIR IDE logic can reference it
2021-11-04 20:52:50 +01:00
Nikolay Lunyak
4a3a621196
[FIR] Add isVisible check to resolveRootPartOfQualifier
2021-11-04 15:52:11 +00:00
Tianyu Geng
7de0937031
FIR IDE: get unstable smartcast from FE1.0-based analysis API
...
Note that the current FE1.0 implementation still has some limitations
1. only references used as receiver are being considered for smartcast.
2. Somehow the smartcast information is not retained if the for generic
typed receivers. See multiSmartcastAsReceiver_stable.descriptors.txt
2021-11-04 16:00:37 +01:00
Igor Laevsky
0915dac1f9
[Wasm] Handle unsigned arrays in the vararg lowering
2021-11-03 18:50:06 +03:00
Igor Laevsky
8dc81b6c57
[Wasm][Temporary] Stubs for typeOf and ::class constructs
2021-11-03 16:23:01 +03:00
Igor Laevsky
43eeaa925f
[Wasm] Add ability to choose flavor for the wasm launcher
2021-11-03 16:23:01 +03:00
Ilya Goncharov
f22de86954
[JS IR] Possibility to use export for nested inside object
...
[JS IR] Fix test data after master rebase
[JS IR] Use stdlib's listOfNotNull
[JS IR] Possibility to use export for nested inside object
- Add tests for such cases
Merge-request: KT-MR-4883
^KT-49363 fixed
2021-11-03 09:56:22 +00:00
Pavel Kunyavskiy
948dc4f374
Fix annotation class modality in stubs
...
^KT-49428
2021-11-03 07:22:28 +00:00
Pavel Kunyavskiy
c5f6c2acbd
Better pre-1.6.20 compatibility fix for AnnotationImplementation
...
^KT-49428
2021-11-03 07:22:28 +00:00
Pavel Kunyavskiy
d127815626
Refactor DataClassMembersGenerator.kt for better work with LazyIr
...
^KT-49428
2021-11-03 07:22:28 +00:00
Denis.Zharkov
360d67410d
FIR: Fix overridability rule for Java declarations with different return type kinds
...
See the class at org/jmock/Expectations
public <T> T with(Matcher<T> matcher);
public boolean with(Matcher<Boolean> matcher);
When we extending such class it we start assuming
that fake generic override overrides both of the overridden that is wrong
from POV of Java and it fails at FIR ultimate build
NB: It's hard to write a test because such Expectation-like
class is impossible to write in pure Java
2021-11-02 19:08:28 +03:00
Denis.Zharkov
2e37ec6f0c
FIR: Fix false-positive ILLEGAL_RESTRICTED_SUSPENDING_FUNCTION_CALL on invokeExtension calls
2021-11-02 19:08:27 +03:00
Denis.Zharkov
37b5237e97
FIR: Fix type alias case for callable reference resolution type
2021-11-02 19:08:26 +03:00
Mads Ager
6622846bc1
[JVM IR] Do not put destructuring params or underscores in LVT.
...
Putting them in the local variable table means that the debugger
needs to have special handling for parameters with specific names.
That forces us to generate mangled names for these.
Instead of also implementing the name mangling for FIR, this
change gets rid of the parameters from the LVT instead.
2021-11-02 15:13:14 +03:00
Sergej Jaskiewicz
42c213d950
[JS IR] Explicitly convert Long values to String in string concatenation
...
#KT-39891 Fixed
2021-11-02 10:42:28 +00:00
Mads Ager
e5bff514b6
FIR2IR: Fix line number differences in try block
2021-11-01 23:59:59 +03:00
Jinseong Jeon
5aa8e2d0d1
FIR LC: fix nullable annotation on return type of suspend function
2021-11-01 19:19:39 +01:00
Jinseong Jeon
5880d80d26
FIR LC: add support for inline class
2021-11-01 19:17:26 +01:00
Jinseong Jeon
95a3e81098
LC: remove unnecessary referential equality check and semicolon in inline class
2021-11-01 19:17:25 +01:00
Vladimir Dolzhenko
eaff4c6026
Reset elementFinders on clearPackageCaches()
...
Clean up references on a plugin unload to avoid class leakage
Relates to #KT-49475
Merge-request: KT-MR-4891
2021-11-01 14:21:15 +00:00
Ilya Goncharov
2584f45b1c
[JS IR] Refactor export model generator
...
^KT-37916 fixed
^KT-44494 fixed
2021-11-01 13:28:24 +00:00
Ilya Goncharov
9fdb0a23cd
[JS IR] Add literal and union types to TS generation, support them for enum
...
^KT-37916 fixed
^KT-44494 fixed
2021-11-01 13:28:24 +00:00
Ilya Goncharov
4fa2fa6c26
[JS IR] Export name and ordinal for enum classes
...
^KT-37916 fixed
^KT-44494 fixed
2021-11-01 13:28:24 +00:00
Ilya Goncharov
8e5fb50506
[JS IR] Fix diagnostic test on exportness of enum classes
...
^KT-37916 fixed
^KT-44494 fixed
2021-11-01 13:28:23 +00:00
Ilya Goncharov
69f6dc059d
[JS IR] Export type for enum class and not extends kotlin.Enum in TS
...
^KT-37916 fixed
^KT-44494 fixed
2021-11-01 13:28:22 +00:00
Ilya Goncharov
9bd44e01f5
[JS IR] Export enum members like from usual classes
...
^KT-37916 fixed
^KT-44494 fixed
2021-11-01 13:28:20 +00:00
Ilya Goncharov
42cb0e60d7
[JS IR] Process enum classes correctly in export model generator
...
^KT-37916 fixed
^KT-44494 fixed
2021-11-01 13:28:20 +00:00
Ilya Goncharov
025e335b0f
[JS IR] Add more granularity to find enum related declarations
...
^KT-37916 fixed
^KT-44494 fixed
2021-11-01 13:28:20 +00:00
Mads Ager
41aa0a7c7f
[FIR] Fix line number differences between psi2ir and fir2ir.
2021-11-01 15:43:13 +03:00
Mads Ager
8a8c38cc48
[FIR] Enable stepping tests.
2021-11-01 15:43:08 +03:00
Mikhael Bogdanov
2258e26799
Fix INTERFACE_CANT_CALL_DEFAULT_METHOD_VIA_SUPER diagnostic in IDE
2021-11-01 13:30:58 +01:00
Mikhael Bogdanov
40158d1ce6
Update -Xjvm-default description
2021-11-01 13:30:58 +01:00
Mikhael Bogdanov
00d344d92a
Update INTERFACE_CANT_CALL_DEFAULT_METHOD_VIA_SUPER message
2021-11-01 13:30:57 +01:00
Mikhael Bogdanov
afc149d460
JvmDefault. Allow non default inheritance with special flag
...
#KT-47000
2021-11-01 13:30:57 +01:00
Stanislav Erokhin
c9e7c5d156
[LC] Mute Light tests about repeatable annotation
...
It isn't supported in Light classes, so we should mute it.
Quite similar change was done in 724194dec0
2021-11-01 10:38:09 +00:00
Stanislav Erokhin
c591601274
[LC] IDE LightClasses testdata update
...
Unfortunately, the same testdata is used in IDE, so we should change
testdata in compiler repo and this will affect IDE repo.
This commit is the cherry-pick of commits from IDE repo:
- 4310d730795a53a Fix UltraLightClassLoadingTestGenerated.testEnums():
check by Java file as ULC produces a different but better result
Yan Zhulanow 3/17/21, 8:57 AM
- fbe3c8ba0841f2d4 Disable comparison test for
UltraLightClassSanityTestGenerated.
testAnnotatedPropertyWithSites() Yan Zhulanow 3/18/21, 1:33 PM
- 8fc53027343b5b53 Ignore known (for ages) broken behaviour
of LC Vladimir Dolzhenko 3/19/21, 11:17 PM
2021-11-01 10:38:09 +00:00
Stanislav Erokhin
f455141ade
[ULC] Fix rendering for Foo.class in annotation value
...
Previously it was Foo::class, but it isn't correct because in java it
is Foo.class
P.s. Array<Foo> cannot be passed as annotation parameter
2021-11-01 10:38:09 +00:00
Stanislav Erokhin
65abc94411
[ULC] Unify modifiers for RepeatableAnnotationContainer
...
All the other annotation classes has abstract modifier.
All nested interfaces has static modifiers.
This commit is not so important for compiler, but it is matter for IDE,
because when we load classes in IDE via
KtLightClassForDecompiledDeclaration -- there are Abstract and Static
on the Container class
2021-11-01 10:38:08 +00:00
Victor Petukhov
b7a9a7d922
Make backTicked.kt test more reasonable, though real invoking the passed lambda
2021-11-01 13:03:41 +03:00
Victor Petukhov
4118f3146b
Use proper isPlaceholder check for psi type references
2021-11-01 13:03:41 +03:00
Victor Petukhov
c8dea3db35
Add test for using underscored type in different positions
2021-11-01 13:03:40 +03:00
Victor Petukhov
d1acb09add
Report unsupported on using underscored type argument if the corresponding feature is disabled
2021-11-01 13:03:40 +03:00
Victor Petukhov
8a99aa4b42
[FIR] Don't build placeholder projection for types
2021-11-01 13:03:40 +03:00
Victor Petukhov
b29aeaa596
[FIR] Implement annotation checker for underscored type arguments
2021-11-01 13:03:37 +03:00
Victor Petukhov
697ef03d57
[FIR] Make FirPlaceholderProjection having source element
2021-11-01 13:03:31 +03:00
Victor Petukhov
5047751b85
[FIR] Support underscored type arguments in the light tree
2021-11-01 12:26:31 +03:00
Victor Petukhov
c9fbbe74ae
[FIR] Use common isPlaceholder check for type arguments in RawFirBuilder
2021-11-01 12:25:55 +03:00
Victor Petukhov
5508d40371
Put using underscored type arguments under a feature
2021-11-01 12:25:45 +03:00