Mikhail Glukhikh
2e14b65644
Introduce FirForLoopChecker
2021-04-19 15:10:58 +03:00
Ivan Kochurkin
4353365968
[FIR] Implement NULL_FOR_NONNULL_TYPE diagnostics, fix tests
2021-04-19 12:46:08 +03:00
Ilya Kirillov
fee83051e9
FIR: encapsulate creating of cli-only session components into single function
2021-04-15 15:23:59 +03:00
Ilya Kirillov
0a80fbb078
FIR IDE: do not read declaration phase without read lock hold
2021-04-15 15:23:57 +03:00
Dmitriy Novozhilov
dd96c3b56e
[FIR] Turn some checkers into classes to prevent memory leaks
...
This is temporary solution until those checkers will be fixed
#KT-46058
2021-04-15 10:30:29 +03:00
Dmitriy Novozhilov
085bddbfc0
[FIR] Force checker components to create checkers sets on each access
...
This is needed to add ability to recreate checkers which are not objects
for each session
2021-04-15 10:30:26 +03:00
ebukreev
d8a2f82cbd
FIR: inroduce FirFunInterfaceConstructorReferenceChecker
2021-04-14 19:53:43 +03:00
Andrey Zinovyev
412b941486
[FIR] Add DEPRECATED_TYPE_PARAMETER_SYNTAX check
2021-04-14 18:11:16 +03:00
Andrey Zinovyev
2b8c22c08a
[FIR] Add CYCLIC_GENERIC_UPPER_BOUND check
2021-04-14 18:11:14 +03:00
Andrey Zinovyev
03215f4e0a
[FIR] Add TYPE_PARAMETER_OF_PROPERTY_NOT_USED_IN_RECEIVER check
2021-04-14 18:11:13 +03:00
Andrey Zinovyev
5ff82addc9
[FIR] Add REIFIED_TYPE_PARAMETER_NO_INLINE check
2021-04-14 18:11:10 +03:00
Andrey Zinovyev
14fe570a00
[FIR] Add more type params checks
...
VARIANCE_ON_TYPE_PARAMETER_NOT_ALLOWED
BOUND_ON_TYPE_ALIAS_PARAMETER_NOT_ALLOWED
2021-04-14 18:11:09 +03:00
vldf
57d2eb5da2
Introduce FirFunctionReturnTypeMismatchChecker
2021-04-13 21:36:33 +03:00
vldf
24f1f1221e
Introduce FirInitializerTypeMismatchChecker
2021-04-13 21:36:31 +03:00
Ivan Kochurkin
847ab40707
[FIR] Implement DIVISION_BY_ZERO diagnostics, fix tests
2021-04-13 16:22:08 +03:00
Jinseong Jeon
619360fe4d
FIR checker: report UNINITIALIZED_ENUM_(ENTRY|COMPANION)
2021-04-13 08:25:16 +03:00
Andrey Zinovyev
47407c4445
[FIR] Add NAME_IN_CONSTRAINT_IS_NOT_A_TYPE_PARAMETER check
2021-04-11 16:18:07 +00:00
Jinseong Jeon
5a0b75bd89
FIR checker: warn unnecessary safe calls
2021-04-09 12:32:45 +03:00
Jinseong Jeon
2ecb6733ed
FIR checker: warn unnecessary non-null assertions
2021-04-09 12:32:45 +03:00
Dmitriy Novozhilov
3ef87d0265
[FIR] Add effective visibility to resolved status
...
This commit includes:
- introduce FirResolvedDeclarationStatus.effectiveVisibility
- replace FirEffectiveVisibility with EffectiveVisibility
- move calculation of effective visibility from FirEffectiveVisibilityResolver
(which is deleted) to FirStatusResolver and FirDeserializer
2021-04-06 12:30:46 +03:00
Dmitriy Novozhilov
3cb17ac2f0
[FIR] Implement FirReturnAllowedChecker
...
Supported diagnostics:
- RETURN_NOT_ALLOWED
- RETURN_IN_FUNCTION_WITH_EXPRESSION_BODY
2021-04-06 12:30:41 +03:00
yantimirov-timur
9e7f6332d1
[FIR] Complete WRONG_SETTER_TYPE_PARAMETER checker
2021-04-05 16:17:34 +03:00
Andrey Zinovyev
67505a0071
[FIR] Add FINAL_UPPER_BOUND checker
2021-04-05 14:51:44 +03:00
Ilya Kirillov
5ceec858aa
FIR IDE: do not search for sealed class inheritors on every class resolve
2021-04-02 17:15:30 +02:00
Tianyu Geng
3f4fa7eb98
FIR checker: make FirFunctionNameChecker a subclass of FirSimpleFunctionChecker
2021-04-02 17:32:22 +03:00
Mikhail Glukhikh
7d4b8587a3
Unite checks around supertypes in FirPrimaryConstructorSuperTypeChecker
2021-03-26 17:05:58 +03:00
Jinseong Jeon
8d8ed4cc18
FIR checker: check if callable reference targets are allowed members
2021-03-26 15:19:10 +03:00
Tianyu Geng
6769ce0e2b
FIR checker: check TOPLEVEL_TYPEALIASES_ONLY
2021-03-26 15:19:10 +03:00
Ilya Chernikov
51a1cec08b
FIR: Reimplement conflicts checker to detect conflicts in different files
...
also pass correct ScopeSession to checkers
fixes some IC tests
2021-03-24 21:24:19 +01:00
Ilya Chernikov
3e458a1efb
FIR: Add IncrementalPackagePartsProvider usage in cli...
...
also refactor IncrementalPackagePartsProvider and parents to simplify
usage
2021-03-24 21:24:18 +01:00
Ilya Chernikov
f8d50d585d
FIR: Implement lookup tracking
2021-03-24 21:24:18 +01:00
Tianyu Geng
56bec6997c
FIR checker: report SUPERTYPE_NOT_INITIALIZED
...
Combined this and the checker of
SUPERTYPE_INITIALIZED_WITHOUT_PRIMARY_CONSTRUCTOR together.
Also fixed SUPERTYPE_INITIALIZED_WITHOUT_PRIMARY_CONSTRUCTOR incorrectly
repoted as warning instead of error.
2021-03-24 17:48:39 +03:00
Tianyu Geng
e1c80ac75c
FIR checker: introduce NO_(GET|SET)_METHOD
...
Besides introducing new diagnostics, this commit unifies source usages
for array accesses in PSI & LT.
2021-03-24 16:25:01 +03:00
Mikhail Glukhikh
9ce8420491
FIR: introduce not implemented checker
2021-03-24 16:07:25 +03:00
Mikhail Glukhikh
b6f1a442fb
FIR checkers: use ScopeSession from resolve when possible
2021-03-24 16:07:19 +03:00
Jinseong Jeon
c6298398ef
FIR checker: rework VAL_REASSIGNMENT_VIA_BACKING_FIELD(_ERROR)
2021-03-24 16:02:08 +03:00
Ilya Kirillov
0f2aca3280
FIR: use session symbolProvider from symbol for getting it's file
2021-03-23 13:41:03 +01:00
Mark Punzalan
315047b164
FIR checker: Make FirJvmExternalDeclarationChecker a
...
FirMemberDeclarationChecker.
Set isExternal in status for FirRegularClass. Invoke member declaration
checkers for FirRegularClass.
2021-03-17 10:45:26 +01:00
Mark Punzalan
cef26a043e
FIR checker: Merge FirConstDeclarationChecker with
...
FirConstPropertyChecker.
2021-03-17 10:45:26 +01:00
Mark Punzalan
beaeb74a26
FIR checker: Separate FirExternalDeclarationChecker as it is
...
JVM-specific.
2021-03-17 10:45:26 +01:00
Mark Punzalan
c3d2ce0c1f
FIR checker/IDE: Add checker and quickfix for WRONG_MODIFIER_TARGET.
...
There are only simple checks for `external` and `const` for now. The
rest of the checks (see ModifiersChecker in FE1.0) will be added later.
2021-03-17 10:45:26 +01:00
Jinseong Jeon
7fff4108b6
FIR checker: report KClass with incorrect type argument
2021-03-16 21:56:10 +03:00
Jinseong Jeon
33c5b49632
FIR checker: report non-typed LHS of callable references
2021-03-16 21:56:08 +03:00
Tianyu Geng
6e8bad6ef6
FIR: Implement data class constructor checker
2021-03-11 13:25:51 +03:00
Dmitriy Novozhilov
f82c7c4678
[FIR] Cleanup session creation utils
2021-03-11 13:10:04 +03:00
eugenpolytechnic
f6e564ffa6
FIR: introduce inline classes checks
2021-03-06 09:22:34 +03:00
Alexander Udalov
566f97ae3e
JVM IR: remove dependency of 'backend.jvm' on 'psi2ir', 'ir.serialization.jvm'
...
Add a new module 'backend.jvm.entrypoint' which depends on psi2ir and
contains code that runs psi2ir + JVM IR backend with serialization
implementations.
Hopefully this will allow to compile these modules in parallel and
reduce the build time.
2021-03-05 20:46:33 +01:00
Jinseong Jeon
774ba58062
FIR checker: pluralize top-level/member function/property checkers
2021-03-04 17:56:30 +03:00
Jinseong Jeon
e8028e7825
FIR checker: report nullable/non-class LHS of class literals
2021-03-04 17:09:52 +03:00
Br0mm
dd3bc1a964
FIR: Introduce CONST_VAL_NOT_TOP_LEVEL_OR_OBJECT diagnostic
2021-03-04 16:13:50 +03:00