Commit Graph

85727 Commits

Author SHA1 Message Date
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