Dmitriy Novozhilov
f32a0fe7ad
[FIR-TEST] Unify AbstractFirLoadCompiledKotlin and BuiltInsDeserializationForFirTestCase
2020-08-21 15:27:54 +03:00
Dmitriy Novozhilov
913ea9b56d
[FIR-TEST] Get rid of deprecated methods usage in AbstractFirLoadCompiledKotlin
...
Now complied declaration names are collected via ModuleDescriptor,
so tests pass more correctly. Before this change tests didn't render
compiled typealiases and properties.
Also some testdata was changed because of new order of declaration
2020-08-21 15:27:54 +03:00
Nick
28700ed64c
[FIR] Supertype and inheritance checkers group
2020-08-12 15:38:29 +03:00
Oleg Ivanov
21b8679799
[FIR] Add ReturnsImplies effect analyzer
2020-08-12 11:06:07 +03:00
Oleg Ivanov
4367d6631f
[FIR] Add CallsInPlace contract analyzer
2020-08-11 16:17:01 +03:00
Oleg Ivanov
cc9c5b9e3c
[FIR] Add CFG nodes, add multiple subGraphs for CFGOwner
2020-08-11 16:17:01 +03:00
Denis Zharkov
a5a93d00a7
FIR: Rework delegation constructor calls resolution
...
Make it work independently of being called for inner class (as in FE 1.0)
2020-08-11 10:14:02 +03:00
Nick
4669e019d1
[FIR] Add diagnostic CONFLICTING_OVERLOADS & REDECLARATION
2020-08-10 10:09:37 +03:00
Nick
f74eb07203
[FIR] Fix incorrect diagnostic behaviour + several enum diagnostics
2020-08-04 22:28:49 +03:00
Nick
b76f757d47
[FIR] Add diagnostic for missing primary constructor
2020-08-04 22:28:49 +03:00
Nick
0f213e58db
[FIR] Add diagnostic for primary constructor not called
2020-08-04 22:28:48 +03:00
Nick
bb0e1b7390
[FIR] Add diagnostic for constructor delegation cycles
2020-08-04 22:28:48 +03:00
vldf
65ebd02a39
[FIR] Fix for CanBeReplacedWithOperatorAssignment Checker
2020-08-04 11:20:42 +03:00
Mikhail Glukhikh
282a295d43
[FIR] Enable arrayOf transformer in completion (inside annotations)
2020-08-04 08:59:14 +03:00
Dmitriy Novozhilov
721b9b4d8c
[FIR] Resolve annotations as calls
2020-08-04 08:59:14 +03:00
Dmitriy Novozhilov
bc1fa8ed7f
[FIR] Add constructor for java annotations
2020-08-04 08:59:14 +03:00
vldf
8813ebd950
[FIR] Add RedundantSetterParameterType Checker
2020-08-03 16:37:24 +03:00
vldf
3349739d1e
[FIR] Fixes for RedundantReturnUnitType checker
2020-08-03 11:42:19 +03:00
vldf
cfc09048c6
[FIR] Add RedundantCallOfConversionMethod checker
2020-08-03 10:41:19 +03:00
Mikhail Glukhikh
6eab6f2f87
[FIR TEST] Replace OTHER_ERROR with UNRESOLVED_REFERENCE in test data
2020-08-02 18:19:47 +03:00
Nick
6f85a07290
[FIR] Don't report duplicated errors in property declarations
2020-08-02 18:19:46 +03:00
Nick
889324e972
[FIR] Ignore failing test, improve DiagnosticKind, fix UPPER_BOUND
2020-08-02 18:19:45 +03:00
Mikhail Glukhikh
ceaffb1e8b
[FIR] Don't report duplicated errors in implicit primary constructors
2020-08-02 18:19:45 +03:00
Mikhail Glukhikh
749346b73b
[FIR] Don't report duplicated errors on default accessor error type refs
2020-08-02 18:19:45 +03:00
Mikhail Glukhikh
0804c6a0f3
[FIR] Introduce TYPE_ARGUMENTS_NOT_ALLOWED & some other type errors
...
This commit introduces several different things, in particular:
- check type arguments in expressions
- new TypeArgumentList node to deal with diagnostic source
- ConeDiagnostic was moved to fir:cones
- ConeIntermediateDiagnostic to use in inference (?) without reporting
- detailed diagnostics on error type
2020-08-02 18:19:44 +03:00
Nick
26e3a111d6
[FIR] Add diagnostics for object related problems
2020-07-31 19:34:55 +03:00
Nick
7145caca40
[FIR] Refactor effective visibility calculation
...
Before this commit, we had effective visibility as a part of FIR status,
so it was integrated into the full pipeline. In this commit,
we introduced "effective visibility as a service" which is now used
only by exposed visibility checker. This allows us to make the thing
universal for all FIR nodes, including nodes for Java / deserialized.
2020-07-31 19:27:58 +03:00
vldf
8724efbe8a
[FIR] Add empty range checker
2020-07-31 16:28:37 +03:00
vldf
b10defdbab
[FIR] Add redundant single string expression template checker
2020-07-31 16:28:37 +03:00
vldf
95e0ba3d5c
[FIR] Add ArrayEqualityOpCanBeReplacedWithEquals checker
2020-07-31 16:28:37 +03:00
Dmitriy Novozhilov
f283f2db43
[FIR] Improve diagnostic reporting & don't use error symbol for candidate if possible
...
Also introduce few new diagnostics:
- NONE_APPLICABLE more many inapplicable candidates
- HIDDEN for visible candidates
2020-07-28 20:46:56 +03:00
vldf
d7b3a86f5e
[FIR] Add "can be val" extended checker
2020-07-28 14:17:38 +03:00
vldf
eadd3f00f2
[FIR] Add CanBeReplacedWithOperatorAssignmentChecker
2020-07-28 10:13:28 +03:00
Ivan Kylchik
3c01a39846
[FIR] Update test data after introducing new fir nodes
2020-07-21 13:54:17 +03:00
vladislavf7@gmail.com
2b0639d4ad
[FIR] Cleanup and refactoring for checkers
2020-07-21 12:13:10 +03:00
vladislavf7@gmail.com
751ed60e42
[FIR] Fix redundant visibility modifier checker
2020-07-21 12:13:10 +03:00
vladislavf7@gmail.com
a8ff5d17dc
[FIR] Fix redundant modality modifier checker
...
Fixed function FirDeclaration.hasBody() and some others improvement
2020-07-21 12:13:10 +03:00
vladislavf7@gmail.com
a988234bbf
[FIR] Fix redundant explicit type checker
2020-07-21 12:13:09 +03:00
Dmitriy Novozhilov
236dfe60f1
[FIR] Correctly build scopes for resolve of different parts of constructors
...
#KT-40409 Fixed
2020-07-20 14:38:17 +03:00
Dmitriy Novozhilov
cedd1c133e
[FIR] Match type in super<type> access with actual supertypes of class
2020-07-20 14:38:16 +03:00
Dmitriy Novozhilov
1ce4eca3a6
[FIR] Infer type arguments for captured parameters of inner classes
...
KT-38992
2020-07-20 14:38:16 +03:00
Denis Zharkov
cd896ae6c8
FIR: Implement FE 1.0 semantics for super unqualified calls
...
See original logic at org.jetbrains.kotlin.types.expressions.unqualifiedSuper.UnqualifiedSuperKt#resolveUnqualifiedSuperFromExpressionContext
^KT-39070 Fixed
^KT-39599 Related
2020-07-20 12:24:51 +03:00
Nick
1ea5678932
[FIR] UPPER_BOUND_VIOLATED optimizations
2020-07-16 19:04:29 +03:00
Nick
41a0cfe002
[FIR] Add diagnostic UPPER_BOUND_VIOLATED
2020-07-16 19:04:22 +03:00
Ivan Kylchik
85e822e283
[FIR] Support smartcast after reference equality check
...
#KT-39000 Fixed
2020-07-16 12:43:55 +03:00
vladislavf7@gmail.com
63f7e95c89
[FIR] Add RedundantExplicitTypeChecker
2020-07-16 12:39:13 +03:00
Jinseong Jeon
c7a37eb6b2
FIR deserializer: load annotations on extension receiver parameters
2020-07-16 10:42:51 +03:00
Mikhail Glukhikh
9934f7d56e
[FIR TEST] Add test for KT-40327
2020-07-15 13:36:31 +03:00
Jinseong Jeon
5600eefea5
FIR: add support for varargs in annotation calls
2020-07-15 13:36:30 +03:00
Mikhail Glukhikh
93632d2a18
FIR declaration transformer: unwrap synthetic property accessor properly
2020-07-15 13:36:29 +03:00