Commit Graph

26830 Commits

Author SHA1 Message Date
Dmitriy Novozhilov 88913aa2a3 [FIR] Report warning on non-deprecated overrides of deprecated members
^KT-47902
2021-09-02 15:04:07 +03:00
Dmitriy Novozhilov ef9ad5af51 [FE 1.0] Report warning on non-deprecated overrides of deprecated members
Also don't propagate deprecation status to overrides after 1.7

^KT-47902 Fixed
2021-09-02 15:04:07 +03:00
Dmitriy Novozhilov 762d225bd7 Unify Deprecation classes from :core:compiler.common and :compiler:frontend modules 2021-09-02 15:04:06 +03:00
Dmitriy Novozhilov 1e0878cde0 [FE 1.0] Postpone SafeCallsAreAlwaysNullable till 1.7
^KT-46860 Fixed
2021-09-02 13:34:27 +03:00
Mikhail Glukhikh 881b15a677 FIR: use typeWithStarProjections for protected visibility check 2021-08-31 17:32:02 +03:00
Mikhail Glukhikh 08e498f1f2 FIR: add proper receiver check for protected visibility #KT-48378 Fixed 2021-08-31 17:31:57 +03:00
Denis.Zharkov 0e7d51b04d Prohibit using definitely-non-nullable types as arguments for reified parameters
^KT-26245 In Progress
2021-08-31 15:41:16 +03:00
Denis.Zharkov c1b5d5551f Drop support for T!! syntactic structure
^KT-26245 In Progress
2021-08-31 15:41:13 +03:00
Denis.Zharkov 302eacbf59 Support new form of definitely non-nullable types: T & Any
^KT-26245 In Progress
2021-08-31 15:41:11 +03:00
Mark Punzalan 50508da156 HL API: Add type parameters and visibility to KtTypeAliasSymbol. 2021-08-31 14:59:06 +03:00
Mark Punzalan c2529a4abb HL API: Handle resolve case when source for FirResolvedQualifier is a
KtCallExpression.
2021-08-31 14:59:06 +03:00
Mark Punzalan 16eabf0ff1 FIR: Add ConeDiagnosticWithCandidates and
ConeDiagnosticWithSingleCandidate to ConeDiagnostic type hierarchy.
2021-08-31 14:59:06 +03:00
Mark Punzalan db38cd95da HL API: Add candidate symbols to KtClassErrorType.
Also remove redundant
FirReferenceResolveHelper.getFirSymbolsByErrorNamedReference() in favor
of FirUtils.getCandidateSymbols(), and add more candidate symbols from
more ConeDiagnostic subclasses.
2021-08-31 14:59:06 +03:00
Mark Punzalan fb0d946e50 HL API: Make all symbol marker classes inherit from KtSymbol. 2021-08-31 14:59:06 +03:00
Mark Punzalan 34e6459014 FIR: Ensure that the array set argument (on RHS of =) is always mapped
to the last parameter of the set operator function, even if there are
missing or too many index arguments.
2021-08-31 14:52:28 +03:00
Denis.Zharkov 112af9b145 FIR: Rework bare types support
^KT-48305 Fixed
2021-08-30 16:24:44 +03:00
Ilmir Usmanov 92fac304e7 Forbid @Synchronized annotation on suspend functions
and lambdas. With warning for now.
 #KT-27333
2021-08-30 13:47:34 +02:00
Roman Golyshev 08e9a3bc4f Process FirErrorResolvedQualifiers in KtFirReferenceShortener
Also, add `classId` default value to the `FirErrorResolvedQualifierImpl`
just as in `FirResolvedQualifierImpl` - it seemed inconsistent that
we can have a class symbol in error-resolved qualifier, but the
`classId` field will be `null`
2021-08-27 19:29:14 +03:00
Igor Yakovlev e802ef27f1 [FIR IDE] Fix invalid lazy expressions for property initializers 2021-08-27 14:55:34 +03:00
Jinseong Jeon a711280b6c FIR IDE: APIs to unwrap upper/lower bounds of flexible KtType 2021-08-26 22:30:49 +03:00
Jinseong Jeon dca8789659 FIR IDE: API to determine if the given KtType is a functional interface type 2021-08-26 22:30:49 +03:00
Jinseong Jeon b7a99eca55 FIR IDE: expected type of lambdas and block expression 2021-08-26 22:30:49 +03:00
Jinseong Jeon da3f2c2095 FIR IDE: new symbol/kind/pointer/resolver for SAM constructor 2021-08-26 22:30:48 +03:00
Mark Punzalan f098bf449c HL API: Remove unused // CALL directive in resolve call test data. 2021-08-26 15:52:13 +03:00
Mark Punzalan 580f1d51f6 FIR checker: report LOCAL_VARIABLE_WITH_TYPE_PARAMETERS 2021-08-26 12:25:07 +03:00
Tianyu Geng a18daa5d62 FIR checker: report type parameters on anonymous objects 2021-08-26 12:25:06 +03:00
Dmitriy Novozhilov 3176dd1341 [FIR] Properly create edges from return expression to finally block
^KT-48376 Fixed
2021-08-26 10:08:52 +03:00
Dmitriy Novozhilov 0924216ed2 [FIR] Distinguish stub types for builder inference and for subtyping
^KT-48110 Fixed
2021-08-26 10:08:52 +03:00
Dmitriy Novozhilov 7e6e0a3dd6 Remove all type system-specific inheritors of TypeCheckerState 2021-08-26 10:08:51 +03:00
Dmitriy Novozhilov 8b5548df49 Rename AbstractTypeCheckerContext to TypeCheckerState 2021-08-26 10:08:51 +03:00
Ivan Kochurkin 84c5f58cab [FIR] Implement UNRESOLVED_REFERENCE_WRONG_RECEIVER 2021-08-25 21:53:23 +00:00
Ivan Kochurkin 34cc7e5199 [FIR] Fix resolving to star import member instead of builtin (^KT-48157 Fixed) 2021-08-25 21:53:23 +00:00
Tianyu Geng 1e8e38e5ac FIR checker: improve diagnostics message for SEALED_INHERITOR_IN_DIFFERENT_PACKAGE 2021-08-25 14:37:25 +03:00
Tianyu Geng 10d4dfef04 FIR: check subclass of sealed class 2021-08-25 14:37:24 +03:00
Mark Punzalan 306a035c68 HL API: Fix argument mapping for lambda arguments (+ more tests). 2021-08-24 21:36:46 +03:00
Ilya Kirillov 20f297aaf7 FIR LC: do not ignore useSite target for getting deprecation status 2021-08-24 20:13:18 +03:00
Ilya Kirillov c17a4a5a3b FIR IDE: move light classes to separate module 2021-08-24 20:13:09 +03:00
Ilya Kirillov abe2311372 FIR IDE: move declaration/package providers to separate module 2021-08-24 20:12:58 +03:00
Ilya Kirillov a54b769ec4 FIR LC: do not use fir directly to get deprecation status 2021-08-24 20:12:57 +03:00
Ilya Kirillov 1baa4759a9 FIR LC: remove unused function 2021-08-24 20:12:56 +03:00
Ilya Kirillov 6e2c9256cf FIR LC: do not use fir directly to create ASM types 2021-08-24 20:12:54 +03:00
Ilya Kirillov a1497b13c9 HL API: add nullability property to every KtType 2021-08-24 20:12:53 +03:00
Tianyu Geng c940972674 FIR IDE: add shortcut to check if a KtSymbol is deprecated 2021-08-24 20:12:51 +03:00
Ilya Kirillov cc6389d394 FIR LC: do not use fir directly to create PSI types 2021-08-24 20:12:42 +03:00
Mikhail Glukhikh 12726bde15 Deprecate smart cast on alien derived property #KT-48101 Fixed 2021-08-24 12:32:30 +03:00
Mikhail Glukhikh bbb76aae3f Provide more precise check for ABSTRACT_CLASS_MEMBER_NOT_IMPLEMENTED
#KT-47542 Fixed
2021-08-24 12:32:30 +03:00
Dmitriy Novozhilov 40614507d3 [FE 1.0] Report warning about new IL operator resolve in initializers and default values
^KT-48361 Fixed
2021-08-23 16:20:41 +03:00
Mikhail Glukhikh 19ab0ab2f8 FIR: approximate intersections in public position properly
#KT-48166 Fixed
2021-08-23 14:18:36 +03:00
Mikhail Glukhikh 7b0e5927cb Report EXPERIMENTAL_ANNOTATION_ON_WRONG_TARGET without explicit @Target
#KT-48349 Fixed
2021-08-23 14:18:34 +03:00
Andrey Zinovyev a3049b35c2 [FIR] Add ILLEGAL_JAVA_LANG_RECORD_SUPERTYPE diagnostic 2021-08-23 10:33:24 +00:00