Denis.Zharkov
6052e24626
K2: Adjust test data after PCLA implementation [red-to-red]
...
^KT-59791 In Progress
2024-01-10 14:56:30 +00:00
Kirill Rakhman
9ea4afe7c8
[FIR] Fix isValidTypeParameterFromOuterDeclaration check for local class
...
This fixes an IllegalArgumentException when
symbolProvider.getClassLikeSymbolByClassId is called with a local
class ID.
#KT-63656 Fixed
2023-11-23 14:24:47 +00:00
Ivan Kochurkin
319fb967ec
[FIR] Add TYPE_ARGUMENTS_FOR_OUTER_CLASS_WHEN_NESTED_REFERENCED diagnostics
...
Report TYPE_ARGUMENTS_FOR_OUTER_CLASS_WHEN_NESTED_REFERENCED instead of
WRONG_NUMBER_OF_TYPE_ARGUMENTS where it's appropriate
^KT-59393 Fixed
Simplify FirTypeResolverImpl
2023-10-03 19:49:56 +00:00
Ivan Kochurkin
8d27af5b0d
[FIR] Fix reporting of TYPE_ARGUMENTS_NOT_ALLOWED instead of WRONG_NUMBER_OF_TYPE_ARGUMENTS
2023-10-03 19:49:56 +00:00
Ivan Kochurkin
42e5e43302
[FIR] Refactor FirTypeResolverImpl.resolveUserType
...
Fix IndexOutOfBoundsException on an attempt to cast an element
to inner class with type parameter
^KT-60921 Fixed
2023-10-03 19:49:56 +00:00
Kirill Rakhman
b41e5abcfa
[FIR] Fix bounds check for inner classes of generic outer classes
...
#KT-61068 Fixed
#KT-35566
2023-09-06 15:15:07 +00:00
Kirill Rakhman
10f7989af6
[FIR] Report UNRESOLVED_REFERENCE on the first unresolved qualifier
...
#KT-55471 Fixed
2023-09-04 08:05:07 +00:00
Brian Norman
e10a9263d0
[FIR] Only inherit class type parameters if inner class
...
Nested classes which are not inner class should not be able to access
type parameters of the outer class. Make sure access is not available
when resolving super types.
#KT-54748 Fixed
2023-05-31 16:25:51 +00:00
Dmitrii Gridin
72def186a3
[LL FIR] rework transformers, so transformers resolve only a specific set of declarations
...
The change is needed for the parallel resolution (^KT-55750), so we can resolve the declaration
under a lock that is specific to this declaration.
Previously, if LL FIR was resolving some FirClass, LL FIR resolved all its children too, and it had no control over what parts of the FIR tree were modified.
The same applied to the designation path, sometimes the classes on the designation path
might be unexpectedly (and without lock) modified.
This commit introduces LLFirResolveTarget, which specifies which exact declarations should be resolved during the lazy resolution of the declaration.
All elements outside the declarations specified for resolve in LLFirResolveTarget, should not be modified.
The logic of lazy transformers is the following:
- Go to target declaration collecting all scopes from the file and containing classes
- Resolve only declarations that are specified by the LLFirResolveTarget, performing the resolve under a separate lock for each declaration
^KT-56543
^KT-57619 Fixed
2023-04-19 20:12:38 +00:00
Dmitrii Gridin
9a4a3d1f49
[LL FIR] introduce test with reversed resolve order
...
^KT-56543
Merge-request: KT-MR-9299
Merged-by: Dmitrii Gridin <dmitry.gridin@jetbrains.com >
2023-03-22 17:34:07 +00:00
Ilya Kirillov
1bbcae5ed2
[FIR] fix resolve contract violation from scopes
...
We cannot call lazy resolve to STATUS phase from scopes as scopes may be accessed on a STATUS phase or earlier
^KT-54890
^KTIJ-23587 fixed
2023-01-13 21:32:51 +00:00
Ilya Kirillov
644d1bf0d0
[FIR] ignore tests which fail because of resolve contracts violation
2022-12-12 16:21:07 +00:00
Victor Petukhov
27fa632630
[FE 1.0] Update test data with new error type representation
2022-03-23 21:13:33 +00:00
Mikhail Glukhikh
ebed224f82
FE 1.0: use TYPE_VARIANCE_CONFLICT deprecation factory
2022-03-03 12:57:04 +00:00
Vladimir Dolzhenko
918a91dbdf
Escape special names with backticks in test data
...
#KT-51248
2022-02-10 21:20:47 +00:00
Ivan Kochurkin
e52a410599
[FIR] Initialize outer type parameters for local classes
2021-11-12 15:20:42 +03:00
Ivan Kochurkin
cc4dac5bec
[FIR] Fix false positive TYPE_VARIANCE_CONFLICT in nested class ^KT-49078 Fixed
2021-10-08 18:52:19 +03:00
Denis.Zharkov
112af9b145
FIR: Rework bare types support
...
^KT-48305 Fixed
2021-08-30 16:24:44 +03:00
Ivan Kochurkin
84c5f58cab
[FIR] Implement UNRESOLVED_REFERENCE_WRONG_RECEIVER
2021-08-25 21:53:23 +00:00
Ivan Kochurkin
dd54338ec0
[FIR] Fix positioning and detecting of WRONG_NUMBER_OF_TYPE_ARGUMENTS
...
Refactor code and fix compilation errors caused by changes to symbol.fir
2021-07-15 19:02:58 +03:00
Ivan Kochurkin
28a6928873
[FIR] Check rest OUTER_CLASS_ARGUMENTS_REQUIRED diagnostics on checkers stage
...
Add FirOuterClassArgumentsRequiredChecker
2021-07-15 19:02:45 +03:00
Ivan Kochurkin
0fc8be4d60
[FIR] Implement OUTER_CLASS_ARGUMENTS_REQUIRED diagnostics
2021-07-15 19:02:40 +03:00
Ivan Kochurkin
5741374883
[FIR] Report UPPER_BOUND_VIOLATED only on checkers stage, fix detection of missing cases and testData
2021-06-25 20:57:45 +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
Victor Petukhov
54b9f39b3a
Update tests after rebase
2021-05-28 15:36:24 +03:00
Victor Petukhov
4a767c597e
Don't report the same diagnsotics several times
2021-05-28 15:36:23 +03:00
Denis.Zharkov
ddbdfafa79
Remove OI/NI attributes from test data
2021-05-25 13:28:27 +03:00
Denis.Zharkov
2ecba6ac39
Remove WITH_NEW_INFERENCE directive from all tests
...
This directive anyway does not make test run twice with OI, and with NI
It only once run the test with specific settings (// LANGUAGE)
and ignores irrelevant (OI or NI tags)
2021-05-25 13:28:26 +03:00
Ivan Kochurkin
cf531dbbe6
[FIR] Implement TYPE_VARIANCE_CONFLICT, TYPE_VARIANCE_CONFLICT_IN_EXPANDED_TYPE diagnostics, fix tests
2021-05-25 00:07:33 +03:00
Ivan Kochurkin
e57108d4e8
[FIR] Implement ASSIGNMENT_TYPE_MISMATCH, RESULT_TYPE_MISMATCH diagnostics, fix tests
2021-05-17 22:33:16 +03:00
Victor Petukhov
e110b49cab
Revert "Don't stop constraints processing if all type variables have proper equality constraints"
...
This reverts commit b87c2a15
2021-04-30 15:46:03 +03:00
Ivan Kochurkin
ad9b962536
[FIR] Fix tests (ARGUMENT_TYPE_MISMATCH instead of INCOMPATIBLE_CANDIDATE)
2021-04-12 23:49:55 +03:00
Dmitriy Novozhilov
66668b2294
[FIR] Support resolve of local typealiases
2021-04-06 12:30:42 +03:00
Mikhail Glukhikh
f453649d0b
FIR: report NO_TYPE_ARGUMENTS_ON_RHS properly
2021-03-30 12:52:13 +03:00
Dmitriy Novozhilov
cd890d5833
[Test] Disable UNUSED_* diagnostics in tests which are not belong to contolFlowAnalysis suite
2021-03-29 16:12:29 +03:00
Victor Petukhov
b87c2a15b5
Don't stop constraints processing if all type variables have proper equality constraints
...
Those type variable may have other constraints after incorporation into which, the constraint error may appear
^KT-42042 Fixed
2021-03-12 14:36:54 +03:00
Mikhail Glukhikh
0ee4f1f393
FIR: more exact nullability determination in potential UNSAFE_CALL check
2021-01-29 16:55:09 +03:00
Jinseong Jeon
e72ddbcbfe
FIR checker: differentiate UNSAFE_CALL from INAPPLICABLE_CANDIDATE
...
To do so, inside the root cause of inapplicable candidate errors,
we will record expected/actual type of receiver, if any.
That will help identifying inapplicable calls on nullable receiver.
2021-01-29 16:54:23 +03:00
Igor Yakovlev
2e4daee1d4
[FIR] Fix invalid diagnostic fir node sites and improved invalid type parameters count diagnostic report
2021-01-21 15:20:30 +03:00
pyos
29f95c7df2
FIR: improve inference of implicit type arguments in casts
...
Type parameters do not necessarily match one-to-one, or preserve order.
2021-01-18 18:01:03 +03:00
Dmitriy Novozhilov
e6b5cb5216
[TD] Update diagnostics test data due to new test runners
...
Update includes:
- Changing syntax of `OI/`NI` tags from `<!NI;TAG!>` to `<!TAG{NI}!>`
- Fix some incorrect directives
- Change order of diagnostics in some places
- Remove ignored diagnostics from FIR test data (previously `DIAGNOSTICS` didn't work)
- Update FIR dumps in some places and add `FIR_IDENTICAL` if needed
- Replace all JAVAC_SKIP with SKIP_JAVAC directive
2020-12-16 19:52:25 +03:00
Mikhail Glukhikh
4605a65f41
[FIR] Good test data fixes (around captured types)
2020-09-14 17:56:39 +03:00
Nick
4ceae8dc5e
[FIR] Don't report duplicated errors in function calls typeRefs
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
749346b73b
[FIR] Don't report duplicated errors on default accessor error type refs
2020-08-02 18:19:45 +03:00
Mikhail Glukhikh
551bdd267d
[FIR] Introduce WRONG_NUMBER_OF_TYPE_ARGUMENTS diagnostic
2020-08-02 18:19:44 +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
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
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