fix: remove @JsExport.Ignore adding to a synthetic companion because the problem of composition with other plugins.
fix: compilation of kotlin-js-ir-stdlib and kotlin-js-stdlib in 1.9.0.
run PER_FILE tests only for ES_MODULES module kind.
[K/N] Fix generics in FunctionReferenceLowering for more edge cases
There were still some cases where the generated function reference class
would contain references to generic parameters that were not in scope.
One example of that was Array<*>::get
. Before this fix the generated
function reference class would still contain a reference to the
type parameter declared in the Array
class.
Also, the logic of generifying the generated function reference class
was incorrect. For example, for function fun <A, B> foo()
if we had
a reference ::foo<T, T>
(where T
comes from the outer scope),
the class would still contain two generic parameter, despite that only
one generic parameter from the outer scope was referenced.
This is also fixed here.
[K/N] Remap type args of SAM interfaces in FunctionReferenceLowering
#KT-56188 Fixed
K2/Native: fix builtIns predicate in fir2ir phase
Old implementation expected that builtIns should be based on a library with no dependencies, usually stdlib. But that doesn't work properly in some cases, e.g. when producing a metadata klib (-Xmetadata-klib) for HMPP. In that case, some of the metadata dependencies can have no depends= in the manifest, leading to the compiler choosing such a module instead of stdlib.
This commit makes it look for a library that is explicitly stdlib instead.
^KT-56071
K2/Native: fix ModuleDescriptor dependencies in fir2ir phase
Previous implementation set Nth ModuleDescriptor dependencies to the first N modules. This is not always correct: for example, when producing a metadata klib (-Xmetadata-klib) for HMPP, metadata dependencies might have inexact or missing depends= in their manifests.
This commit sets ModuleDescriptor dependencies to all other deserialized modules. The same approach is used for K1. That way, the implementation is more reliable.
^KT-56071
[Analysis API] KTIJ-24107 Small cleanup in FirReferenceResolveHelper.kt
[Analysis API] KTIJ-24107 Fix resolution of qualified invoke calls on objects
^KTIJ-24107 Fixed ^KTIJ-24344 Fixed
[Wasm] Revert a7ed496a and few fixes to make Kotlin/Wasm compatible with Firefox
Revert changes as soon as the bug is fixed https://bugzilla.mozilla.org/show_bug.cgi?id=1811932
a7ed496a "[WASM] Use wasm bottom types for Nothing?"
#KT-56166 In-Progress
[Wasm] Update SpiderMonkey version
#KT-56166 In-Progress
[Wasm] Generate .mjs compatible with other standalone js & wasm VMs: SpiderMonkey and JavaScriptCore in addition to V8
#KT-56166 In-Progress
[Wasm] Don't wrap single null
expression into composite in WasmNullCoercingLowering
Otherwise, it breaks check/assert inside DeclarationGenerator::visitField (DeclarationGenerator.kt:458)
#KT-56166 In-Progress
[Wasm] Change externRefToAny
to make it compatible with SpiderMonkey and V8
It's hard to achieve that without implementing part of externRefToAny
using an intrinsic. It should be rewritten when all VMs and tools update to the latest spec.
Also, stop using (deprecated) instructions unsupported by SpiderMonkey.
#KT-56166 In-Progress
[Wasm] Run wasm test using all available VMs: V8 & SpiderMonkey for now
Also, add a new directive, WASM_FAILS_IN
, to specify VMs where a test is expected to fail for now.
#KT-56166 Fixed
[Wasm] SpiderMonkey.kt -> WasmVM.kt
Move kt55912
test into involvesIrInterpreter
dir
[FIR] add missed diagnostics for incomplete code
^KT-55053
Add @JvmDefaultWithCompatibility
to StorageComponentContainerContributor
This doesn't change behavior, but will hopefully fix a binary compatibility issue with some IDEA plugins.
Reflection: fix exceptions on concurrent access to some properties
Using ReflectionProperties.lazy
is incorrect because it allows several
threads to observe different resulting values if they're computing it
simultaneously (unlike lazy(PUBLICATION)
, which always returns the
value that "won the race").
In the case of property delegates, for example, if we're invoking
isAccessible = true
and then getDelegate()
concurrently, it might
happen that when some thread invokes getDelegate()
, it gets the
underlying Field object which was written by another thread and which
has not yet been made accessible, leading to
IllegalPropertyDelegateAccessException.
#KT-27585 Fixed
Minor, improve testNoDelegatedPropertiesInKClassAndKProperties
Also consider delegated properties which are optimized since Kotlin
1.7.20 because of KT-23397, where backend doesn't generate a field
foo$delegate
, but generates a method getFoo$delegate
instead.
FE: Add test for KT-56227 (to confirm it's fixed)
[K2/N] Add klib contents serialization tests from old testinfra
Merge-request: KT-MR-8509 Merged-by: Vladimir Sukharev Vladimir.Sukharev@jetbrains.com
fixate state of work.
add multiplexing implementation for the new getSyntheticCompanionAnnotation method + describe its usage and behaviour in comment
fix build cache tests.
[Gradle, Wasm] Detect correct browser executable depends on OS
[IC] Introduce transactions to be able to revert compiler output changes
#KT-49785 In Progress
[IC] Implement compiler outputs backup logic
#KT-49785 In Progress
[IC] Disable Gradle-side compiler outputs backup unconditionally
#KT-49785 In Progress
[IC] Report messages with CompilerMessageSeverity.OUTPUT without grouping
#KT-49785 In Progress
[IC] Measure time metrics in CompilationTransaction
#KT-49785 In Progress
[IC] Lower logging level inside RecoverableCompilationTransaction
#KT-49785 In Progress
[IC] Add KDoc for compilation transactions
#KT-49785 In Progress
[Gradle, IC] Add gradle property to control precise compilation outputs backup
#KT-49785 In Progress
[IC] Register JS IC header file and lookup counter in transaction
#KT-49785 In Progress
[IC] Support precise output backup for kapt stubs
#KT-49785 In Progress
[IC] Support precise output backup for jvm-abi-gen plugin
#KT-49785 In Progress
[Gradle] Add debug logging into TaskOutputsBackup
[IC] Fix non-existing file removal in CompilationTransaction
#KT-49785 In Progress
[IC] Setup JUnit5 tests for :kotlin-build-common
#KT-49785 In Progress
[IC] Add unit tests for CompilationTransaction
#KT-49785 In Progress
[IC] Add unit tests for TransactionOutputsRegistrar
#KT-49785 In Progress
[Gradle] Add Gradle integration tests with precise compilation outputs backup
#KT-49785 In Progress
[IC] Move marking a transaction as successful up
#KT-49785 In Progress
[Gradle] Convert taskOutputsBackupExcludes into SetProperty
#KT-49785 In Progress
move setting up of path related system properties into doFirst
block
fix runing legacy js maven tests in integration tests.
[SLC] SymbolLightMethod: drop accidentally added isOverride
[Gradle] Let InternalKotlinTarget implement HasMutableExtras
KT-55926
[Gradle] ExternalTargetApiExtensions: Add extension for KotlinCompilation.extras
KT-55926
[Gradle] kgp-idea-proto: Add public API for extras serialisation
KT-55926
[LL FIR] KT-50732 Remove FIR_IDE_IGNORE
from K1 spec tests
FIR_IDE_IGNORE
was already removed from the .fir.kt
counterparts,
but removing the directive from the .kt
files had been forgotten.[LL FIR] KT-50732 Add support for LL FIR-specific tests (.ll.kt
)
.ll.kt
test data can be added in cases where LL FIR resolution
legally diverges from K2 compiler results..ll.kt
test is prefixed with an LL_FIR_DIVERGENCE
directive
which must explain why the test may diverge from K2 compiler results.
LLFirDivergenceCommentChecker
ensures that each .ll.kt
file
contains an LL_FIR_DIVERGENCE
directive.LLFirIdenticalChecker
results in an assertion error if the .ll.kt
test and its base test are completely identical, including in their
meta info (but ignoring LL_FIR_DIVERGENCE
).
.ll.kt
source file have identical Kotlin source code (ignoring
meta info and LL_FIR_DIVERGENCE
). This ensures that both tests
test the exact same thing..ll.kt
files are ignored by select test generators, in addition to
.fir.kt
files.KotlinClassInfo: commit back an accidentally reverted fix of KTIJ-20954
Introduce language version 2.0 and associate K2 compiler with it
Move EnableDfaWarningsInK2 into experimental section until K2/IDE EAP
This commit means that we will not see K2 DFA warnings until we explicitly enable them (probably in 1.9.20 or 2.0). We are going to enable DFA warnings at the moment when K2/IDE is accessible for external users
Handle LV 2.0 in modularized tests
Extract & use GenerationState.metadataVersion helper
BinaryVersion: introduce isCompatibleWithCurrentCompilerVersion
Move LANGUAGE_TO_METADATA_VERSION to compiler:frontend.common.jvm
Deserialization/class reading: pass chosen JvmMetadataVersion whenever possible
Allow to read metadata 2.0 from version 1.8
Fix FIR bootstrap in version 2.0
Enhance API/messages around BinaryVersion / JvmMetadataVersion
Language version 2.0: fix compiler messages and minor details
K2: move -Xuse-k2 VS language version checks to CommonCompilerArguments
Give slightly better names to language/API version variables in FP tests
[K/N] Fix KT-40426
[K/N] Add a trivial test-case for KT-40426
Revert "[FE 1.0] Deprecate declaration of expect and actual in the same module"
This reverts commit b09561c3c3031879865505859b30f3e8e4033c1e.
It was decided to postpone this warning till 1.9 This is needed to provide proper IDE support
^KT-40904 Open ^KT-55177 Open
[K/JS] Add support of compilation with ES-classes
feat: exclude component data-class methods from JsExport.
chore: move the adding of JsExport.Ignore to lowerings + use the same logic for Enum.entries.
fix: overridden symbols problem.
chore: remove unnecessary changes on the frontend side.
Fix file permissions affecting build reproducibility
File permissions affect reproducibility on different platforms and system settings (umask, etc.) KTI-1094
feat: exclude component data-class methods from JsExport.
chore: move the adding of JsExport.Ignore to lowerings + use the same logic for Enum.entries.
fix: overridden symbols problem.
chore: remove unnecessary changes on the frontend side.
kotlin-reflect: split K2/K1 branches in KotlinModuleShadowTransformer
Remove Gradle plugin variants from ':kotlin-gradle-build-metrics'
Code does not use any Gradle API imports and does not use any KGP API classes.
Remove Gradle plugin variants from ':kotlin-gradle-statistics'
Code does not use any Gradle API imports and does not use any KGP API classes.
[Test] Cleanup code of ModuleStructureExtractorImpl.kt
[Test] Prohibit declaring dependency on the same module with different kinds in module structure
[JS Test] Include friend modules in list of all dependencies in compiler configuration
[FIR] Add ability to specify if meta annotation itself should match metaAnnotated predicate
^KT-55843 Fixed
[Test] Add test for KT-55703
[FIR] Don't transform nested classes during class update because of @JvmRecord annotation
^KT-55703 Fixed
[Lombok] Fix substitution of java types in K2 implementation
^KT-54020 Fixed
[FIR] Fix loading of classId for nested enums in java annotation arguments
^KT-55887 Fixed ^KT-55976
[JS IR IC] Use fingerprints from the cache
Optimization: do not read file names and recalculate fingerprints from klib. Read them from the cache if klib is not modified.
[JS IR IC] Do not load deserializers and fingerprints together
Optimization: in some cases we need only deserializers without fingerprints.
[JS IR IC] Do not save metadata to tmp file
Optimization: keep serialized metadata in memory
[JS IR IC] Do not recreate out files
Optimization: FileOutputStream truncates the existing files, therefore no need to delete and create a new file each time.
[JS IR IC] Calculate symbol hashes on demand
Optimization: often we don't need all hashes for all available symbols. This patch allows the calculation of the symbol hash only on demand.
This patch also allows cycles for the inline function dependency graph in the IC infrastructure. Note that the inline function cycles may crash the inliner, however it is not the IC infrastructure responsibility to check the cycles.
[JS IR IC] Use fingerprints form klib && use 128 bytes hash
Optimization: instead of calculating fingerprints manually each time the patch allows using precalculated fingerprints from the klib.
Optimization: share one md5 digest for all IC infrastructure.
[JS IR IC] Do not read non modified JS into memory
Optimizaion: instead of reading all non modified JS files from the cache into the memory at once, the patch allows copying non-modified JS files from disk one by one during the compilation output writing routine.
[JS IR IC] Write only modified JS files
Optimization: the patch allows copying and overwriting only modified JS files during the compilation output writing routine.
[JS IR IC] Remove JS files of the deleted modules from the out directory
[JS IR IC] Use fingerprints from the cache
Optimization: do not read file names and recalculate fingerprints from klib. Read them from the cache if klib is not modified.
[JS IR IC] Do not load deserializers and fingerprints together
Optimization: in some cases we need only deserializers without fingerprints.
[JS IR IC] Do not save metadata to tmp file
Optimization: keep serialized metadata in memory
[JS IR IC] Do not recreate out files
Optimization: FileOutputStream truncates the existing files, therefore no need to delete and create a new file each time.
[JS IR IC] Calculate symbol hashes on demand
Optimization: often we don't need all hashes for all available symbols. This patch allows the calculation of the symbol hash only on demand.
This patch also allows cycles for the inline function dependency graph in the IC infrastructure. Note that the inline function cycles may crash the inliner, however it is not the IC infrastructure responsibility to check the cycles.
[JS IR IC] Use fingerprints form klib && use 128 bytes hash
Optimization: instead of calculating fingerprints manually each time the patch allows using precalculated fingerprints from the klib.
Optimization: share one md5 digest for all IC infrastructure.
[JS IR IC] Do not read non modified JS into memory
Optimizaion: instead of reading all non modified JS files from the cache into the memory at once, the patch allows copying non-modified JS files from disk one by one during the compilation output writing routine.
[JS IR IC] Write only modified JS files
Optimization: the patch allows copying and overwriting only modified JS files during the compilation output writing routine.
[JS IR IC] Remove JS files of the deleted modules from the out directory
[JS IR IC] Check the unbound symbols in the IC infrastructure
test: add test run for ES6 classes.
fix: most of ES classes tests.
fix: accept class methods.
fix: renaming with es mode.
chore: add es6 pipeline run.
fix: JsExport, externals declarations + companion object initialization order.
chore: implement a new way to support secondary constructors in ES classes.
chore: fixate state of the work.
chore: fixate state of the work.
chore: cleanup solution.
[FIR] Support typealiases in FirTypeAnnotationChecker
directExpansionType
is needed here for cases like
typealias S = @S Suppress
. Otherwise, fullyExpandedType
would cache the same typealias
[FIR] Support typealiases in FirAssignAnnotationMatchingService
[FIR] FirSerializationPluginClassChecker
This change affects nothing, because @Serializable is checked during COMPILER_REQUIRED_ANNOTATIONS when typealiases are not yet resolved, but in case we change something in the Future and want to support it, we'd have one less problem
[FIR] Remove FirAnnotation.classId from FirParcelize
The same reasoning as with the serialization. If we decide to support it, we wouldn't need to think about unexpanded types.
[FIR] Rename FirAnnotation.classId to unexpandedClassId
This makes the eye catch each such thing in the source. OptIn isn't that catchy, plus it may be declared for the whole file, so noticing may be harder
[FIR] Rename FirAnnotation.coneClassLikeType to unexpanded
The same reason
[FIR] Warn about unexpanded in extractDeprecationAnnotationInfoPerUseSite
This code may be called during status resolution, but
it can also be called during COMPILER_REQUIRED_ANNOTATIONS
.
In the latter case we can't expand typealiases.
If we do try to expand typealiases if we can, and leave them unexpanded otherwise, then we still may have a problem. Consider the FirBlackBoxCodegenTestGenerated.Reflection.Annotations.Repeatable .testKotlinAnnotation test. In this test we get the following cycle:
import kotlin.annotation.AnnotationTarget.* // <- requires TYPEALIAS
@SinceKotlin("1.1") // <- requires String
AnnotationTarget.TYPEALIAS
@IntrinsicConstEvaluation // <- fully expanding this requires
fun String.compareTo() // building it
@Target(AnnotationTarget.CONSTRUCTOR) // <- requires
annotation class IntrinsicConstEvaluation // AnnotationTarget
// in general
// The cycle repeats
Or in words if the picture isn't clear:
import kotlin.annotation.AnnotationTarget.*
kotlin/annotation/AnnotationTarget
TYPEALIAS
field@SinceKotlin("1.1")
kotlin/String
for "1.1"
String.compareTo
kotlin/internal/IntrinsicConstEvaluation
At this moment the
extractDeprecationAnnotationInfoPerUseSite
function is called, and ideally we'd want to fullyExpandIntrinsicConstEvaluation
toAnnotationClassId
for it, we find and deserialize
IntrinsicConstEvaluation
IntrinsicConstEvaluation
has @Target
AnnotationTarget
again.
But This time loading @SinceKotlin("1.1")
succeeds,
because when loading kotlin/String
we first create the symbol, then
cache it, then call postCompute
.
It does not happen with AnnotationTarget
, because it calls
findAndDeserializeClass
during createValue
,
not postCompute
.AnnotationClass
-es, and they fail in fir2ir
with "symbol is already bound"We can't move findAndDeserializeClass
into postCompute
, because
during this process when we try to access the
already created and cached symbol for AnnotationTarget
(with yet empty fir) we are trying to build the declared member scope
by this symbol.fir
.
[FIR] Support typealiases in FirJsAbstractNativeAnnotationChecker
[FIR] Support typealiases in FirJsRuntimeAnnotationChecker
[FIR] Support typealiases to java Repeatable
[FIR] Remove annotations.find {}
from FirJvmRedundantRepeatableChecker
[FIR] Expand typealiases in FirNativeObjC checkers
[FIR] Get rid of FirAnnotation.fullyExpandedClassId
It's duplicated by toAnnotationClassId
.
[FIR] Remove annotations.any
from FirParcelizeAnnotationChecker
[JS, Wasm] Don't generate unused constructors for interfaces
Reproducible build should not run as root inside docker
[FE 1.0] Deprecate declaration of expect and actual in the same module
^KT-40904 Fixed ^KT-55177 Fixed
[K2] Report CONCURRENT_HASH_MAP_CONTAINS_OPERATOR_ERROR for class hierarchies
Previously it wasn't reported in FIR for ConcurrentHashMap inheritors because the receiver id hasn't matched CHM.contains id Fixed by unwrapping origin of the call in case of fake overrides
^KT-55606 fixed
KAPT: Fix an ISE when processing unresolved generic types
Error types that are generic could sometimes throw an ISE when generating the stub.
This fixes KT-43786
[AA] don't treat broken code as function type parameter
inspired by KTIJ-23940
K2 resolve: prefer derived class property to base class field
#KT-50082 Fixed
K1: add use-site diagnostic about property shadowing by a field
Related to KT-50082
K2: add checker detecting protected Java field shadowed by a property
FE: add & fix test with intersection property shadowed by base field
FIR2IR: drop unused approximator in CallAndReferenceGenerator
FIR2IR: drop hacky computeFieldSymbolForCallableReference
FIR checkers: reuse CheckerContext.containingFile & isTopLevel
Bump json5 from 2.2.1 to 2.2.3 in /libraries/kotlin.test/js/it
Bumps json5 from 2.2.1 to 2.2.3.
updated-dependencies:
Signed-off-by: dependabot[bot] support@github.com
Bump json5 from 2.2.1 to 2.2.3 in /libraries/kotlin.test/js-ir/it
Bumps json5 from 2.2.1 to 2.2.3.
updated-dependencies:
Signed-off-by: dependabot[bot] support@github.com
New kotlinx-metadata-jvm release
Update changelog for kotlinx-metadata-jvm 0.6.0, add migration guide, and actualize ReadMe.md
Document releasing process
Co-authored-by: Alexander Udalov Alexander.Udalov@jetbrains.com
Merge-request: KT-MR-8206 Merged-by: Leonid Startsev leonid.startsev@jetbrains.com
[Analysis API FE1.0] rename KtFe10Type.type -> KtFe10Type.fe10Type to disambiguatly ignore in testdata renderings
[Analysis API] add tests for checking KtType internals
[Analysis API] fix IndexOutOfRangeException
Previously, the KtFirUsualClassType.qualifiers
was empty for the local classes
The reason was a RawFirBuilder setting up a containingClassForLocalAttr to the outer non-local class for the local class. It should be a null instead, see the localClassType.kt as an example
^KT-55510 fixed
Mark all internal configuration as resolvable and non-consumable
^KT-55632 Fixed
Add test for KT-54742
FIR: rewrite lambda return type inference
return
should only be added to the last statement if the return
type is not Unit
If there is a return
without an argument, then the expected return
type is Unit and the last expression is not a return argument (unless
it's an incomplete call, in which case it is inferred to return Unit;
this behavior is questionable, but inherited from K1)
There should be a constraint on return arguments even if the expected type is Unit, otherwise errors will be missed
When the expected type is known, using the call completion results writer is pointless (and probably subtly wrong).
^KT-54742 Fixed
FIR: assume a lambda returns Unit if it ends with a non-expression
While it is theoretically useful to know that { while(true) {} }
returns Nothing, CFG node deadness is not precise enough to do that: if
the entire lambda is dead, it's no longer possible to find out whether
the loop is terminating. Besides, while (true)
and if (true)
are
pretty much the only constructs like that anyway.
Note that this commit does not affect resolution for lambdas that end in
a Nothing-returning expression, e.g. throw
.
FIR: use expected type for lambda return statements if possible
Minor: remove some duplicate test data
Apparently if you add an empty line at the start of the FIR file, that's not enough of a difference for the test suite to complain about, but enough for it to not add the FIR_IDENTICAL directive...
FIR: don't add T <: Unit constraints that will only remove errors
^KT-55693 Fixed
Add @SinceKotlin and KDoc for ContextFunctionTypeParams
Initially, it was added accidentally as part of e3f987459ce7c106de92ca33ec0482fc1be07c5d and missed all out processes.
Adding @SinceKotlin("1.7") after the annotation has already been
published before is not really a problem, because it only may be used
with an experimental -Xcontext-receivers
flag, thus it doesn't have
to be a part of our regular backward compatibility routine.
^KT-55226 Fixed
KAPT: Skip importing java.lang.System in the stubs
This fixes KT-43117
[FIR] Allow FirElementSerializer.packagePartProto accept multiple files
This is needed for cases when there are multiple files with same name
and @JvmMultifileClass
annotation
[FIR] Resolve arguments of error types during type resolution
[FIR] Remove redundant lookupTag from AbstractConeSubstitutor.substituteArgument
[FIR] Properly substitute arguments of error types
[AA LC] Add test for strange JVM identifiers
[AA LC] Add workaround for jvmDefaults compatibility
[AA LC] Approximate anonymous type to single supertype if possible
^KT-55780 Fixed ^KT-55778 Fixed
[AA LC] Create proper Psi types for types with errors inside
[AA LC] Keep original qualifier while translating error cone types to Psi types
[AA LC] Map unresolved types according to aliased imports
[AA LC] Expand aliases of type arguments during conversion to KtType
^KT-55781
[AA LC] Save unresolved qualifier name in arguments of annotations
[AA LC] Add test for modifiers of delegate fields
[AA] Unwrap type aliases in annotation arguments
^KT-55782 Fixed
[AA LC] Don't create light methods if value class is present in signature
^KT-55788
Test parameter_jvmInline.kt
is removed because now members with value
classes are not included in light classes and don't have PSI representation
[FIR] Change API for generating nested classes from plugins
FirDeclarationGenerationExtension.generateClassLikeDeclaration
was split
into two functions: one for generating top level classes, and one for
nested classes. Such change reduces verbosity and error-proness of
this extension and also allows to smoothly run plugins on local classes
^KT-55248 Fixed
[FIR] Introduce builders API for generating declarations in compiler plugins
^KT-53096 Fixed
[FIR] Add ability to create accessor to declaration attribute on symbol
test: add new useEsClasses property to kotlin-gradle-plugin-api test.
chore: regenerate tests + ignore ignored by JS_IR tests also for JS_IR_ES6
[LL FIR] do not create project module under non-cancelable section
It seems to be safe as we modify the caches atomically by updating LLFirSessionsCache.mappings. So, PCE during project structure creation, should not break the caches
^KTIJ-24012 fixed
[LL FIR] add checkCanceled check to the LLFirSessionFactory.createSourcesSession
^KTIJ-24012
[AA] allow navigation from '==' to the equals
method of lhs
Bump max AGP version in tests to 7.4.0
[K/N, CLI] Pass through errors from Gradle to Xcode
^KT-55650
Merge-request: KT-MR-8245 Merged-by: Artem Daugel-Dauge Artem.Daugel-Dauge@jetbrains.com
[FIR] fix resolve contract violation from scopes
We cannot call lazy resolve to STATUS phase from scopes as scopes may be accessed on a STATUS phase or earlier
^KT-54890 ^KTIJ-23587 fixed
[FIR] fix resolve contract violation from FirTypeParameter.eraseToUpperBound
^KT-54890
[FIR] fix resolve contract violation from ConeTypeContext.getValueClassProperties
^KT-54890
[AA] Add expectForActual
#KT-54864
Merge-request: KT-MR-8222 Merged-by: Vladimir Dolzhenko Vladimir.Dolzhenko@jetbrains.com
[Wasm] Use ModuleKind.ES
As the only JS-interop module kind Wasm supports
[Wasm] Test infra: support _commonFiles and additional .mjs
Use custom evalToBoolean
as eval
and unsafeCast
are not
available in Wasm stdlib
[Wasm] Don't try to lazy-initialize properties with 'definedExternally'
NFC for K/JS since externals live in a separate place
[Wasm] Support JsModule and JsQualifier
fix compilation after merge
[LL FIR] do not rethrow exceptions from caches
Previously, the exceptions from ValueWithPostCompute was saved in cache and rethrown. This was needed to avoid multiple heavy calculation which will be still uncecessfull. Currently we do not have much of such exceptions and such thing may break perf test by throwing exceptions from old test invocation
K2: fix fake override IR serialization for subclasses of Obj-C classes
K2: fix signature computation for Objective-C constructors
minor: bump k-x-serialization version in a main-kts test
Scripting: support compiler plugins in hosted script compiler
Now the plugin-related compiler arguments are respected then used in the compiler configuration (only in the static part, not supported if set in a refinement callback) Note that the "embeddable" version of the plugin should be used if embeddable compiler is used. #KT-54095 fixed
Scripting: update version of maven resolver dependencies
chore: remove unnecessary changes on the frontend side.
fix: NewMultiplatformIT tests.
chore: exclude tests also from FirJs and BoxJs tests.
chore: exclude tests in the generation build.gradle instaed of a lot of TARGET_BACKENDS directive.
chore: add GradleOption annotation to -Xes-classes compiler argument.
chore: generate gradle options + add description to new test directives.
fix: add gradle.properties with hidden system property flag to enable th deprecated legacy JS compilerjust for tests.