Ivan Kochurkin
d4e1cded59
[FIR] Implement RESOLUTION_TO_CLASSIFIER
2021-07-28 23:18:38 +03:00
Ivan Kochurkin
2574dc907c
[FIR] Implement FUNCTION_EXPECTED
2021-07-28 23:17:31 +03:00
Ivan Kochurkin
263e40e753
[FIR] Implement NO_RECEIVER_ALLOWED
2021-07-28 22:52:06 +03:00
Andrey Zinovyev
d84cc4333c
[FIR] Add INITIALIZATION_BEFORE_DECLARATION diagnostic
2021-07-28 16:56:54 +03:00
Andrey Zinovyev
b706e776ad
[FIR] Add VARIABLE_WITH_NO_TYPE_NO_INITIALIZER diagnostic
2021-07-28 16:56:53 +03:00
pyos
e9b177352c
JVM_IR: do not inline reads of constructor arguments into accessors
2021-07-28 02:16:01 +02:00
Mikhail Glukhikh
84bd347841
Make EXPERIMENTAL_API_USAGE_ERR warning till 1.6 for signature type case
2021-07-27 14:58:56 +03:00
Mikhail Glukhikh
810def829c
Make EXPERIMENTAL_ANNOTATION_ON_OVERRIDE warning till 1.6
2021-07-27 14:58:55 +03:00
Alexander Udalov
91c39ed01c
Build: remove obsolete compiler arguments
...
These compiler arguments enable features which are enabled by default in
the current Kotlin anyway.
The only exception is in :compiler:cli which uses an old language
version.
2021-07-27 13:35:38 +02:00
Igor Yakovlev
02f2f6c148
[FIR IDE] Code review minor changes
2021-07-26 23:08:54 +02:00
Igor Yakovlev
66fa624ab7
[FIR IDE] Fix IDE return type calculators
2021-07-26 23:08:54 +02:00
Igor Yakovlev
e1c8f302a4
[FIR IDE] Make fir resolve phase volatile and remove locks
2021-07-26 23:08:54 +02:00
Igor Yakovlev
ab2aaec4fe
[FIR IDE] Ensure resolve for status transformer
2021-07-26 23:08:53 +02:00
Igor Yakovlev
6869fbbfe5
[FIR IDE] Insert ensure resolve into checkers and scopes
2021-07-26 23:08:53 +02:00
Igor Yakovlev
2fd6c55fc8
[FIR IDE] Replace FIR phase update to FIR IDE
2021-07-26 23:08:53 +02:00
Ivan Kochurkin
173813f7cf
[FIR] Implement REIFIED_TYPE_FORBIDDEN_SUBSTITUTION
2021-07-26 21:13:25 +03:00
Ivan Kochurkin
bade6cb611
[FIR] Improve TYPE_PARAMETER_AS_REIFIED detecting, implement TYPE_PARAMETER_AS_REIFIED_ARRAY, TYPE_PARAMETER_AS_REIFIED_ARRAY_WARNING
2021-07-26 21:13:25 +03:00
Ivan Kochurkin
2333b1bcf6
[FIR] Implement BREAK_OR_CONTINUE_JUMPS_ACROSS_FUNCTION_BOUNDARY
2021-07-26 21:13:23 +03:00
Nikolay Lunyak
a44048e713
Add withBindThis to field configuration
2021-07-26 16:12:16 +00:00
Alexander Udalov
5526281c54
Minor, refactor diagnostic tests on repeatable annotations
2021-07-26 14:33:32 +02:00
Andrey Zinovyev
8a0941a85a
[FIR] Report deprecations in qualified expressions
2021-07-26 14:50:54 +03:00
Mikhail Glukhikh
98bd6f5d3e
Fix "implicit type" exception in FIR OptIn checker
2021-07-26 10:13:13 +03:00
Mikhail Glukhikh
2a6355b64c
FIR: use coneType instead of coneTypeSafe in OptIn checkers
2021-07-23 23:59:01 +03:00
Mikhail Glukhikh
73539cf342
FIR: use symbols as base for OptIn-checkers
2021-07-23 23:59:00 +03:00
Mikhail Glukhikh
cb847b945d
FIR: use getAnnotationByClassId instead of getAnnotationByFqName
2021-07-23 23:58:59 +03:00
Mikhail Glukhikh
7cbea12c8a
FIR: store all annotationContainers in checker context
2021-07-23 23:58:58 +03:00
Mikhail Glukhikh
d020948933
FIR: support EXPERIMENTAL_MARKER_CAN_ONLY_BE_USED_AS_ANNOTATION...
2021-07-23 23:58:57 +03:00
Mikhail Glukhikh
543ce06d85
FIR OptIn: temporarily replace error USAGE with warning
...
This commit is required for FP test to pass,
because FP test does not see module -Xopt-in=... flags.
2021-07-23 23:58:56 +03:00
Mikhail Glukhikh
82f268d611
FIR: add EXPERIMENTAL_API_USAGE reporting
2021-07-23 23:58:55 +03:00
Mikhail Glukhikh
3235b09a92
FIR: introduce MutableCheckerContext to save performance
2021-07-23 23:48:19 +03:00
Nikolay Krasko
83023c2073
Remove 202 platform support in build scripts
2021-07-23 16:58:28 +03:00
Dmitry Petrov
34f5b85ae5
IR KT-47840 fix-point solution for closure conversion
2021-07-23 14:58:23 +03:00
Jinseong Jeon
5358d4f07c
FIR IDE: construct function type from a function as PsiType
2021-07-23 13:28:05 +02:00
Dmitriy Novozhilov
9b00776dba
[FIR] Create CFG node for ::class calls
2021-07-23 12:20:39 +03:00
Tianyu Geng
a8e379a025
FIR: Fix positioning of ENUM_ENTRY_AS_TYPE
...
The current SELECTOR_BY_QUALIFIED positioning strategy is closely
related what should be done here. But it only works on qualified access
expressions. This change also makes it work for type references.
2021-07-22 20:39:56 +03:00
Tianyu Geng
c648356887
FIR: report ENUM_ENTRY_AS_TYPE and IS_ENUM_TYPE
...
These two diagnostics are similar: both are reported on type references
to enum entries. But `IS_ENUM_TYPE` is reported if the type ref is an
operand of `is` operator. To pass along this contextual information, a
boolean is added to FirSpecificTypeResolverTransformer.
2021-07-22 20:39:56 +03:00
Tianyu Geng
bea90e0578
FIR: remove unused diagnsotics
...
These diagnostics do not exist in FE1.0 and they are not used
anywhere.
2021-07-22 20:39:55 +03:00
Leonid Startsev
83c1a75c1e
Revert "Revert "Instantiation of annotations for JVM IR with the corresponding feature flag""
...
Fix incorrectly rebased ce0a3a57df
This reverts commit 3d0126d5
2021-07-21 18:24:07 +03:00
Dmitriy Novozhilov
a710a8d10f
[FE 1.0] Report warning on non-exhaustive when statements only after 1.6
...
^KT-47709
2021-07-21 17:53:05 +03:00
Leonid Startsev
3d0126d5dd
Revert "Instantiation of annotations for JVM IR with the corresponding feature flag"
...
because of incorrect rebase
This reverts commit ce0a3a57
2021-07-21 15:23:24 +03:00
Leonid Startsev
ce0a3a57df
Instantiation of annotations for JVM IR with the corresponding feature flag
...
Seperate checker for platforms that do not support this language feature yet
Synthetic implementations of annotations are generated on-demand with proper
equals, hashCode, and annotationType methods
#KT-47699 Fixed
2021-07-21 10:23:51 +00:00
Mads Ager
6436a1686d
[JVM_IR] Recursively perform constant lowering.
...
Otherwise constants in child expressions are not transformed.
^KT-47716 Fixed.
2021-07-21 02:11:41 +02:00
Mads Ager
2877f1cabe
[JVM_IR] Fix check for inline class property backing in lowering.
...
The inline class lowering would attempt to lower a companion object
property backing field.
^KT-47762 Fixed.
2021-07-21 01:56:46 +02:00
Andrey Zinovyev
6ef4523555
[FIR] Cache callable names in some composite scopes
2021-07-20 14:25:16 +03:00
Andrey Zinovyev
15be38192b
[FIR] Mark implicit types in accessors as fake
...
To not check their types in deprecation checker
2021-07-20 14:25:14 +03:00
Dmitriy Novozhilov
f3116cb64a
Fix NON_EXHAUSTIVE_WHEN_STATEMENT warnings in project code
2021-07-20 13:33:46 +03:00
Dmitriy Novozhilov
a6edd852ff
[FIR] Report NON_EXHAUSTIVE_WHEN_STATEMENT/NO_ELSE_IN_WHEN for when's on logical types
...
^KT-47709 In Progress
2021-07-20 13:33:44 +03:00
Dmitriy Novozhilov
ef635f6a96
[FE 1.0] Report NON_EXHAUSTIVE_WHEN_STATEMENT/NO_ELSE_IN_WHEN for when's on logical types
...
^KT-47709 In Progress
2021-07-20 13:33:43 +03:00
Andrey Zinovyev
4a37de51bb
[FIR] Add ANONYMOUS_INITIALIZER_IN_INTERFACE diagnostic
2021-07-20 13:29:00 +03:00
Dmitriy Novozhilov
749dbf4d44
[FIR] Safe dependency symbol provider in IDE session
2021-07-20 10:33:53 +03:00