Dmitriy Novozhilov
246dc985a6
[FIR] Rework predicates system
...
Now predicates are split into LookupPredicate and DeclarationPredicate
hierarchies. First one allows to perform global search for declarations
and second one allows to check if some declaration matches the predicate.
Predicates with meta annotations are excluded from LookupPredicates,
because it's impossible to create index of annotations with meta-annotations,
because they can be located inside binary dependencies (so to achieve
this we need to scan the whole classpath).
Also only one predicate with meta-annotations is left in DeclarationPredicate
hierarchy (AnnotatedWithMeta)
^KT-53874 Fixed
^KT-53590 Fixed
2022-12-01 07:29:37 +00:00
Dmitriy Novozhilov
7a9a71a089
[ImportsDumper] Add missing test runtime dependencies
2022-12-01 07:29:36 +00:00
Dmitriy Novozhilov
2610ad94e0
[SamWithReceiver] Fix test configuration and testdata
2022-12-01 07:29:36 +00:00
Dmitriy Novozhilov
ebc879ed1e
[AllOpen] Update testdata
2022-12-01 07:29:36 +00:00
Dmitriy Novozhilov
dff5799c58
[Test] Don't create separate .fir.txt file in BytecodeListingHandler if not necessary
2022-12-01 07:29:35 +00:00
Dmitriy Novozhilov
700a117476
[Build] Add forgotten compiler plugins tests to aggregate build
2022-12-01 07:29:35 +00:00
Alexander Udalov
25c5ad176c
Minor, update instructions for installing protobuf261 + regenerate
2022-12-01 01:37:55 +01:00
Simon Ogorodnik
16476dec61
Owners. Make Evolution Team responsible for LanguageVersionSettings
2022-11-30 21:53:33 +00:00
Artem Daugel-Dauge
30c2c62a1b
Properly specify outputs for PodGenTask + expose Podfile location
2022-11-30 21:19:14 +00:00
Pavel Mikhailovskii
f96d41e414
KT-4107 Don't generate readResolve for data objects
2022-11-30 21:07:20 +00:00
Marco Pennekamp
ea346e3e0e
[AA] Rename originalOverriddenSymbol to unwrapFakeOverrides
...
- `unwrap` signals that fake overrides will be unwrapped until the
original symbol is recovered.
- Also remove nullability of the returned `KtCallableSymbol`. If the
given symbol cannot be unwrapped, it is most likely already the
original symbol.
- Remove the lazy resolve to `STATUS` in `KtFirOverrideInfoProvider`, as
it's not needed to unwrap fake overrides.
2022-11-30 19:49:14 +00:00
Evgeniy.Zhelenskiy
fa4a4e56f3
[Tests] Remove unnecessary usages of OPTIONAL_JVM_INLINE_ANNOTATION
...
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com >
#KT-1179
2022-11-30 18:55:42 +00:00
Evgeniy.Zhelenskiy
50310d42e3
[IR] MFVC lateinit variables and properties test
...
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com >
#KT-1179
2022-11-30 18:55:42 +00:00
Evgeniy.Zhelenskiy
b7f249cdb6
[IR] Fix bugs in MFVC function references support
...
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com >
#KT-1179
2022-11-30 18:55:41 +00:00
Evgeniy.Zhelenskiy
86809e898a
[IR] Combine value class lowerings
...
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com >
#KT-1179
2022-11-30 18:55:41 +00:00
Evgeniy.Zhelenskiy
68fb8aa2a1
[IR] Replace indexes with names for mfvc methods and fields
...
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com >
#KT-1179
2022-11-30 18:55:41 +00:00
Evgeniy.Zhelenskiy
b692748938
[IR] Always add getter methods to value classes even if not used
...
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com >
#KT-1179
2022-11-30 18:55:40 +00:00
Evgeniy.Zhelenskiy
3653c86f08
[IR] Rename static replacement of MFVC typed equals to "equals-impl0"
...
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com >
#KT-1179
2022-11-30 18:55:40 +00:00
Evgeniy.Zhelenskiy
38c80192f9
[IR] Support MFVC-typed properties and interfaces delegates
...
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com >
#KT-1179
2022-11-30 18:55:40 +00:00
Evgeniy.Zhelenskiy
4d426fc4cd
[IR] Generate not FIR_IDENTICAL box fir value classes tests
...
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com >
#KT-1179
2022-11-30 18:55:39 +00:00
Evgeniy.Zhelenskiy
fa4ceb4ef4
[IR] Add diagnostics to forbid annotations for MFVC-typed elements
...
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com >
#KT-1179
2022-11-30 18:55:39 +00:00
Evgeniy.Zhelenskiy
adee33d3e5
[IR] Forbid MFVC primary constructors default arguments
...
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com >
#KT-1179
2022-11-30 18:55:38 +00:00
Evgeniy.Zhelenskiy
c6e54e6433
[IR] Support object-like interaction with MFVC function references
...
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com >
#KT-1179
2022-11-30 18:55:37 +00:00
Evgeniy.Zhelenskiy
1660dc21b9
[IR] Refactor optimization of eliminating removing extra boxes
...
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com >
#KT-1179
2022-11-30 18:55:37 +00:00
Evgeniy.Zhelenskiy
f2d98eac5e
[IR] Make use a temp variable for flattened non-local non-MFVC getters
...
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com >
#KT-1179
2022-11-30 18:55:37 +00:00
Evgeniy.Zhelenskiy
9f01ccc304
[IR] Support user-defined equals for MFVC
...
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com >
#KT-1179
2022-11-30 18:55:36 +00:00
Evgeniy.Zhelenskiy
51f9f31a0a
[IR] Remove suffix from MFVC specialized equals function
...
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com >
#KT-1179
2022-11-30 18:55:36 +00:00
Evgeniy.Zhelenskiy
6107caa8e2
[FE1.0, FIR] Support secondary constructors for Value Classes
...
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com >
#KT-1179
2022-11-30 18:55:35 +00:00
Evgeniy.Zhelenskiy
8c3fa6f09f
[IR] Escape removing extra boxes if no box was are in the function
...
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com >
#KT-1179
2022-11-30 18:55:35 +00:00
Evgeniy.Zhelenskiy
962265531e
[IR] Weaken pressure on Local storage to fix performance issue
...
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com >
#KT-1179
2022-11-30 18:55:35 +00:00
Evgeniy.Zhelenskiy
89d5592622
[IR] Support function references
...
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com >
#KT-1179
2022-11-30 18:55:34 +00:00
Evgeniy.Zhelenskiy
b45f2baff5
[IR] Fix performance regression
...
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com >
#KT-1179
2022-11-30 18:55:34 +00:00
Evgeniy.Zhelenskiy
51e76aa19a
[IR] Support default arguments
...
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com >
#KT-1179
2022-11-30 18:55:33 +00:00
Evgeniy.Zhelenskiy
0c70b60988
[IR] Add context receiver test on MFVC
...
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com >
#KT-1179
2022-11-30 18:55:33 +00:00
Dmitrii Gridin
fe1647096f
[SLC] cleanup 'equals' code
...
^KT-54051
2022-11-30 12:59:12 +00:00
Dmitrii Gridin
2329bd1fe7
[SLC] SymbolLightAccessorMethod: simplify equals for psi case
...
^KT-54051
2022-11-30 12:59:12 +00:00
Dmitriy Novozhilov
5c3af11188
Advance bootstrap to 1.8.20-dev-3308
2022-11-30 12:25:20 +00:00
Artem Kobzar
67048151fb
[K/JS] Change js-call inlining strategy and + ability to referencethis safely from the js call ^Fixed KT-54134
2022-11-30 11:43:22 +00:00
Sergey Bogolepov
b1f2f733fe
[K/N] Enable dynamic driver for klib output by default
2022-11-30 11:24:41 +00:00
Sergey Bogolepov
39656209f0
[K/N] Enable klib IR phases in dynamic driver
...
Support SpecialBackendChecksPhase and CopyDefaultValuesToActualPhase
2022-11-30 11:24:41 +00:00
Sergey Bogolepov
73a52b6081
[K/N] Support CompilerOutputKind.LIBRARY in the dynamic driver
2022-11-30 11:24:40 +00:00
Sergey Bogolepov
b828672a2e
[K/N] Untie PsiToIr phase from Context
2022-11-30 11:24:40 +00:00
Sergey Bogolepov
182662f7ed
[K/N] A proper FrontendPhase
...
Rewrite frontend compiler phase using the new machinery.
As a side effect, some lateinit context properties are not lazy anymore.
2022-11-30 11:24:39 +00:00
Sergey Bogolepov
4bae6d794c
[K/N] Introduce PhaseEngine and PhaseContext
...
These two classes represents a core of a new dynamic K/N driver.
2022-11-30 11:24:39 +00:00
Sergey Bogolepov
0b2bc06870
Extract ErrorReportingContext from CommonBackendContext
2022-11-30 11:24:39 +00:00
Sergey Bogolepov
c22cad07ed
Introduce FlexiblePhaseConfig
...
For dynamic Kotlin/Native driver we need a PhaseConfigurationService
that does not force us to provide a list of phases upfront.
2022-11-30 11:24:38 +00:00
Sergey Bogolepov
cd3dece726
Introduce SimpleNamedCompilerPhase
...
Dynamic Kotlin/Native compiler driver relies on a more "pure"
approach when data is explicitly passed between different phases.
SameTypeNamedCompilerPhase is not suitable for this purpose, so we need
a new type for that.
2022-11-30 11:24:38 +00:00
Yahor Berdnikau
2fac6fb125
Revert "Native: fix benchmarksAnalyzer build configuration"
...
This reverts commit 6979271998 .
Better approach via JVM toolchain was added in this commit: 737fdf31f9
Toolchain approach ensures both Java and Kotlin compilation are using
the same JDK version.
2022-11-30 12:02:59 +01:00
Vladimir Sukharev
b883dc5434
[KT-39120] Add "-fmodules" argument support to Cinterop
...
Merge-request: KT-MR-6921
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com >
2022-11-30 08:46:40 +00:00
Yan Zhulanow
10fc86ef92
[FE] Add tests for 'containingClassForStaticMemberAttr'
2022-11-30 04:12:28 +00:00