Sergej Jaskiewicz
f2bb988e68
[FIR/IR generator] Replace getTypeWithArguments with a property
...
The `notNull` of that method was never used.
2023-10-20 10:49:20 +00:00
Sergej Jaskiewicz
de4e39906c
[FIR/IR generator] Use TypeRef for working with types in fields
...
- Don't inherit `AbstractField` from `Importable`, because it really
is not
- Remove the `arguments` and `nullable` properties from `AbstractField`.
Both properties can be derived from the field's `typeRef`.
- Make `AbstractField`'s `typeRef` property of type
`TypeRefWithNullability` instead of just `TypeRef`, because fields
can always be nullable.
2023-10-20 10:49:20 +00:00
Dmitrii Gridin
17ab005668
[Analysis API FIR] KtSymbolContainingDeclarationProvider: support script declarations
...
This commit also fixes a missing symbol for KtScriptInitializer
and some symbol pointers
Many tests marked as 'DO_NOT_CHECK_NON_PSI_SYMBOL_RESTORE'
due to KtFirFileSymbol#createPointer logic – the pointer can
be created only for PSI
^KT-61451
^KT-61887
^KT-62626 Fixed
^KT-62693
2023-10-20 09:27:21 +00:00
Sergej Jaskiewicz
75b509c185
[FIR/IR generator] Share visitor-related properties between FIR & IR
2023-10-20 06:41:12 +00:00
Sergej Jaskiewicz
04c5ac0eb6
[FIR/IR generator] Factor out adding pure abstract element as parent
2023-10-19 12:00:25 +00:00
Sergej Jaskiewicz
5798021e4b
[FIR/IR generator] Refactor element parents
...
- Move `elementParents` and `otherParents` properties
to `AbstractElement`
- Use `elementParents` instead of `parentRefs` where needed
2023-10-19 12:00:25 +00:00
Ilya Gorbunov
911fa3bbbb
[stdlib] Merge js-ir specific sources into common js sources
2023-10-19 03:11:54 +00:00
Sergej Jaskiewicz
417aa236fb
[FIR/IR generator] Factor out printing the preamble in generated files
2023-10-18 18:42:40 +00:00
Sergej Jaskiewicz
8c6da9fddb
[FIR/IR generator] Deduplicate interface/abstract class configuration
2023-10-18 12:39:39 +00:00
Sergej Jaskiewicz
9a4c28498c
[FIR generator] Deduplicate the logic of needPureAbstractElement
2023-10-18 11:12:55 +00:00
Sergej Jaskiewicz
7ab4ca6f51
[IR generator] Inherit Element from AbstractElement
...
This is a step towards commonizing the code generator between
FIR and IR: KT-61970
2023-10-16 22:56:36 +00:00
Sergej Jaskiewicz
f9d17a2d51
[IR generator] Inherit Field from AbstractField
...
This is a step towards commonizing the code generator between
FIR and IR: KT-61970
2023-10-16 22:56:36 +00:00
Sergej Jaskiewicz
15751333e3
[IR generator] Introduce constants for List-like types
2023-10-16 22:56:36 +00:00
Sergej Jaskiewicz
df0f86bf8d
[FIR generator] Use a single list of parent TypeRefs for elements
...
(Instead of storing the list of parent elements + the map of parent
arguments)
2023-10-13 10:11:38 +00:00
Svyatoslav Kuzmich
0295057520
Refactor: extract test generation regexp into a common util object
2023-10-12 13:26:58 +00:00
Sergej Jaskiewicz
04ac4b71a3
[FIR generator] Replace AbstractElement with ElemenOrRef
...
In the FIR generator, the `AbstractElement` class was used to
represent either an element type without type arguments applied
(using the `Element` subclass), or an element type with applied type
arguments (using the `ElementWithArguments` subclass).
Instead, it is more logical to use the `Element` class to always
represent a non-parameterized element type, and for a parameterized
element type use the `ElementRef` class, just like we do
in the IR generator.
2023-10-12 11:36:20 +00:00
Sergej Jaskiewicz
a909a28f29
[FIR generator] Use more type-safe field builders
2023-10-12 08:24:12 +00:00
Sergej Jaskiewicz
8be455649c
[FIR generator] Use TypeVariable instead of TypeArgument for TPs
...
This is a step towards commonizing the code generator between
FIR and IR: KT-61970
2023-10-12 08:24:12 +00:00
Sergej Jaskiewicz
8798fdeb82
[FIR generator] Use TypeRef for denoting types
...
(instead of `Type` and `Importable`)
This is a step towards commonizing the code generator between
FIR and IR: KT-61970
2023-10-11 11:16:08 +00:00
Marco Pennekamp
239cfa6d29
[AA] Add tests for combined declared member scopes
...
^KT-61800
2023-10-10 13:38:00 +00:00
Marco Pennekamp
1408556511
[AA] Refactoring: Rename AbstractMemberScopeByFqNameTest to AbstractMemberScopeTest
...
^KT-61900
2023-10-10 13:38:00 +00:00
Marco Pennekamp
21efd6aff3
[AA] Add tests for *static* (declared) member scopes
...
^KT-61900
^KT-61800
2023-10-10 13:38:00 +00:00
Ilya Kirillov
15e4cbc10d
[Analysis API] implement an API to get a substitution based on an inheritance relationship between classes
...
^KT-62090 fixed
2023-10-06 11:39:33 +00:00
Anna Kozlova
da385210d8
[AA] provide psiType#asKtType conversion
...
it's useful for IDE's features such as write UAST or refactorings
^KT-62302 fixed
Merge-request: KT-MR-12414
Merged-by: Anna Kozlova <Anna.Kozlova@jetbrains.com >
2023-10-05 15:18:55 +00:00
Sergej Jaskiewicz
3a5e69d651
[FIR/IR generator] Inherit TypeRef from Importable
...
This is the first step to replace the usages of `Importable`
in the FIR generator with `TypeRef`.
This is a step towards commonizing the code generator between
FIR and IR: KT-61970
2023-09-22 19:46:14 +00:00
Sergej Jaskiewicz
a995c522f7
[IR generator] Factor out TypeRef to common module
...
This is a step towards commonizing the code generator between
FIR and IR: KT-61970
2023-09-22 19:46:14 +00:00
Sergej Jaskiewicz
d5394db185
[FIR generator] Factor out AbstractElement to common module
...
This is a step towards commonizing the code generator between
FIR and IR: KT-61970
2023-09-22 19:46:14 +00:00
Sergej Jaskiewicz
977e316489
[FIR generator] Factor out TypeArgument to common module
...
This is a step towards commonizing the code generator between
FIR and IR: KT-61970
2023-09-22 19:46:14 +00:00
Yan Zhulanow
834cbaac5a
[LL API] Run fir2ir separately for files in different modules
...
Each module may have its own compiler configuration.
^KTIJ-27061 Fixed
2023-09-21 06:19:15 +00:00
Sergej Jaskiewicz
0dd01279da
[FIR generator] Move Implementation.Kind to common module
...
This is a step towards commonizing the code generator between
FIR and IR: KT-61970
2023-09-19 22:19:37 +00:00
Sergej Jaskiewicz
e62343427d
[FIR generator] Move Field and FieldContainer to common module
...
This is a step towards commonizing the code generator between
FIR and IR: KT-61970
2023-09-19 22:19:37 +00:00
Sergej Jaskiewicz
982b9221b4
[FIR generator] Move ArbitrarilyImportable class to common module
...
This is a step towards commonizing the code generator between
FIR and IR: KT-61970
2023-09-19 22:19:37 +00:00
Sergej Jaskiewicz
7a6bffaabb
[FIR generator] Move Importable interface to common module
...
This is a step towards commonizing the code generator between
FIR and IR: KT-61970
2023-09-19 22:19:37 +00:00
Dmitrii Gridin
11d86992c5
[SLC] update test data for 2.0 version
...
* disable compiled tests for scripts because they are not supported yet
* fix test data
^KT-60590 Fixed
2023-09-19 15:46:27 +00:00
Dmitrii Gridin
33e6a85a2d
[LL FIR] rename testdata to testData to avoid copyright generation
...
We exclude testData pattern from copyright scope
2023-09-18 21:12:45 +00:00
Alexander.Likhachev
6eaccc997f
[Build] Fix the typo junit jupyter -> jupiter
2023-09-06 22:47:34 +00:00
Alexander.Likhachev
6f96be0b76
[Build] Get rid of the testApiJUnit5 method
...
#KTI-1349 In Progress
2023-09-06 22:47:34 +00:00
Alexander.Likhachev
53fde520d5
[Build] Add jUnit dependencies in testApiJUnit5 to the implementation configuration
...
Adding these dependencies to the `api` configuration pollutes classpath for each dependant modules even if it doesn't need them. Instead, the dependencies should be declared more granularly if they're required
#KTI-1349 In Progress
2023-09-06 22:47:34 +00:00
Alexander.Likhachev
357d12fc8e
[Build] Move JUnit dependencies into the version catalog
...
The `kotlin-test` dependencies are left untouched as changing them affects publications, thus these versions are independent from the used inside our build
#KTI-1349 In Progress
2023-09-06 22:47:33 +00:00
Dmitrii Gridin
2421d3cdf1
[LL FIR] ClassId: add more tests
...
^KTIJ-26848
^KTIJ-26896
^KTIJ-26902
2023-09-05 12:58:50 +00:00
Pavel Kirpichenkov
cf98fb5612
[Tests] Add .knm stub consistency test
...
The test compares stub trees built from .knm files directly and from
the decompiled text. Test data for .class decompiler is reused,
JVM-specific cases are ignored
KT-61354
2023-09-05 09:36:25 +00:00
Roman Golyshev
90ed90c9a7
KT-61689 [LL API] Support scripts in ContextCollector tests
2023-09-04 18:02:20 +02:00
Ilya Gorbunov
78ef58f59d
[Generator] Do not use explicit final modifier in Native primitive classes
...
'final' is the default modality, safe to omit
2023-09-04 11:32:39 +00:00
Ilya Gorbunov
8ae21c0e1b
[Generator] Do not omit public visibility of methods in wasm
2023-09-04 11:32:39 +00:00
Ilya Gorbunov
918b935e22
[Generator] Write the body of Boolean.hashCode in one place
2023-09-04 11:32:39 +00:00
Ilya Gorbunov
1c149925b7
[Generator] Always put expression body on a new line
2023-09-04 11:32:39 +00:00
Ilya Gorbunov
68a9b9c312
[Generator] Reference generator class in generated code files
2023-09-04 11:32:39 +00:00
Ilya Gorbunov
74ac48851a
[Generator] Canonical order of modifiers
2023-09-04 11:32:39 +00:00
Ilya Gorbunov
60bbd08569
[Generator] Rename additionalDoc, put its content before annotations
2023-09-04 11:32:39 +00:00
Alexander Udalov
5c19cb3fcb
[KAPT4] KT-51982 Implement Kapt4AnalysisHandlerExtension, add KAPT CLI and Gradle IT
...
Co-authored-by: Alexander Udalov <Alexander.Udalov@jetbrains.com >
2023-08-31 22:19:13 +00:00