Dmitriy Novozhilov
fb8bf19091
[IR] Rename IrSymbolInternals to UnsafeDuringIrConstructionAPI
...
The new name more precisely describes the meaning of this opt-int
2023-10-25 11:32:46 +00:00
Brian Norman
23bdfd226f
[FIR] Complete data-flow analysis for all control-flow graph nodes
...
There are conditions where the data-flow analysis for a control-flow
graph node is delayed. Make sure that when completing a graph, all nodes
within the graph have completed their data-flow analysis.
^KT-61794 Fixed
2023-10-05 13:41:45 +00:00
Artem Kobzar
eef57f216c
[K/JS] Rework main function call to support it in per-file
2023-10-04 12:13:20 +00:00
Ilya Chernikov
e5ee364419
IC: Implement expect/actual tracking
...
fixes NewMultiplatformIT.testIncrementalCompilation
also #KT-61590 fixed
2023-09-19 15:46:30 +00:00
Alexander Udalov
fd68b9f49c
CLI: add -Xuse-ir-fake-override-builder
...
To be able to test IR fake override builder (KT-61514) outside of
compiler tests.
2023-09-13 15:01:52 +02:00
Pavel Kunyavskiy
bf9cae6410
[Fir2Ir] Support rebuilding fake overrides over IR
...
^KT-61514
2023-08-31 13:12:15 +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
Bogdan Mukvich
7b00323b89
[Build] Update guava
...
Fix some reports from "Show Vulnerable Dependencies"
^KTI-1342
2023-08-25 14:10:37 +00:00
Dmitriy Novozhilov
697d0d5638
[IR] Mark IrSymbol.owner with OptIn annotation
...
^KT-60923 Fixed
2023-08-16 17:47:29 +00:00
Yan Zhulanow
7d88ade005
[fir2ir] Allow non-cached type parameters
...
In the IDE, there might come declarations from other files/modules
that we link against, but not compile. Type parameters are one of such
declaration kinds.
2023-07-28 16:05:34 +00:00
Ivan Kylchik
84159596bd
[FIR] Pass diagnosticReporter in Fir2IrConfiguration
...
This parameter will be used to report diagnostics from constant
evaluator, in addition to report diagnostic from actualizer.
2023-07-27 22:50:21 +00:00
Ivan Kylchik
6e45c9d4c7
[Test] Drop convertToIr method from AbstractFirAnalyzerFacade
...
We are going to use `convertToIr` from `ModuleCompilerAnalyzedOutput`
without an intermediate wrapper.
2023-07-27 22:50:21 +00:00
Ivan Kylchik
3c9eb87c8d
[Test] Reuse buildFir... methods from firUtils.kt
2023-07-27 22:50:21 +00:00
Ivan Kylchik
34f8228441
[Test] Reuse runResolution and runCheckers from analyze.kt
2023-07-27 22:50:20 +00:00
Ivan Kylchik
d4a7b7a1f6
[Test] Drop unused parameters from FirAnalyzerFacade
2023-07-27 22:50:20 +00:00
Ivan Kylchik
1d1b0092a3
[Test] Make createModuleFragmentWithSignaturesIfNeeded to be called once
2023-07-27 22:50:20 +00:00
Artem Kobzar
044c0adae7
[K/JS] Implement an incremental compilation for the per-file granularity
2023-07-19 15:57:56 +00:00
Dmitriy Novozhilov
8e73d5a54a
[FIR] Run irGenerationExtensions after IR actualization
...
^KT-56173 Fixed
2023-07-07 11:26:15 +00:00
Artem Kobzar
966a342bf1
[K/JS] Migrate invalidation tests to ES modules
2023-06-30 16:13:35 +00:00
Kirill Rakhman
2cc588d6d8
[RAW FIR] Rename raw FIR builder types for clarity
2023-06-30 12:05:43 +00:00
Alexander Udalov
6cce510319
Tests: tweak light analysis mode test filters
...
Do not compare private and synthetic methods between full and light
analysis modes, some private fields, and InnerClasses attributes. This
is needed to prepare these tests for migration to JVM IR.
2023-06-22 17:10:51 +02:00
Alexander Udalov
4ac6f01d31
Add ReplaceWithSupertypeAnonymousTypeTransformer to light analysis tests
...
To make these tests behave closer to kapt, since kapt is the primary use
case for the light analysis mode.
AbstractLightAnalysisModeTest compares the text dump of bytecode
obtained with full analysis and light analysis, removing things like
anonymous/synthetic entities. In the light analysis mode anonymous
objects in supertypes are always approximated, and in the full analysis
mode they are always present as is in signatures. So we're transforming
the text dump in the same way, by approximating anonymous objects in
signatures (more precisely, in return types of methods and fields) to
the supertype.
2023-06-22 17:10:51 +02:00
Ivan Kylchik
0021a5f655
[K2] Save inlined java field into special InlineConstTracker
2023-06-14 19:02:39 +00:00
Alexander Udalov
fb900d2e2a
JVM: remove most usages of JvmTarget.JVM_1_6
2023-05-19 13:24:00 +00:00
Kirill Rakhman
6119606cb6
[FIR LT] Make syntax error reporting in tests consistent with cli
2023-05-05 09:34:23 +00:00
Sergej Jaskiewicz
a74df3b4b4
[IR] Store manglers used for signature computation in IrBackendInput
...
We will need them in signature dump tests later.
2023-05-04 14:58:06 +00:00
Nataliya.Valtman
2a391f7330
Move kotlin-build-statistic project to :compiler
2023-04-25 11:29:09 +00:00
nataliya.valtman
e34dd043da
Add minimal statistic report for JPS build
...
Fix build stat for gradle 8
#KT-56438 Fixed
2023-04-25 11:29:09 +00:00
Ivan Kylchik
0b70b7904d
[K2] Create and add EvaluatedConstTracker in configuration
2023-04-19 13:52:43 +00:00
Ivan Kylchik
fe989d0ba7
[K2] Add languageVersionSettings to Fir2IrConfiguration class
2023-04-19 13:52:42 +00:00
Ivan Kylchik
e16231104e
[K2] Add Fir2IrConfiguration class to store configuration parameters
...
One example of such parameter is `linkViaSignatures`. There is
`Psi2IrConfiguration` as an analog for K1.
2023-04-19 13:52:41 +00:00
Ivan Kylchik
525098dea6
[K2] Unbind fir:fir2ir:jvm-backend from other non jvm modules
2023-04-19 13:52:41 +00:00
Ivan Kochurkin
3a60b30dae
Minor: IrActualizationResult -> IrActualizedResult
2023-04-17 19:55:35 +00:00
Artem Kobzar
5dc6da2b33
[K/JS] Add serialization/deserialization for JsImport/JsExport nodes
2023-04-13 12:58:46 +00:00
Ivan Kochurkin
ee73e4774b
[K2, MPP] Remove redundant expect declarations from klib metadata
...
^KT-57250 Fixed
Introduce flat Fir2IrActualizedResult
It contains output from Fir2Ir and IrActualizer
2023-03-24 14:48:26 +00:00
Dmitriy Dolovov
153aed29ba
[JS][IC][test] Fix step numbers in tests
2023-03-23 10:24:28 +00:00
Dmitriy Dolovov
dc05683f59
[PL][tests] Fix: Properly count test steps in KLIB ABI compatibility tests
2023-03-23 10:24:26 +00:00
Dmitriy Novozhilov
da581f38e1
[Test] Require specifying parser for FIR test. Unify names for FIR tests
...
Now all tests with `Fir` in name are named accordingly to parser which
is used in them -- `FirPsi` or `FirLightTree`. This is needed to keep
consistency between different types of tests, because there is no
single default in parser mode between different scenarios of using FIR
2023-02-24 11:15:26 +00:00
Alexander Udalov
d2938e732a
IR: remove IrTypeOperatorCall.typeOperandClassifier
2023-02-22 22:40:34 +00:00
Vladimir Dolzhenko
3e99807436
Add ability to provide specific AbsentDescriptorHandler
...
#EA-457188
Merge-request: KT-MR-8900
Merged-by: Vladimir Dolzhenko <Vladimir.Dolzhenko@jetbrains.com >
2023-02-22 12:44:46 +00:00
Alexander Korepanov
3c9d653595
[JS IR] Ignore unbound symbols in IC infrastructure
...
The IR linker is responsible for detecting unbound symbols,
if it skips them for some reason, IC infrastructure must not fail
with unbound symbols exceptions. Anyway, the IR validator
verifies later if there are unbound symbols in
reachable IR and generates the corresponding error.
^KT-56602 Fixed
2023-02-21 14:46:44 +00:00
Simon Ogorodnik
36c3d62ba1
Modularized tests. Fix java source scope for light tree mode
...
We should use appropriate java source scope for java files,
not kotlin files
^KT-56075
2023-02-15 15:43:30 +00:00
Ivan Kochurkin
6bdd0edd6c
[FIR2IR] Add Fir2IrCommonMemberStorage, get rid of merge in Fir2Ir storages
...
Extract DescriptorSignatureComposerStub and WrappedDescriptorSignatureComposer to separate classes
2023-02-01 11:42:46 +00:00
Ivan Kochurkin
0f9107c153
[FIR2IR] Remove passing excess arguments to jvm backend functions and classes
...
generateModuleInFrontendIRMode, runBackend
FirJvmBackendExtension, ModuleCompilerIrBackendInput
2023-02-01 11:42:45 +00:00
Ivan Kochurkin
e601b01be2
[FIR2IR] Use single IrBuiltInsOverFir for all MPP source modules
...
^KT-56229 Fixed
2023-02-01 11:42:45 +00:00
Ivan Kochurkin
001b11f285
[FIR2IR] Use single SymbolTable and SignatureComposer for all MPP modules
...
Merge createModuleFragmentWithSignaturesIfNeeded and createModuleFragmentWithoutSignatures
into the createModuleFragmentWithSignaturesIfNeeded
2023-02-01 11:42:44 +00:00
Mikhail Glukhikh
ecc81098a6
Unbind FIR mangler from use-site session (by Simon Ogorodnik)
2023-01-13 12:56:01 +00:00
Mikhail Glukhikh
890e3d1c10
FIR2IR/MPP: use single SymbolTable during MPP compilation
2023-01-13 12:56:00 +00:00
Ivan Kochurkin
f17e1314f6
[FIR2IR] Implement tables merging in Fir2Ir classes and SymbolTable
...
- Pass dependent (usually common code) components to further FIR2IR converters
- Don't reinitialize builtin
2023-01-13 12:55:57 +00:00
Ivan Kochurkin
5d273ce839
[FIR & FIR2IR] Prepare test and CLI infrastructure to support MPP
...
- Move out getAnalyzerServices from FirFrontendFacade to TestSetupUtils
- Simplify DependencyListForCliModule. Now it takes BinaryModuleData as input
- FirOutArtifact contains several FirOutputArtifactPart
- Simplify FirFrontendFacade
2023-01-13 12:55:57 +00:00