Mikhail Glukhikh
c7877cb440
FIR: fix contract deserialization for assertIs<T>
2021-07-07 14:28:00 +03:00
Dmitriy Novozhilov
0ab4770f02
[FIR] Add correctly reported diagnostics to testdata
2021-07-02 15:55:05 +03:00
Dmitriy Novozhilov
f400477c70
[FIR] Remove generic parameter from FirDeclaration
2021-06-29 21:03:30 +03:00
Dmitriy Novozhilov
4225813d79
[FIR] Update CFG dumps according to changed order of visiting class children
2021-06-29 21:03:29 +03:00
Dmitriy Novozhilov
85b844c748
[FIR] Split FirAnonymousObject to expression and declaration
2021-06-29 21:03:27 +03:00
Tianyu Geng
2e049c1208
FIR DFA: fix CFG with normal arg after lambda [KT-46825]
...
The fix is a bit hacky, but it's very simple. In addition, it still does
not handle the case where the receiver is a lambda function. But such
case seems to be fairly rare in practice.
2021-06-29 10:46:41 +03:00
Igor Yakovlev
30c381f16d
[FIR] Fix invalid CallableId for methods in anonymous objects
2021-06-28 17:21:42 +03:00
Ivan Kochurkin
66e2b44272
[FIR] Implement UPPER_BOUND_VIOLATED_IN_TYPEALIAS_EXPANSION diagnostics, fix handling of UPPER_BOUND_VIOLATED
2021-06-25 20:57:46 +03:00
Mark Punzalan
578fcf2ebf
FIR: Render fun status flag in FirRenderer.
2021-06-21 18:45:38 +03:00
Ilya Kirillov
72b8593240
FIR IDE: do not use IJ test infrastructure in frontend-api-fir tests
2021-06-20 22:07:31 +02:00
Igor Yakovlev
ec80c21fd1
[FIR IDE] Fix lazy resolve for local declarations
2021-06-19 19:23:24 +02:00
Mikhail Glukhikh
ceb527c5e4
FIR: add OptIn checkers draft + some annotation / SinceKotlin utilities
2021-06-11 22:03:32 +03:00
Tianyu Geng
32f55a2269
FIR checker: report VIRTUAL_MEMBER_HIDDEN
2021-06-09 16:27:49 +03:00
Denis.Zharkov
592256976e
FIR: Fix inference of builder-inference function from expect type
...
Previously, such calls were being completed with FULL mode and incorrect
INFERENCE_NO_INFORMATION_FOR_PARAMETER has been reported
2021-06-07 15:25:57 +03:00
Denis.Zharkov
0aca3a3737
FIR: Adjust test data after introduction of INFERENCE_NO_INFORMATION_FOR_PARAMETER
...
See previous commits for details
2021-06-07 15:25:47 +03:00
Ivan Kochurkin
c4c2fbb5a0
[FIR] Implement RECURSIVE_TYPEALIAS_EXPANSION, CYCLIC_INHERITANCE_HIERARCHY diagnostics, fix stackoverlow exception in case if typealias points to type with type arguments
2021-06-03 20:41:58 +03:00
Victor Petukhov
758eb8f851
Fix builder inference tests
2021-05-28 15:36:22 +03:00
Dmitriy Novozhilov
3fc7e0ed03
[FIR] Remove COMPARE_WITH_LIGHT_TREE from default directives of fir diagnostic tests
2021-05-20 20:20:40 +03:00
Denis.Zharkov
00821bbc63
FIR: Update test data (repeated diagnostics)
...
They are a bit redundant, but it needs additional work to be done
to avoid them
2021-05-20 17:24:33 +03:00
Denis.Zharkov
829f80179c
FIR: Update rendered tree in test data
2021-05-20 17:24:29 +03:00
Jinseong Jeon
f0f1e2d945
FIR checker: report CAPTURED_VAL_INITIALIZATION
2021-05-20 13:59:13 +03:00
Mikhail Glukhikh
3663884db2
FIR: support CONDITION_TYPE_MISMATCH diagnostic
...
We report CONDITION_TYPE_MISMATCH on
- loop conditions
- when branch conditions
- binary logic arguments
2021-05-20 12:22:20 +03:00
Ivan Kochurkin
c3b8f3e859
[FIR] Add lValueTypeRef to FirVariableAssignment, fix tests with ASSIGNMENT_TYPE_MISMATCH
2021-05-17 22:33:18 +03:00
Mikhail Glukhikh
0f9f63400e
FirSupertypesChecker: implement six more diagnostics
2021-05-13 16:13:43 +03:00
Mikhail Glukhikh
05872fc6a8
Support captured types in ConeTypeCompatibilityChecker
2021-05-07 17:06:34 +03:00
Tianyu Geng
d4717569b9
Fix inferred type of FirGetClassCall
...
The inferred type should be `KClass<out Blah>` for `FirGetClassCall`
invoked on expressions.
2021-05-06 17:50:33 +03:00
Jinseong Jeon
e2dc21da90
FIR checker: warn useless as and is
2021-05-05 18:20:51 +03:00
Ilya Kirillov
09a94f3200
FIR IDE: ignore non-passing tests in compiler based tests
2021-05-04 08:19:49 +02:00
Jinseong Jeon
9b39a8abc2
FIR: avoid wrapping an erroneous type as FirResolvedTypeRef
...
Instead, use FirErrorTypeRef, a subtype of FirResolvedTypeRef
2021-04-29 22:31:38 +03:00
Mikhail Glukhikh
f278de8768
FIR: don't call toString() inside string concatenations
2021-04-26 12:50:55 +03:00
pyos
e6d923f65c
FIR: rename HIDDEN to INVISIBLE_REFERENCE
...
Some of them should be INVISIBLE_MEMBER though
2021-04-21 16:18:21 +03:00
Tianyu Geng
6a03f31e50
FIR: add UnsafeCall resolution diagnostics
...
Previously unsafe call is reported as part of InapplicableWrongReceiver.
This makes it difficult for the downstream checkers to report different
diagnostics.
2021-04-19 15:11:13 +03:00
Mikhail Glukhikh
43a2ad0467
FIR: don't flatten for loop blocks in raw FIR builder
2021-04-19 15:11:12 +03:00
Mikhail Glukhikh
a736d62edd
FirForLoopChecker: report also OPERATOR_MODIFIER if appropriate + minor
...
This commits checks iterator/hasNext/next functions whether they are
declared as operator or not. Also, it changes logic of hasNext/next
error reporting, now we're able to report errors about both these
functions.
2021-04-19 15:11:10 +03:00
Mikhail Glukhikh
2e14b65644
Introduce FirForLoopChecker
2021-04-19 15:10:58 +03:00
Dmitriy Novozhilov
e869f8091a
[FIR] Properly handle callable references which were resolved with error
2021-04-16 11:12:55 +03:00
Ilya Kirillov
0cf00d0f72
FIR: fix FirDefaultPropertyAccessor phase to BODY_RESOLVE
2021-04-15 15:23:56 +03:00
Ilya Kirillov
39b2cd1027
FIR: do not provide symbols with different ClassId in JavaSymbolProvider
...
JavaSymbolProvider uses KotlinPsiElementFinderWrapper for finding classes.
CliFinder looks for Java classing assuming that class with ClassId=a/b/C
lives in directory a/b and do not look into real package name of Java class.
This causes that we may find some classes which we should not see from current scope.
Also, the IDE implementation works correctly here (it also checks file package)
which cause different behaviour of FIR IDE and FIR
This change also requires to fix testdata and make Java classes live
in directory consistent with file package
2021-04-15 15:23:53 +03:00
Mikhail Glukhikh
78fc87ffb1
FIR: apply minor test data fixes around type mismatch problems
2021-04-13 21:36:41 +03:00
Mikhail Glukhikh
b58e5b182c
FIR: add test fixing builder inference case
2021-04-13 21:36:38 +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
ad9b962536
[FIR] Fix tests (ARGUMENT_TYPE_MISMATCH instead of INCOMPATIBLE_CANDIDATE)
2021-04-12 23:49:55 +03:00
Jinseong Jeon
2ecb6733ed
FIR checker: warn unnecessary non-null assertions
2021-04-09 12:32:45 +03:00
Dmitriy Novozhilov
5ebd24eac5
[FIR] Save inline status of lambda after resolution
2021-04-06 12:30:34 +03:00
Mikhail Glukhikh
f0ff9ad5a7
FIR: rename AMBIGUITY to OVERLOAD_RESOLUTION_AMBIGUITY to match FE 1.0
2021-04-02 16:22:01 +03:00
Jinseong Jeon
bfc7eb7bab
FIR checker: fix REFERENCE_BY_QUALIFIED positioning strategy to consider callable reference
2021-03-26 15:19:10 +03:00
Ilya Chernikov
ed78183dbd
FIR: use more specific cone error for unresolved user type ref
...
replaces diagnostic with <No name> with specific qualifier
2021-03-24 21:24:18 +01:00
Mikhail Glukhikh
9ae41f5c07
FIR: store substitution for properties with implicit return type
2021-03-24 16:07:21 +03:00
Mikhail Glukhikh
4768700600
FIR error repro: property type mismatch in override from light classes
2021-03-24 16:07:20 +03:00