JSMonk
Repos
23
Followers
314
Following
21

Events

create branch
JSMonk create branch rr/kobzar/KT-53180
Created at 41 minutes ago

fix: remove @JsExport.Ignore adding to a synthetic companion because the problem of composition with other plugins.

Created at 1 hour ago

fix: compilation of kotlin-js-ir-stdlib and kotlin-js-stdlib in 1.9.0.

Created at 1 hour ago

run PER_FILE tests only for ES_MODULES module kind.

Created at 16 hours ago

[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

Created at 16 hours ago

fixate state of work.

Created at 17 hours ago
create branch
JSMonk create branch rr/kobzar/per-file-compilation
Created at 1 day ago
create branch
JSMonk create branch rr/kobzar/js-per-file-compilation
Created at 5 days ago

add multiplexing implementation for the new getSyntheticCompanionAnnotation method + describe its usage and behaviour in comment

Created at 6 days ago
create branch
JSMonk create branch rr/kobzar/es6-separated-configuration
Created at 6 days ago

fix build cache tests.

Created at 1 week ago

[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

Created at 1 week ago

move setting up of path related system properties into doFirst block

Created at 1 week ago

fix runing legacy js maven tests in integration tests.

Created at 1 week ago

[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.
  • Each .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).
    • The checker additionally ensures that the base source file and the .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

Created at 2 weeks ago

[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.

Created at 2 weeks ago

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.

Created at 2 weeks ago

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

Created at 2 weeks ago

[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.

Created at 2 weeks ago

[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:

  • Transform import kotlin.annotation.AnnotationTarget.*
  • Find and deserialize class kotlin/annotation/AnnotationTarget
  • Load the TYPEALIAS field
  • Load its annotation @SinceKotlin("1.1")
  • Find and deserialize kotlin/String for "1.1"
  • Load String.compareTo
  • Load its annotation kotlin/internal/IntrinsicConstEvaluation

At this moment the extractDeprecationAnnotationInfoPerUseSite function is called, and ideally we'd want to fullyExpand IntrinsicConstEvaluation

  • While calling toAnnotationClassId for it, we find and deserialize IntrinsicConstEvaluation
  • IntrinsicConstEvaluation has @Target
  • At this moment we find and deserialize 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.
  • Thus, we have duplicate 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

Created at 2 weeks ago

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:

  • dependency-name: json5 dependency-type: indirect ...

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:

  • dependency-name: json5 dependency-type: indirect ...

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

Created at 2 weeks ago

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

Created at 2 weeks ago

test: add new useEsClasses property to kotlin-gradle-plugin-api test.

Created at 2 weeks ago

chore: regenerate tests + ignore ignored by JS_IR tests also for JS_IR_ES6

Created at 2 weeks ago

[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

Created at 2 weeks ago

chore: remove unnecessary changes on the frontend side.

Created at 2 weeks ago

fix: NewMultiplatformIT tests.

Created at 2 weeks ago

chore: exclude tests also from FirJs and BoxJs tests.

Created at 2 weeks ago

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.

Created at 2 weeks ago

fix: add gradle.properties with hidden system property flag to enable th deprecated legacy JS compilerjust for tests.

Created at 2 weeks ago