Kirill Rakhman
e8731f3f31
[FIR] Use resolvedType instead of coneTypeOrNull in tests
...
#KT-61367
2023-09-14 10:03:02 +00:00
Dmitriy Novozhilov
2d334c4e71
[Test] Merge multiple abstract legacy test runners into a single one
...
There was only one real inheritor of AbstractFirBaseDiagnosticTest,
so there is no need in the whole hierarchy of abstract test runners
Also AbstractFirOldFrontendLightClassesTest is not intended to check any
diagnostics or CFG dumps, so this logic was removed (they still can be
checked using non-legacy AbstractFirDiagnosticTest from the main test
infrastructure)
2023-09-05 14:59:36 +00:00
Dmitrii Gridin
c095b60fe8
[LL FIR] drop outdated LazyBodyIsNotTouchedTest
...
We have our own transformers and tests against compiler test data,
so separate test with compiler transformers is redundant
2023-09-04 12:37:12 +00:00
Aleksei.Cherepanov
68af705664
Add import tracker
...
This tracker reports import directives to IJ's JPS to track changes and detectwehen it is needed to adjust compilation scope.
#KT-44835 Fixed
2023-08-30 12:42:39 +00:00
Kirill Rakhman
9ec814b7ad
[FIR] Replace FirExpression.typeRef.coneType (and variants) with FirExpression.coneType
...
#KT-59855
2023-08-24 07:54:56 +00:00
Kirill Rakhman
2cc588d6d8
[RAW FIR] Rename raw FIR builder types for clarity
2023-06-30 12:05:43 +00:00
Dmitrii Gridin
22b5d940f1
[FIR] move lazy expression assertions to more common class
...
^KT-56543
2023-04-19 20:12:42 +00:00
Dmitrii Gridin
a5e5e093c3
[LL FIR] pass correct phase to AbstractLazyBodyIsNotTouchedTest test
...
We have lazy expressions on ARGUMENTS_OF_ANNOTATIONS,
so we should decrease the phase to it
^KT-56543
2023-03-22 14:08:39 +01:00
Ilya Chernikov
47a4532ea0
K2: update LightTree support in modularized tests
2023-01-02 19:54:56 +00:00
Dmitriy Novozhilov
34be0f05b2
[FIR] Add utility for checking if FirReference is one of error reference
...
Also simplify relevant code in checkers
2022-12-15 12:12:21 +00:00
Dmitriy Novozhilov
dde64c10ea
[FIR] Create FirResolvedErrorReference for error reference with single candidate
...
Note that this reference won't be created for hidden candidates,
because they are designed to be truly invisible from the user side
2022-12-15 12:12:19 +00:00
Yan Zhulanow
10fc86ef92
[FE] Add tests for 'containingClassForStaticMemberAttr'
2022-11-30 04:12:28 +00:00
Egor Kulikov
067036c162
RawFirBuilder refactoring
...
Second step for KT-52615
Get rid of PsiHandlingMode
Get rid of source in FirLazyBlock
Refactor lazy creation
Merge-request: KT-MR-7753
Merged-by: Egor Kulikov <Egor.Kulikov@jetbrains.com >
2022-11-22 14:43:53 +00:00
Dmitrii Gridin
be7d282974
[FIR] introduce FirReceiverParameter
...
^KT-54417
2022-11-17 09:50:09 +00:00
Ivan Kochurkin
40a01180ff
[FIR] Move createSessionWithDependencies and createEmptySession into FirSessionFactoryHelper
2022-10-13 18:11:48 +00:00
Simon Ogorodnik
513af2dfbc
FIR. Refactor smart-cast representation in FIR tree
...
Make smart-casts non-transparent expression without delegation
to underlying FirQualifiedAccessExpression, as children delegation in
fir tree has unclear semantics
Remove two different kinds of tree nodes for smart-casts
2022-08-15 21:46:11 +00:00
Ivan Kochurkin
2f56b29b3f
[FIR] Extract FirSessionConfigurator and IncrementalCompilationContext to separated classes
...
With FirSessionFactory and FirJsSessionFactory
2022-07-25 23:30:09 +02:00
Mikhail Glukhikh
bc396b9765
K2: don't report RETURN_TYPE_MISMATCH on last statement returns
...
#KT-53198 Fixed
2022-07-22 16:39:51 +00:00
Mikhail Glukhikh
9add6f3d55
K2: add more accurate & more automatic control of diagnostic suppression
...
#KT-51363 Fixed
2022-07-22 11:35:26 +00:00
Mikhail Glukhikh
089044e5b0
FirRenderer: get rid of direct Visitor usages
2022-07-14 09:38:34 +00:00
Mikhail Glukhikh
a82baf87cb
FIR renderer: extract separate ConeTypeRenderer
2022-07-14 09:38:33 +00:00
Mikhail Glukhikh
38d6f3d548
Move FirRenderer to separate package
2022-07-14 09:38:31 +00:00
Dmitriy Novozhilov
22dae9bff4
[FIR] Fix registration of multiple compiler plugins
2022-06-29 11:59:59 +00:00
Aleksei.Cherepanov
3d8f140d6b
[JPS] Fix incremental build after changing Java enum used in Kotlin when
...
EnumWhenTracker implemented for tracking changed java enum class items, that used in kotlin when expression.
#KT-47824 Fixed
2022-04-19 18:39:41 +00:00
Ilya Chernikov
03cbfea737
FIR LT: Introduce source file abstraction, carry it from parsing to IR
...
along with source lines mapping, allows to "emulate" usage of the
PSI files which allows to extract source file and line mapping info
on every stage from source element.
It makes sense to use this mapping for the error reporting too.
2022-03-30 08:34:30 +00:00
Ilya Chernikov
a08e70ae5c
FIR CLI: fix java sources search scope usage
2022-03-30 08:33:27 +00:00
Ilya Chernikov
275135a1b2
FIR: extend cli pipeline with incremental compilation logic
...
use it in the IncrementalCompilationRunner
2022-03-30 08:31:10 +00:00
Ilya Chernikov
12d49c2cd8
FIR: new cli pipeline with LightTree support
2022-03-30 08:29:47 +00:00
Mikhail Glukhikh
9aaf7b7d24
FIR: drop pluginPhase special parameter
2022-03-10 20:42:40 +00:00
Dmitriy Novozhilov
44bfb6fde8
[FIR] Don't register FirJavaElementFinder for common session
2022-02-18 17:44:40 +03:00
Dmitriy Novozhilov
0bd3e8f418
[FIR] Rename ConeClassErrorType to ConeErrorType, drop ConeKotlinErrorType alias
2022-02-07 13:36:33 +03:00
Dmitriy Novozhilov
ce218b8a0b
[FIR] Make FirExtensionRegistrar a proper extension point
...
After that commit it's allowed to register any FIR plugin using
existing extension infrastructure (`-Xplugin` CLI argument,
plugin.xml for IDE plugins, etc)
2021-11-30 12:57:50 +03:00
Ilya Chernikov
5446168770
Add path to FirFile to pass it to the DiagnosticContext
2021-10-27 22:17:40 +02:00
Ilya Chernikov
e9f59e8d1d
Move common diagnostics infrastructure to frontend.common
2021-10-27 22:17:39 +02:00
Ilya Chernikov
31c58767cf
Rearrange fir diagnostic for further reuse
2021-10-27 22:17:39 +02:00
Ilya Chernikov
a65beb2dc5
Move Fir*SourceElement to frontend.common, rename to Kt* (complete)
2021-10-27 21:44:11 +02:00
Dmitriy Novozhilov
eadb91f9b2
[FIR] Move accessors to main session components close to declarations of those components
2021-10-18 10:55:39 +03:00
Dmitriy Novozhilov
116a1c1e46
[FIR] Remove stubMode flag from RawFirBuilder and LightTree2Fir converter
2021-09-13 13:53:05 +03:00
Ilya Chernikov
caa44e413d
Abstract FIR cli pipeline from core environment and related entities
2021-08-23 16:50:40 +03:00
Ivan Kochurkin
8d764fa50e
[FIR] Add FirPropertyAccessExpression that inherits FirQualifiedAccessExpression
2021-08-13 20:05:43 +03:00
Simon Ogorodnik
97bfc49ed6
[FIR Test] Fix file counting for global passes
2021-08-03 19:52:21 +03:00
Mikhail Glukhikh
40c3c317b2
RawFirBuilder: optimize package name calculation in compiler mode
2021-07-15 12:46:23 +00:00
Dmitriy Novozhilov
22a4da024b
[FIR] Fix all illegal usages of symbol.fir in checkers module
2021-07-13 10:31:34 +03:00
Dmitriy Novozhilov
f400477c70
[FIR] Remove generic parameter from FirDeclaration
2021-06-29 21:03:30 +03:00
Dmitriy Novozhilov
1324e9223f
[FIR] Make FirDeclaration an abstract class
2021-06-29 21:03:28 +03:00
Dmitriy Novozhilov
39cd1c8504
[FIR] Squash AbstractFirBasedSymbol with FirBasedSymbol
2021-06-29 21:03:28 +03:00
Dmitriy Novozhilov
a288b8b00e
[FIR] Remove useless type parameters from classes related to diagnostics
...
Generics removed from:
- FirPsiSourceElement
- FirDiagnostic
- FirDiagnosticRenderer
- FirDiagnosticFactory
2021-06-21 13:13:17 +03:00
Dmitriy Novozhilov
386f6d9331
[FIR] Safe KClass of PSI type in diagnostic factory
2021-06-21 13:13:17 +03:00
Dmitriy Novozhilov
3d544be655
[FIR] Add ability to specify custom position strategy for specific diagnostic
2021-06-21 13:13:17 +03:00
Dmitriy Novozhilov
6e4cc49f1d
[FIR] Cleanup IC provider creation in FirSessionFactory
2021-05-20 14:21:47 +03:00