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
Yan Zhulanow
4489ccf864
Simplify registering new debug diagnostics in FirDiagnosticsHandler
2022-11-30 04:12:27 +00:00
Yan Zhulanow
c7f9d7f027
[FE] Pass the derived class tag to more places (KTIJ-22808)
2022-11-30 04:12:27 +00:00
Yan Zhulanow
0e050ae7f1
[FE] Consider derived class tag on caching substitution scopes
2022-11-30 04:12:27 +00:00
Yan Zhulanow
fe69b21aed
[FE] Fix 'containingClassForStaticMemberAttr' for fake overrides (KTIJ-22808)
2022-11-30 04:12:26 +00:00
Nikolay Lunyak
2e9f9f987b
[FIR] KT-44698: Print file:line:offset on K2 crash
...
^KT-44698 Fixed
2022-11-29 22:35:51 +00:00
Ilya Kirillov
bba5b87733
Fix binary compatibility with org.jetbrains.kotlin.descriptors.explicitParameters
2022-11-29 21:52:56 +00:00
Jinseong Jeon
8eccb552a3
Migrate descriptor-related util from IR to FE1.0
...
so that FE1.0 UAST can avoid depending on backend IR
^KTIJ-23602
2022-11-29 21:52:55 +00:00
Svyatoslav Scherbina
972a54788b
Bump Kotlin/Native version to 1.8.20-dev-3138
2022-11-29 21:21:20 +00:00
wrongwrong
2439c22ff6
Improve performance of KCallableImpl.callBy
...
#KT-55178 Fixed
Co-authored-by: Alexander Udalov <alexander.udalov@jetbrains.com >
2022-11-29 22:16:05 +01:00
Vladimir Dolzhenko
f54e7abe1d
Reduce memory footprint
...
#KTIJ-23785
2022-11-29 21:01:43 +00:00
Bogdan Mukvich
99b33747b9
Remove codebase tests from compiler tests gradle task
...
KTI-975
2022-11-29 18:53:15 +00:00
Mikhail Glukhikh
8a74c1956a
Add compiler core team as an alternative owner of JVM bytecode tests
2022-11-29 15:24:18 +00:00
Marco Pennekamp
d4e6a4ad54
[FIR] KT-54978 Prohibit explicit type arguments in property accesses
...
- Add a checker which ensures that property accesses have no explicit
type arguments. If an error on the property access's callee reference
already exists, the new error is not reported in favor of the existing
error, as the property access may have been intended to be a function
call.
- `complicatedLTGT.fir.kt`: The underlying parser issue is not yet
solved, which is why `x` is parsed as a property access with explicit
type arguments.
- `reservedExpressionSyntax` tests: This new check makes a lot of the
access expressions in these tests illegal, so valid lines have been
added and invalid lines appropriately marked with
`EXPLICIT_TYPE_ARGUMENTS_IN_PROPERTY_ACCESS` errors.
^KT-54978 fixed
2022-11-29 14:47:59 +00:00
Yahor Berdnikau
4d20b43619
Set jvm target validation to error only for builds with Gradle 8+
...
^KT54993 Fixed
2022-11-29 14:34:54 +00:00
Yahor Berdnikau
737fdf31f9
Add missing JVM toolchain into :benchmarksAnalyzer:buildSrc
...
It fixes Java and Kotlin targets non-equality.
2022-11-29 14:31:48 +00:00
Yahor Berdnikau
a14d0d148b
Simplify Kotlin bootstrap application in the project
...
Move all the code to apply Kotlin bootstrap into settings script plugin
which does following:
- configures based either on the repo root 'local.properties' or on the
root project gradle properties or on the repo root 'gradle.properties'
current type of bootstrap
- automatically adds Kotlin bootstrap repository with
exclusive content, so bootstrap dependencies will not be by mistake
downloaded from other repository
- automatically forces all Kotlin plugins applied in the build to use
bootstrap version
This script should be applied only in project settings.gradle and then
it does all the configuration by itself.
2022-11-29 14:31:48 +00:00
Igor Chevdar
97b68d111c
[K/N][IR] Replaced lazyMapMember with mapping
2022-11-29 13:34:35 +00:00
Igor Chevdar
6a3229b9ed
[K/N][codegen] Use generationState instead of context wherever possible
2022-11-29 13:34:35 +00:00
Igor Chevdar
87abb7ea3e
[K/N][codegen] Split CAdapterGenerator on two parts
2022-11-29 13:34:34 +00:00
Igor Chevdar
f8b8cbb9f2
[K/N] Moved llvmModuleSpecification from context to generation state
2022-11-29 13:34:34 +00:00
Dmitrii Gridin
945e0d9b3f
[AA] KtPsiBasedSymbolPointer: drop redundant api
...
^KT-54051
2022-11-29 13:33:53 +00:00
Dmitrii Gridin
3b1ec3752d
[SLC] compareSymbolPointers: result of comparison of two 'null' symbols should be 'false'
...
^KT-54051
2022-11-29 13:33:52 +00:00
Dmitrii Gridin
94df0465d6
[SLC] SymbolLightConstructor: drop redundant LightMemberOrigin parameter
...
^KT-54051
2022-11-29 13:33:52 +00:00
Dmitrii Gridin
870fdf51d3
[SLC] add more 'inline' modifiers to symbol utils functions
...
^KT-54051
2022-11-29 13:33:52 +00:00
Dmitrii Gridin
3e73522d3b
[SLC] drop redundant labels for KtAnalysisSession
...
^KT-54051
2022-11-29 13:33:51 +00:00
Dmitrii Gridin
c9d1e2b0a2
[SLC] SymbolLightClassForNamedClassLike: cleanup addMethodsFromCompanionIfNeeded function
...
^KT-54051
2022-11-29 13:33:51 +00:00
Dmitrii Gridin
ef9412e0aa
[SLC] replace lazy with lazyPub
...
^KT-54051
2022-11-29 13:33:51 +00:00
Dmitrii Gridin
815d324a4a
[SLC] rename SymbolLightAnnotationClass to SymbolLightClassForAnnotationClass
...
^KT-54051
2022-11-29 13:33:50 +00:00
Dmitrii Gridin
938c866b23
[SLC] rename SymbolLightAnonymousClass to SymbolLightClassForAnonymousObject
...
^KT-54051
2022-11-29 13:33:50 +00:00
Dmitrii Gridin
ed43dc9530
[SLC] rename SymbolLightInterfaceClass to SymbolLightClassForInterface
...
^KT-54051
2022-11-29 13:33:50 +00:00
Dmitrii Gridin
02fd371c97
[SLC] rename SymbolLightInterfaceOrAnnotationClass to SymbolLightClassForInterfaceOrAnnotationClass
...
^KT-54051
2022-11-29 13:33:49 +00:00
Dmitrii Gridin
911b90f952
[SLC] rename SymbolLightInlineClass to SymbolLightClassForInlineClass
...
^KT-54051
2022-11-29 13:33:49 +00:00
Dmitrii Gridin
609005df8c
[SLC] rename SymbolLightClassForNamedClassOrObject to SymbolLightClassForNamedClassLike
...
^KT-54051
2022-11-29 13:33:49 +00:00
Dmitrii Gridin
dcb59ca615
[SLC] rename SymbolLightClass to SymbolLightClassForClassOrObject
...
^KT-54051
2022-11-29 13:33:48 +00:00
Dmitrii Gridin
e5e4c2eb59
[SLC] rename SymbolLightClassForClassOrObject to SymbolLightClassForClassLike
...
^KT-54051
2022-11-29 13:33:48 +00:00
Dmitrii Gridin
1b185bc263
[SLC] cleanup code
...
^KT-54051
2022-11-29 13:33:48 +00:00
Dmitrii Gridin
207212e5b8
[SLC] support non-psi classes
...
^KT-54051
2022-11-29 13:33:47 +00:00
Dmitrii Gridin
812e0413c2
[SLC] reduce number of lazyPub calls
...
^KT-54051
2022-11-29 13:33:47 +00:00
Dmitrii Gridin
608d1e3431
[SLC] modifiers should be calculated lazily
...
^KTIJ-23280 Fixed
2022-11-29 13:33:47 +00:00
Dmitrii Gridin
90bf4a3a24
[AA FIR] drop redundant analyze from symbol pointers
...
^KT-54051
2022-11-29 13:33:46 +00:00
Dmitrii Gridin
e27ffada26
[AA] KtSymbol: add context receiver to 'createPointer'
...
^KT-54051
2022-11-29 13:33:46 +00:00
Dmitrii Gridin
73372e557e
[SLC] rework analyzeForLightClasses
...
* allow to analyze on EDT
* do not pass KtAlwaysAccessibleLifetimeTokenFactory
^KT-54051
2022-11-29 13:33:46 +00:00