Commit Graph

85758 Commits

Author SHA1 Message Date
Nikolay Lunyak 79ceaf03bf [FIR] Add ir support 2021-09-11 22:05:38 +03:00
Nikolay Lunyak 8b918e12b2 [FIR] Simplify FirPropertyFieldDeclarationChecker 2021-09-11 22:05:37 +03:00
Nikolay Lunyak 30e52186eb [FIR] Make default accessors always present 2021-09-11 22:05:37 +03:00
Nikolay Lunyak cc0d63117a [FIR] Add property type narrowing 2021-09-11 22:05:36 +03:00
Nikolay Lunyak 56b2a984ce [FIR] Quick fix FirModifierChecker 2021-09-11 22:05:35 +03:00
Nikolay Lunyak 25124cca3d [FIR] Add an interface/abstract checker for the backing field 2021-09-11 22:05:35 +03:00
Nikolay Lunyak aefd6c30ad [FIR] Merge FirPropertyFieldDeclarationSymbol into FirBackingFieldSymbol 2021-09-11 22:05:34 +03:00
Nikolay Lunyak 1291f9e460 [FIR] Add missing getters generation 2021-09-11 22:05:34 +03:00
Nikolay Lunyak b72488b4c2 [FIR] Add replaceGetter & replaceSetter 2021-09-11 22:05:33 +03:00
Nikolay Lunyak 47abdf2de1 [FIR] Add a modifiers diagnostic for the backing field 2021-09-11 22:05:33 +03:00
Nikolay Lunyak d4d43b9907 [FIR] Add type-related diagnostics for the backing field 2021-09-11 22:05:32 +03:00
Nikolay Lunyak d2124e1ec6 [FIR] Add checkers support for FirBackingField 2021-09-11 22:05:31 +03:00
Nikolay Lunyak 7a522ade15 [FIR] Add isSubtypeOf function 2021-09-11 22:05:30 +03:00
Nikolay Lunyak 38079372e1 [FIR] Add RawFirBuilder & DeclarationsConverter support 2021-09-11 22:05:29 +03:00
Nikolay Lunyak ee58df6b3c [FIR] Add FirBackingField 2021-09-11 22:05:29 +03:00
Nikolay Lunyak a0982341ee [FIR] Update parser test data 2021-09-11 22:05:28 +03:00
Nikolay Lunyak 6776930881 [FIR] Forbid explicit backing fields for FE 1.0 2021-09-11 22:05:27 +03:00
Nikolay Lunyak 37f832bc2f [FIR] Add KtBackingField (see: KT-CR-4119, KT-14663) 2021-09-11 22:05:26 +03:00
Nikolay Lunyak 654ed3caf6 [FIR] Add propertySymbol to property accessors 2021-09-11 22:05:25 +03:00
Roman Golyshev e34b64d6f2 [FIR IDE] Make KtFirImportOptimizer more robust to reference errors 2021-09-11 14:57:01 +03:00
Aleksei.Cherepanov cc5382b37e [JPS] Fix incremental build after changing Java constant
InlineConstantTracker implemented for tracking changed java static final constants, that used in kotlin.

#KT-46506 Fixed
2021-09-11 13:00:00 +03:00
pyos 23420ecf7a IR: do not infer array element types for non-annotation constants
While annotations restrict the set of allowed types to a few final
built-ins, in arbitrary constants we can have array elements that are
some subtype of the array's element type.

 #KT-48671 Fixed
2021-09-10 21:55:15 +02:00
Pavel Kunyavskiy 51c85e7f86 [K/N] Safer handling of bridges function in dce 2021-09-10 15:58:42 +00:00
Mikhail Glukhikh 007cf2ce7c Rename AnalysisFlags.useExperimental to optIn 2021-09-10 16:29:18 +03:00
Mikhail Glukhikh aedcec7715 Drop unused LanguageSettingsDirectives.EXPERIMENTAL 2021-09-10 16:29:17 +03:00
Mikhail Glukhikh fc6403679a Rename !USE_EXPERIMENTAL test directive to !OPT_IN 2021-09-10 16:29:16 +03:00
Mikhail Glukhikh 3febabe977 Use OPT_IN instead of EXPERIMENTAL in diagnostic names 2021-09-10 16:29:13 +03:00
Sergej Jaskiewicz 2f07589b42 [JS IR] Avoid name clashes for @JsQualifier-annotated declarations
#KT-42039 Fixed
2021-09-10 15:48:43 +03:00
Sergej Jaskiewicz 681ff2dcec [test] Add missing whitespaces 2021-09-10 15:48:40 +03:00
Roman Golyshev 9d6a3edbe2 [FIR] Make copyAsImplicitInvokeCall inline 2021-09-10 14:06:17 +03:00
Pavel Kunyavskiy 7e58660ce2 [K/N] Emmit error on using @SymbolName with new mm 2021-09-10 07:46:39 +00:00
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