Pavel Kunyavskiy
ca9ec76c08
[K/N] Replace SymbolName with GCUnsafeCall in interop
2021-09-10 07:46:39 +00:00
Pavel Kunyavskiy
91c6ee1ebb
[K/N] Replace SymbolName with GCUnsafeCall in stdlib
2021-09-10 07:46:39 +00:00
Tianyu Geng
05fbed68e2
FIR checker: report PROPERTY_AS_OPERATOR
2021-09-10 07:07:43 +03:00
Tianyu Geng
4915d8dda3
FIR checker: support DUPLICATE_LABEL_IN_WHEN
...
Changes from FE1.0:
1. As discussed previously, no expression evaluation happens during this
check.
2. FE1.0 doesn't check redundant object comparisons.
2021-09-10 07:07:42 +03:00
Ivan Kochurkin
7c6326856b
[FIR] Use toFirRegularClassSymbol instead of toFirRegular in checkers
2021-09-10 00:49:11 +03:00
Ivan Kochurkin
8cdb79f969
Move JvmNames, JvmFieldApplicabilityProblem to common.jvm module
2021-09-10 00:49:10 +03:00
Ivan Kochurkin
ee37768808
[FIR] Rename getClassLikeSymbolFqName to getClassLikeSymbolByClassId
2021-09-10 00:49:10 +03:00
Ivan Kochurkin
69a13a3269
[FIR] Use getAnnotationByClassId instead of getAnnotationByFqName in JVM checkers
2021-09-10 00:49:09 +03:00
Ivan Kochurkin
9ee7fecdd5
[FIR] withSuppressedDiagnostics now takes FirAnnotationContainer instead of FirElement
...
Reduce allocations in withSuppressedDiagnostics
2021-09-10 00:49:09 +03:00
Ivan Kochurkin
f3e754f314
[FIR] Remove excess FirAnnotationContainer from some super types
2021-09-10 00:49:08 +03:00
Ivan Kochurkin
55f33999f1
[FIR] Add REPEATED_ANNOTATION, REPEATED_ANNOTATION_WARNING
2021-09-10 00:49:07 +03:00
Ivan Kochurkin
fa12e72551
[FIR] Add REPEATABLE_CONTAINER_* diagnostics
...
REPEATABLE_CONTAINER_MUST_HAVE_VALUE_ARRAY
REPEATABLE_CONTAINER_HAS_NON_DEFAULT_PARAMETER
REPEATABLE_CONTAINER_HAS_SHORTER_RETENTION
REPEATABLE_CONTAINER_TARGET_SET_NOT_A_SUBSET
REPEATABLE_ANNOTATION_HAS_NESTED_CLASS_NAMED_CONTAINER
2021-09-10 00:49:07 +03:00
Ivan Kochurkin
6fa1c0353c
Use deprecation type for some REPEATABLE_* diagnostics
2021-09-10 00:49:06 +03:00
Ivan Kochurkin
f414a91c66
[FIR] Implement FirInterfaceDefaultMethodCallChecker
...
Add diagnostics: INTERFACE_STATIC_METHOD_CALL_FROM_JAVA6_TARGET,
INTERFACE_CANT_CALL_DEFAULT_METHOD_VIA_SUPER,
DEFAULT_METHOD_CALL_FROM_JAVA6_TARGET
2021-09-10 00:49:04 +03:00
Ivan Kochurkin
97bc079634
[FIR] Add REPEATED_ANNOTATION_WITH_CONTAINER, NON_SOURCE_REPEATED_ANNOTATION
...
REPEATED_ANNOTATION_TARGET6
2021-09-10 00:49:03 +03:00
Ivan Kochurkin
2baed77598
[FIR] Add JVM_SYNTHETIC_ON_DELEGATE diagnostic
...
Extract JVM names to common JvmNames
2021-09-10 00:49:03 +03:00
Ivan Kochurkin
3725c58794
[FIR] Add INAPPLICABLE_JVM_FIELD, INAPPLICABLE_JVM_FIELD_WARNING
2021-09-10 00:49:02 +03:00
Ivan Kochurkin
e3805c9b98
Extract JvmNames, JvmFieldApplicabilityProblem to compiler.common
2021-09-10 00:49:01 +03:00
Ivan Kochurkin
d4746903c8
[FIR] Rename getOuterClass to getContainingDeclaration, fix if for local classes
...
Simplify checking of WRONG_NUMBER_OF_TYPE_ARGUMENTS
2021-09-10 00:49:01 +03:00
Ivan Kochurkin
816e8f487c
[FIR] Add JVM diagnostics about external declaration
2021-09-10 00:49:00 +03:00
Ivan Kochurkin
4907bc296f
[FIR] Turn on jvm-default in tests
2021-09-10 00:48:59 +03:00
Ivan Kochurkin
cfd2835254
[FIR] Add JVM Default diagnostics
2021-09-10 00:48:59 +03:00
Ivan Kochurkin
b5ff49c903
[FIR] Consider JVM_TARGET in tests
2021-09-10 00:48:58 +03:00
Mikhail Glukhikh
f397553e94
PSI2IR: don't generate annotations on init block (related to KT-48687)
2021-09-09 22:14:48 +03:00
Mikhail Glukhikh
457a6f4e9d
IR: copy anonymous initializer annotations properly #KT-48687 Fixed
2021-09-09 22:14:48 +03:00
Nikolay Lunyak
108df38255
[FIR] Regenerate code
2021-09-09 20:23:08 +03:00
Nikolay Lunyak
05ffa240b3
[FIR] Change FirJvmStaticChecker base
2021-09-09 20:18:50 +03:00
Nikolay Lunyak
4f2eb8b955
[FIR] Make toAnnotationLookupTag() return null for generic annotations
2021-09-09 20:18:50 +03:00
Nikolay Lunyak
1a3f47badd
[FIR] Make FirJvmStaticChecker more consistent with the legacy version
2021-09-09 20:18:49 +03:00
Nikolay Lunyak
2a2c92d8b3
[FIR] Add support for JVM_STATIC_ON_EXTERNAL_IN_INTERFACE diagnostic
2021-09-09 20:18:49 +03:00
Nikolay Lunyak
7006426304
[FIR] Add support for JVM_STATIC_ON_CONST_OR_JVM_FIELD diagnostic
2021-09-09 20:18:49 +03:00
Nikolay Lunyak
f3d61c199b
[FIR] Add support for JVM_STATIC_ON_NON_PUBLIC_MEMBER diagnostic
2021-09-09 20:18:49 +03:00
Nikolay Lunyak
c2e5583780
[FIR] Add support for JVM_STATIC_NOT_IN_OBJECT_OR_COMPANION diagnostic
2021-09-09 20:18:49 +03:00
Nikolay Lunyak
276bfd9305
[FIR] Add support for OVERRIDE_CANNOT_BE_STATIC diagnostic
2021-09-09 20:00:38 +03:00
Nikolay Lunyak
5607be3920
[FIR] Add support for INAPPLICABLE_JVM_NAME diagnostic
2021-09-09 20:00:36 +03:00
Nikolay Lunyak
5ebad97cd5
[FIR] Add support for ILLEGAL_JVM_NAME diagnostic
2021-09-09 19:58:16 +03:00
Dmitriy Novozhilov
00c60bf569
[FE] Remove dependecy on :core:descriptors from :compiler:psi
2021-09-09 17:20:24 +03:00
Dmitriy Novozhilov
1d6b4d1d3c
[FIR] Remove dependency on :compiler:frontend from checkers module
2021-09-09 17:20:23 +03:00
Dmitriy Novozhilov
15b77045ee
[FIR] Remove all usages of classes and methods from FE 1.0 from FIR checkers
2021-09-09 17:20:21 +03:00
Dmitriy Novozhilov
0260bf8767
[FE] Move diagnostic parameter renderers to common module
2021-09-09 17:20:20 +03:00
Dmitriy Novozhilov
c32aecb7ae
[FIR] Don't use positioning strategies from FE 1.0
2021-09-09 17:20:19 +03:00
Dmitriy Novozhilov
00069b1d2f
[FIR] Use diagnostic markers in FIR diagnostics
2021-09-09 17:20:18 +03:00
Dmitriy Novozhilov
850ca1916f
[FE] Commonize positioning strategies and move them to :frontend-psi module
2021-09-09 17:20:17 +03:00
Dmitriy Novozhilov
7536dadb65
[FE] Introduce diagnostic markers
...
This is needed to move diagnostic renderers and positioning
strategies to common modules for both frontends
2021-09-09 17:20:16 +03:00
Dmitriy Novozhilov
793209e72f
[FE] Create special module for common frontent parts which uses PSI
2021-09-09 17:20:16 +03:00
Dmitriy Novozhilov
ddc6c70611
[FE 1.0] Move diagnostic parameter renderers to common module
2021-09-09 17:20:15 +03:00
Dmitriy Novozhilov
405670e111
Merge :compiler:fir:jvm module into :compiler:fir:java
2021-09-09 17:20:14 +03:00
Dmitriy Novozhilov
8ffe3764ef
Remove dependency on descriptors from :compiler:config.jvm
2021-09-09 17:20:13 +03:00
Jinseong Jeon
6342e6ecad
FIR/LC: fix modality of enum class
...
enum class, which is extended by enum entries, should not be final.
(Those enum entries should be, instead.)
enum class itself wouldn't be instantiated, and thus it's technically
abstract, but having a private ctor() would be an option.
For the latter case, we can simply put no modality modifier.
2021-09-09 16:07:09 +02:00
Jinseong Jeon
204c5952bf
LC: avoid adding @null nullability annotations
2021-09-09 16:07:09 +02:00