diff --git a/CHANGELOG.md b/CHANGELOG.md index ca253fd..4b26eb4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,10 +8,12 @@ ### Deprecated -### Removed - ### Fixed +### Removed + ### Updated +- `com.javiersc.hubdle:hubdle-version-catalog -> 0.2.5+2.0.0-dev-18803-SNAPSHOT` +- `com.javiersc.hubdle:com.javiersc.hubdle.gradle.plugin -> 0.6.4+2.0.0-dev-18803-SNAPSHOT` - `gradle -> 8.5` diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 9e22514..8a7a125 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,7 +1,7 @@ [versions] -hubdle = "0.6.4+2.0.0-dev-17175-SNAPSHOT" -hubdleCatalog = "0.2.5+2.0.0-dev-17175-SNAPSHOT" -javiersc-kotlin-compiler-extensions = "0.1.1+2.0.0-dev-17175-SNAPSHOT" +hubdle = "0.6.4+2.0.0-dev-18803-SNAPSHOT" +hubdleCatalog = "0.2.5+2.0.0-dev-18803-SNAPSHOT" +javiersc-kotlin-compiler-extensions = "0.1.1+2.0.0-dev-18803-SNAPSHOT" javiersc-kotlin = "0.1.0-SNAPSHOT" [libraries] diff --git a/kopy-compiler/build.gradle.kts b/kopy-compiler/build.gradle.kts index fc19be9..348ea00 100644 --- a/kopy-compiler/build.gradle.kts +++ b/kopy-compiler/build.gradle.kts @@ -31,7 +31,6 @@ hubdle { testProjects(projects.kopyRuntime) } contextReceivers() - serialization() } main { // dependencies { // diff --git a/kopy-compiler/main/kotlin/com/javiersc/kotlin/kopy/compiler/fir/checker/checkers/FirKopyExpressionCheckers.kt b/kopy-compiler/main/kotlin/com/javiersc/kotlin/kopy/compiler/fir/checker/checkers/FirKopyExpressionCheckers.kt index ce1fcfc..a4969a7 100644 --- a/kopy-compiler/main/kotlin/com/javiersc/kotlin/kopy/compiler/fir/checker/checkers/FirKopyExpressionCheckers.kt +++ b/kopy-compiler/main/kotlin/com/javiersc/kotlin/kopy/compiler/fir/checker/checkers/FirKopyExpressionCheckers.kt @@ -2,14 +2,14 @@ package com.javiersc.kotlin.kopy.compiler.fir.checker.checkers import com.javiersc.kotlin.compiler.extensions.common.classId import com.javiersc.kotlin.compiler.extensions.fir.asFirOrNull -import com.javiersc.kotlin.kopy.KopyFunctionInvoke import com.javiersc.kotlin.kopy.KopyFunctionCopy +import com.javiersc.kotlin.kopy.KopyFunctionInvoke import com.javiersc.kotlin.kopy.KopyFunctionSet import com.javiersc.kotlin.kopy.KopyFunctionUpdate +import com.javiersc.kotlin.kopy.compiler.fir.checker.FirKopyError import com.javiersc.kotlin.kopy.compiler.fir.checker.checkers.BreakingCallsChecker.CheckerResult.Failure import com.javiersc.kotlin.kopy.compiler.fir.checker.checkers.BreakingCallsChecker.CheckerResult.Ignore import com.javiersc.kotlin.kopy.compiler.fir.checker.checkers.BreakingCallsChecker.CheckerResult.Success -import com.javiersc.kotlin.kopy.compiler.fir.checker.FirKopyError import org.jetbrains.kotlin.KtSourceElement import org.jetbrains.kotlin.diagnostics.DiagnosticReporter import org.jetbrains.kotlin.diagnostics.SourceElementPositioningStrategies @@ -20,7 +20,6 @@ import org.jetbrains.kotlin.fir.analysis.checkers.MppCheckerKind import org.jetbrains.kotlin.fir.analysis.checkers.context.CheckerContext import org.jetbrains.kotlin.fir.analysis.checkers.expression.ExpressionCheckers import org.jetbrains.kotlin.fir.analysis.checkers.expression.FirCallChecker -import org.jetbrains.kotlin.fir.declarations.FirAnonymousFunction import org.jetbrains.kotlin.fir.declarations.FirDeclaration import org.jetbrains.kotlin.fir.declarations.hasAnnotation import org.jetbrains.kotlin.fir.declarations.utils.isData @@ -28,7 +27,6 @@ import org.jetbrains.kotlin.fir.expressions.FirAnonymousFunctionExpression import org.jetbrains.kotlin.fir.expressions.FirCall import org.jetbrains.kotlin.fir.expressions.FirExpression import org.jetbrains.kotlin.fir.expressions.FirFunctionCall -import org.jetbrains.kotlin.fir.expressions.FirLambdaArgumentExpression import org.jetbrains.kotlin.fir.expressions.FirPropertyAccessExpression import org.jetbrains.kotlin.fir.expressions.FirResolvable import org.jetbrains.kotlin.fir.expressions.FirThisReceiverExpression @@ -153,18 +151,10 @@ private object BreakingCallsChecker : FirCallChecker(MppCheckerKind.Common) { if (isKopyInvoke || isKopyCopy) arguments else null } .flatMap { arguments -> - val args: Sequence = arguments.asSequence() - val copyArgs: Sequence = - args - .filterIsInstance() - .map(FirAnonymousFunctionExpression::anonymousFunction) - val invokeArgs: Sequence = - args - .filterIsInstance() - .map(FirLambdaArgumentExpression::expression) - .filterIsInstance() - .map(FirAnonymousFunctionExpression::anonymousFunction) - copyArgs + invokeArgs + arguments + .asSequence() + .filterIsInstance() + .map(FirAnonymousFunctionExpression::anonymousFunction) } .any { it == setOrUpdateCallLambdaAnonymousFunction } diff --git a/kopy-compiler/test-data/box/edge/simple-1.fir.ir.txt b/kopy-compiler/test-data/box/edge/simple-1.fir.ir.txt index d11209e..2c57d80 100644 --- a/kopy-compiler/test-data/box/edge/simple-1.fir.ir.txt +++ b/kopy-compiler/test-data/box/edge/simple-1.fir.ir.txt @@ -131,6 +131,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/simple-1.kt FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.House, other:kotlin.Any?) returnType:kotlin.Boolean [operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in com.javiersc.kotlin.kopy.runtime.Kopyable $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.House VALUE_PARAMETER name:other index:0 type:kotlin.Any? BLOCK_BODY @@ -175,6 +176,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/simple-1.kt FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.House) returnType:kotlin.Int overridden: public open fun hashCode (): kotlin.Int declared in kotlin.Any + public open fun hashCode (): kotlin.Int declared in com.javiersc.kotlin.kopy.runtime.Kopyable $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.House BLOCK_BODY VAR name:result type:kotlin.Int [var] @@ -194,6 +196,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/simple-1.kt FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.House) returnType:kotlin.String overridden: public open fun toString (): kotlin.String declared in kotlin.Any + public open fun toString (): kotlin.String declared in com.javiersc.kotlin.kopy.runtime.Kopyable $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.House BLOCK_BODY RETURN type=kotlin.Nothing from='public open fun toString (): kotlin.String declared in com.javiersc.kotlin.kopy.playground.House' @@ -339,6 +342,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/simple-1.kt FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.Pet, other:kotlin.Any?) returnType:kotlin.Boolean [operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in com.javiersc.kotlin.kopy.runtime.Kopyable $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Pet VALUE_PARAMETER name:other index:0 type:kotlin.Any? BLOCK_BODY @@ -383,6 +387,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/simple-1.kt FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.Pet) returnType:kotlin.Int overridden: public open fun hashCode (): kotlin.Int declared in kotlin.Any + public open fun hashCode (): kotlin.Int declared in com.javiersc.kotlin.kopy.runtime.Kopyable $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Pet BLOCK_BODY VAR name:result type:kotlin.Int [var] @@ -402,6 +407,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/simple-1.kt FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.Pet) returnType:kotlin.String overridden: public open fun toString (): kotlin.String declared in kotlin.Any + public open fun toString (): kotlin.String declared in com.javiersc.kotlin.kopy.runtime.Kopyable $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Pet BLOCK_BODY RETURN type=kotlin.Nothing from='public open fun toString (): kotlin.String declared in com.javiersc.kotlin.kopy.playground.Pet' diff --git a/kopy-compiler/test-data/box/edge/simple-1.fir.txt b/kopy-compiler/test-data/box/edge/simple-1.fir.txt index 73d925c..419c529 100644 --- a/kopy-compiler/test-data/box/edge/simple-1.fir.txt +++ b/kopy-compiler/test-data/box/edge/simple-1.fir.txt @@ -2,9 +2,9 @@ FILE: simple-1.kt package com.javiersc.kotlin.kopy.playground public final fun box(): R|kotlin/String| { - lval roni: R|com/javiersc/kotlin/kopy/playground/Pet| = R|com/javiersc/kotlin/kopy/playground/Pet.Pet|(name = String(Roni), age = Int(7)) - lval house: R|com/javiersc/kotlin/kopy/playground/House| = R|com/javiersc/kotlin/kopy/playground/House.House|(street = String(House), pet = R|/roni|) - lval house1: R|com/javiersc/kotlin/kopy/playground/House| = R|/house|.R|com/javiersc/kotlin/kopy/playground/House.copy|(pet = R|/house|.R|com/javiersc/kotlin/kopy/playground/House.pet|.R|com/javiersc/kotlin/kopy/playground/Pet.copy|(name = String(Roni 2))) + lval roni: R|com/javiersc/kotlin/kopy/playground/Pet| = R|com/javiersc/kotlin/kopy/playground/Pet.Pet|(String(Roni), Int(7)) + lval house: R|com/javiersc/kotlin/kopy/playground/House| = R|com/javiersc/kotlin/kopy/playground/House.House|(String(House), R|/roni|) + lval house1: R|com/javiersc/kotlin/kopy/playground/House| = R|/house|.R|com/javiersc/kotlin/kopy/playground/House.copy|(R|/house|.R|com/javiersc/kotlin/kopy/playground/House.pet|.R|com/javiersc/kotlin/kopy/playground/Pet.copy|(String(Roni 2))) lval house2: R|com/javiersc/kotlin/kopy/playground/House| = R|/house|.R|SubstitutionOverride|(copy@fun R|com/javiersc/kotlin/kopy/playground/House|.(): R|kotlin/Unit| { (this@R|special/anonymous|, this@R|special/anonymous|.R|com/javiersc/kotlin/kopy/playground/House.pet|.R|com/javiersc/kotlin/kopy/playground/Pet.name|).R|SubstitutionOverride|(String(Roni 2)) } diff --git a/kopy-compiler/test-data/box/nest-copy-set.fir.ir.txt b/kopy-compiler/test-data/box/nest-copy-set.fir.ir.txt index c1ea3f5..13c6fde 100644 --- a/kopy-compiler/test-data/box/nest-copy-set.fir.ir.txt +++ b/kopy-compiler/test-data/box/nest-copy-set.fir.ir.txt @@ -131,6 +131,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/nest-copy-set.kt FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.Bar, other:kotlin.Any?) returnType:kotlin.Boolean [operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in com.javiersc.kotlin.kopy.runtime.Kopyable $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Bar VALUE_PARAMETER name:other index:0 type:kotlin.Any? BLOCK_BODY @@ -175,6 +176,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/nest-copy-set.kt FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.Bar) returnType:kotlin.Int overridden: public open fun hashCode (): kotlin.Int declared in kotlin.Any + public open fun hashCode (): kotlin.Int declared in com.javiersc.kotlin.kopy.runtime.Kopyable $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Bar BLOCK_BODY VAR name:result type:kotlin.Int [var] @@ -194,6 +196,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/nest-copy-set.kt FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.Bar) returnType:kotlin.String overridden: public open fun toString (): kotlin.String declared in kotlin.Any + public open fun toString (): kotlin.String declared in com.javiersc.kotlin.kopy.runtime.Kopyable $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Bar BLOCK_BODY RETURN type=kotlin.Nothing from='public open fun toString (): kotlin.String declared in com.javiersc.kotlin.kopy.playground.Bar' @@ -339,6 +342,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/nest-copy-set.kt FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.Baz, other:kotlin.Any?) returnType:kotlin.Boolean [operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in com.javiersc.kotlin.kopy.runtime.Kopyable $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Baz VALUE_PARAMETER name:other index:0 type:kotlin.Any? BLOCK_BODY @@ -383,6 +387,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/nest-copy-set.kt FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.Baz) returnType:kotlin.Int overridden: public open fun hashCode (): kotlin.Int declared in kotlin.Any + public open fun hashCode (): kotlin.Int declared in com.javiersc.kotlin.kopy.runtime.Kopyable $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Baz BLOCK_BODY VAR name:result type:kotlin.Int [var] @@ -402,6 +407,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/nest-copy-set.kt FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.Baz) returnType:kotlin.String overridden: public open fun toString (): kotlin.String declared in kotlin.Any + public open fun toString (): kotlin.String declared in com.javiersc.kotlin.kopy.runtime.Kopyable $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Baz BLOCK_BODY RETURN type=kotlin.Nothing from='public open fun toString (): kotlin.String declared in com.javiersc.kotlin.kopy.playground.Baz' @@ -547,6 +553,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/nest-copy-set.kt FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.Foo, other:kotlin.Any?) returnType:kotlin.Boolean [operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in com.javiersc.kotlin.kopy.runtime.Kopyable $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Foo VALUE_PARAMETER name:other index:0 type:kotlin.Any? BLOCK_BODY @@ -591,6 +598,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/nest-copy-set.kt FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.Foo) returnType:kotlin.Int overridden: public open fun hashCode (): kotlin.Int declared in kotlin.Any + public open fun hashCode (): kotlin.Int declared in com.javiersc.kotlin.kopy.runtime.Kopyable $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Foo BLOCK_BODY VAR name:result type:kotlin.Int [var] @@ -610,6 +618,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/nest-copy-set.kt FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.Foo) returnType:kotlin.String overridden: public open fun toString (): kotlin.String declared in kotlin.Any + public open fun toString (): kotlin.String declared in com.javiersc.kotlin.kopy.runtime.Kopyable $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Foo BLOCK_BODY RETURN type=kotlin.Nothing from='public open fun toString (): kotlin.String declared in com.javiersc.kotlin.kopy.playground.Foo' @@ -732,6 +741,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/nest-copy-set.kt FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.Qux, other:kotlin.Any?) returnType:kotlin.Boolean [operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in com.javiersc.kotlin.kopy.runtime.Kopyable $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Qux VALUE_PARAMETER name:other index:0 type:kotlin.Any? BLOCK_BODY @@ -766,6 +776,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/nest-copy-set.kt FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.Qux) returnType:kotlin.Int overridden: public open fun hashCode (): kotlin.Int declared in kotlin.Any + public open fun hashCode (): kotlin.Int declared in com.javiersc.kotlin.kopy.runtime.Kopyable $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Qux BLOCK_BODY RETURN type=kotlin.Nothing from='public open fun hashCode (): kotlin.Int declared in com.javiersc.kotlin.kopy.playground.Qux' @@ -775,6 +786,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/nest-copy-set.kt FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.Qux) returnType:kotlin.String overridden: public open fun toString (): kotlin.String declared in kotlin.Any + public open fun toString (): kotlin.String declared in com.javiersc.kotlin.kopy.runtime.Kopyable $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Qux BLOCK_BODY RETURN type=kotlin.Nothing from='public open fun toString (): kotlin.String declared in com.javiersc.kotlin.kopy.playground.Qux' diff --git a/kopy-compiler/test-data/box/nest-copy-set.fir.txt b/kopy-compiler/test-data/box/nest-copy-set.fir.txt index 1dd03d3..b7819c0 100644 --- a/kopy-compiler/test-data/box/nest-copy-set.fir.txt +++ b/kopy-compiler/test-data/box/nest-copy-set.fir.txt @@ -2,10 +2,10 @@ FILE: nest-copy-set.kt package com.javiersc.kotlin.kopy.playground public final fun box(): R|kotlin/String| { - lval qux0: R|com/javiersc/kotlin/kopy/playground/Qux| = R|com/javiersc/kotlin/kopy/playground/Qux.Qux|(number = Int(7)) - lval baz0: R|com/javiersc/kotlin/kopy/playground/Baz| = R|com/javiersc/kotlin/kopy/playground/Baz.Baz|(qux = R|/qux0|, text = String(Random)) - lval bar0: R|com/javiersc/kotlin/kopy/playground/Bar| = R|com/javiersc/kotlin/kopy/playground/Bar.Bar|(baz = R|/baz0|, isValid = Boolean(true)) - lval foo0: R|com/javiersc/kotlin/kopy/playground/Foo| = R|com/javiersc/kotlin/kopy/playground/Foo.Foo|(bar = R|/bar0|, letter = Char(W)) + lval qux0: R|com/javiersc/kotlin/kopy/playground/Qux| = R|com/javiersc/kotlin/kopy/playground/Qux.Qux|(Int(7)) + lval baz0: R|com/javiersc/kotlin/kopy/playground/Baz| = R|com/javiersc/kotlin/kopy/playground/Baz.Baz|(R|/qux0|, String(Random)) + lval bar0: R|com/javiersc/kotlin/kopy/playground/Bar| = R|com/javiersc/kotlin/kopy/playground/Bar.Bar|(R|/baz0|, Boolean(true)) + lval foo0: R|com/javiersc/kotlin/kopy/playground/Foo| = R|com/javiersc/kotlin/kopy/playground/Foo.Foo|(R|/bar0|, Char(W)) lval foo21: R|com/javiersc/kotlin/kopy/playground/Foo| = R|/foo0|.R|SubstitutionOverride|(copy@fun R|com/javiersc/kotlin/kopy/playground/Foo|.(): R|kotlin/Unit| { (this@R|special/anonymous|, this@R|special/anonymous|.R|com/javiersc/kotlin/kopy/playground/Foo.bar|.R|com/javiersc/kotlin/kopy/playground/Bar.baz|.R|com/javiersc/kotlin/kopy/playground/Baz.qux|.R|com/javiersc/kotlin/kopy/playground/Qux.number|).R|SubstitutionOverride|(Int(42)) } diff --git a/kopy-compiler/test-data/box/nested-copy/simple-1.fir.ir.txt b/kopy-compiler/test-data/box/nested-copy/simple-1.fir.ir.txt index 5feb7b8..3283c1d 100644 --- a/kopy-compiler/test-data/box/nested-copy/simple-1.fir.ir.txt +++ b/kopy-compiler/test-data/box/nested-copy/simple-1.fir.ir.txt @@ -131,6 +131,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/simple-1.kt FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.Foo, other:kotlin.Any?) returnType:kotlin.Boolean [operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in com.javiersc.kotlin.kopy.runtime.Kopyable $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Foo VALUE_PARAMETER name:other index:0 type:kotlin.Any? BLOCK_BODY @@ -175,6 +176,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/simple-1.kt FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.Foo) returnType:kotlin.Int overridden: public open fun hashCode (): kotlin.Int declared in kotlin.Any + public open fun hashCode (): kotlin.Int declared in com.javiersc.kotlin.kopy.runtime.Kopyable $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Foo BLOCK_BODY VAR name:result type:kotlin.Int [var] @@ -194,6 +196,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/simple-1.kt FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.Foo) returnType:kotlin.String overridden: public open fun toString (): kotlin.String declared in kotlin.Any + public open fun toString (): kotlin.String declared in com.javiersc.kotlin.kopy.runtime.Kopyable $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Foo BLOCK_BODY RETURN type=kotlin.Nothing from='public open fun toString (): kotlin.String declared in com.javiersc.kotlin.kopy.playground.Foo' diff --git a/kopy-compiler/test-data/box/nested-copy/simple-1.fir.txt b/kopy-compiler/test-data/box/nested-copy/simple-1.fir.txt index 1a8fa60..374d58f 100644 --- a/kopy-compiler/test-data/box/nested-copy/simple-1.fir.txt +++ b/kopy-compiler/test-data/box/nested-copy/simple-1.fir.txt @@ -2,7 +2,7 @@ FILE: simple-1.kt package com.javiersc.kotlin.kopy.playground public final fun box(): R|kotlin/String| { - lval foo0: R|com/javiersc/kotlin/kopy/playground/Foo| = R|com/javiersc/kotlin/kopy/playground/Foo.Foo|(number = Int(7), letter = Char(W)) + lval foo0: R|com/javiersc/kotlin/kopy/playground/Foo| = R|com/javiersc/kotlin/kopy/playground/Foo.Foo|(Int(7), Char(W)) lval foo21: R|com/javiersc/kotlin/kopy/playground/Foo| = R|/foo0|.R|SubstitutionOverride|(copy@fun R|com/javiersc/kotlin/kopy/playground/Foo|.(): R|kotlin/Unit| { lval foo11: R|com/javiersc/kotlin/kopy/playground/Foo| = R|/foo0|.R|SubstitutionOverride|(copy@fun R|com/javiersc/kotlin/kopy/playground/Foo|.(): R|kotlin/Unit| { (this@R|special/anonymous|, this@R|special/anonymous|.R|com/javiersc/kotlin/kopy/playground/Foo.number|).R|SubstitutionOverride|(Int(42)) diff --git a/kopy-compiler/test-data/box/no-nest-copy-set.fir.ir.txt b/kopy-compiler/test-data/box/no-nest-copy-set.fir.ir.txt index a06e71f..b0749cb 100644 --- a/kopy-compiler/test-data/box/no-nest-copy-set.fir.ir.txt +++ b/kopy-compiler/test-data/box/no-nest-copy-set.fir.ir.txt @@ -131,6 +131,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/no-nest-copy-set.kt FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.Foo, other:kotlin.Any?) returnType:kotlin.Boolean [operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in com.javiersc.kotlin.kopy.runtime.Kopyable $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Foo VALUE_PARAMETER name:other index:0 type:kotlin.Any? BLOCK_BODY @@ -175,6 +176,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/no-nest-copy-set.kt FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.Foo) returnType:kotlin.Int overridden: public open fun hashCode (): kotlin.Int declared in kotlin.Any + public open fun hashCode (): kotlin.Int declared in com.javiersc.kotlin.kopy.runtime.Kopyable $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Foo BLOCK_BODY VAR name:result type:kotlin.Int [var] @@ -194,6 +196,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/no-nest-copy-set.kt FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.Foo) returnType:kotlin.String overridden: public open fun toString (): kotlin.String declared in kotlin.Any + public open fun toString (): kotlin.String declared in com.javiersc.kotlin.kopy.runtime.Kopyable $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Foo BLOCK_BODY RETURN type=kotlin.Nothing from='public open fun toString (): kotlin.String declared in com.javiersc.kotlin.kopy.playground.Foo' @@ -311,7 +314,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/no-nest-copy-set.kt letter: GET_VAR 'letter: kotlin.Char declared in com.javiersc.kotlin.kopy.playground.Foo2.copy' type=kotlin.Char origin=null FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.Foo2, other:kotlin.Any?) returnType:kotlin.Boolean [operator] overridden: - public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in com.javiersc.kotlin.kopy.playground.Kopyable2 $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Foo2 VALUE_PARAMETER name:other index:0 type:kotlin.Any? BLOCK_BODY @@ -355,7 +358,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/no-nest-copy-set.kt CONST Boolean type=kotlin.Boolean value=true FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.Foo2) returnType:kotlin.Int overridden: - public open fun hashCode (): kotlin.Int declared in kotlin.Any + public open fun hashCode (): kotlin.Int declared in com.javiersc.kotlin.kopy.playground.Kopyable2 $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Foo2 BLOCK_BODY VAR name:result type:kotlin.Int [var] @@ -374,7 +377,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/no-nest-copy-set.kt GET_VAR 'var result: kotlin.Int declared in com.javiersc.kotlin.kopy.playground.Foo2.hashCode' type=kotlin.Int origin=null FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.Foo2) returnType:kotlin.String overridden: - public open fun toString (): kotlin.String declared in kotlin.Any + public open fun toString (): kotlin.String declared in com.javiersc.kotlin.kopy.playground.Kopyable2 $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Foo2 BLOCK_BODY RETURN type=kotlin.Nothing from='public open fun toString (): kotlin.String declared in com.javiersc.kotlin.kopy.playground.Foo2' diff --git a/kopy-compiler/test-data/box/no-nest-copy-set.fir.txt b/kopy-compiler/test-data/box/no-nest-copy-set.fir.txt index a485d8b..43b467c 100644 --- a/kopy-compiler/test-data/box/no-nest-copy-set.fir.txt +++ b/kopy-compiler/test-data/box/no-nest-copy-set.fir.txt @@ -2,15 +2,15 @@ FILE: no-nest-copy-set.kt package com.javiersc.kotlin.kopy.playground public final fun box(): R|kotlin/String| { - lval foo0: R|com/javiersc/kotlin/kopy/playground/Foo| = R|com/javiersc/kotlin/kopy/playground/Foo.Foo|(number = Int(7), letter = Char(W)) - lval foo02: R|com/javiersc/kotlin/kopy/playground/Foo2| = R|com/javiersc/kotlin/kopy/playground/Foo2.Foo2|(number = Int(7), letter = Char(W)) + lval foo0: R|com/javiersc/kotlin/kopy/playground/Foo| = R|com/javiersc/kotlin/kopy/playground/Foo.Foo|(Int(7), Char(W)) + lval foo02: R|com/javiersc/kotlin/kopy/playground/Foo2| = R|com/javiersc/kotlin/kopy/playground/Foo2.Foo2|(Int(7), Char(W)) lval foo21: R|com/javiersc/kotlin/kopy/playground/Foo| = R|/foo0|.R|SubstitutionOverride|(copy@fun R|com/javiersc/kotlin/kopy/playground/Foo|.(): R|kotlin/Unit| { (this@R|special/anonymous|, this@R|special/anonymous|.R|com/javiersc/kotlin/kopy/playground/Foo.number|).R|SubstitutionOverride|(Int(42)) } ) lval foo22: R|com/javiersc/kotlin/kopy/playground/Foo2| = R|/foo02|.R|SubstitutionOverride|(copy2@fun R|com/javiersc/kotlin/kopy/playground/Foo2|.(): R|kotlin/Unit| { (this@R|special/anonymous|, this@R|special/anonymous|.R|com/javiersc/kotlin/kopy/playground/Foo2.number|).R|SubstitutionOverride|(Int(42).R|kotlin/also|( = also@fun (it: R|kotlin/Int|): R|kotlin/Unit| { - this@R|special/anonymous|.R|SubstitutionOverride|(this@R|special/anonymous|.R|SubstitutionOverride|().R|com/javiersc/kotlin/kopy/playground/Foo2.copy|(number = R|/it|)) + this@R|special/anonymous|.R|SubstitutionOverride|(this@R|special/anonymous|.R|SubstitutionOverride|().R|com/javiersc/kotlin/kopy/playground/Foo2.copy|(R|/it|)) } )) } diff --git a/kopy-compiler/test-data/box/no-nest-copy-update-no-it.fir.ir.txt b/kopy-compiler/test-data/box/no-nest-copy-update-no-it.fir.ir.txt index 760515d..4980a0e 100644 --- a/kopy-compiler/test-data/box/no-nest-copy-update-no-it.fir.ir.txt +++ b/kopy-compiler/test-data/box/no-nest-copy-update-no-it.fir.ir.txt @@ -131,6 +131,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/no-nest-copy-update-no FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.Foo, other:kotlin.Any?) returnType:kotlin.Boolean [operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in com.javiersc.kotlin.kopy.runtime.Kopyable $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Foo VALUE_PARAMETER name:other index:0 type:kotlin.Any? BLOCK_BODY @@ -175,6 +176,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/no-nest-copy-update-no FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.Foo) returnType:kotlin.Int overridden: public open fun hashCode (): kotlin.Int declared in kotlin.Any + public open fun hashCode (): kotlin.Int declared in com.javiersc.kotlin.kopy.runtime.Kopyable $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Foo BLOCK_BODY VAR name:result type:kotlin.Int [var] @@ -194,6 +196,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/no-nest-copy-update-no FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.Foo) returnType:kotlin.String overridden: public open fun toString (): kotlin.String declared in kotlin.Any + public open fun toString (): kotlin.String declared in com.javiersc.kotlin.kopy.runtime.Kopyable $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Foo BLOCK_BODY RETURN type=kotlin.Nothing from='public open fun toString (): kotlin.String declared in com.javiersc.kotlin.kopy.playground.Foo' @@ -311,7 +314,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/no-nest-copy-update-no letter: GET_VAR 'letter: kotlin.Char declared in com.javiersc.kotlin.kopy.playground.Foo2.copy' type=kotlin.Char origin=null FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.Foo2, other:kotlin.Any?) returnType:kotlin.Boolean [operator] overridden: - public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in com.javiersc.kotlin.kopy.playground.Kopyable2 $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Foo2 VALUE_PARAMETER name:other index:0 type:kotlin.Any? BLOCK_BODY @@ -355,7 +358,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/no-nest-copy-update-no CONST Boolean type=kotlin.Boolean value=true FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.Foo2) returnType:kotlin.Int overridden: - public open fun hashCode (): kotlin.Int declared in kotlin.Any + public open fun hashCode (): kotlin.Int declared in com.javiersc.kotlin.kopy.playground.Kopyable2 $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Foo2 BLOCK_BODY VAR name:result type:kotlin.Int [var] @@ -374,7 +377,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/no-nest-copy-update-no GET_VAR 'var result: kotlin.Int declared in com.javiersc.kotlin.kopy.playground.Foo2.hashCode' type=kotlin.Int origin=null FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.Foo2) returnType:kotlin.String overridden: - public open fun toString (): kotlin.String declared in kotlin.Any + public open fun toString (): kotlin.String declared in com.javiersc.kotlin.kopy.playground.Kopyable2 $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Foo2 BLOCK_BODY RETURN type=kotlin.Nothing from='public open fun toString (): kotlin.String declared in com.javiersc.kotlin.kopy.playground.Foo2' diff --git a/kopy-compiler/test-data/box/no-nest-copy-update-no-it.fir.txt b/kopy-compiler/test-data/box/no-nest-copy-update-no-it.fir.txt index 4535bf7..c89a4ea 100644 --- a/kopy-compiler/test-data/box/no-nest-copy-update-no-it.fir.txt +++ b/kopy-compiler/test-data/box/no-nest-copy-update-no-it.fir.txt @@ -2,8 +2,8 @@ FILE: no-nest-copy-update-no-it.kt package com.javiersc.kotlin.kopy.playground public final fun box(): R|kotlin/String| { - lval foo0: R|com/javiersc/kotlin/kopy/playground/Foo| = R|com/javiersc/kotlin/kopy/playground/Foo.Foo|(number = Int(7), letter = Char(W)) - lval foo02: R|com/javiersc/kotlin/kopy/playground/Foo2| = R|com/javiersc/kotlin/kopy/playground/Foo2.Foo2|(number = Int(7), letter = Char(W)) + lval foo0: R|com/javiersc/kotlin/kopy/playground/Foo| = R|com/javiersc/kotlin/kopy/playground/Foo.Foo|(Int(7), Char(W)) + lval foo02: R|com/javiersc/kotlin/kopy/playground/Foo2| = R|com/javiersc/kotlin/kopy/playground/Foo2.Foo2|(Int(7), Char(W)) lval foo21: R|com/javiersc/kotlin/kopy/playground/Foo| = R|/foo0|.R|SubstitutionOverride|(copy@fun R|com/javiersc/kotlin/kopy/playground/Foo|.(): R|kotlin/Unit| { (this@R|special/anonymous|, this@R|special/anonymous|.R|com/javiersc/kotlin/kopy/playground/Foo.number|).R|SubstitutionOverride|( = update@fun (it: R|kotlin/Int|): R|kotlin/Int| { ^ Int(42) @@ -14,7 +14,7 @@ FILE: no-nest-copy-update-no-it.kt lval foo22: R|com/javiersc/kotlin/kopy/playground/Foo2| = R|/foo02|.R|SubstitutionOverride|(copy2@fun R|com/javiersc/kotlin/kopy/playground/Foo2|.(): R|kotlin/Unit| { (this@R|special/anonymous|, this@R|special/anonymous|.R|com/javiersc/kotlin/kopy/playground/Foo2.number|).R|SubstitutionOverride|( = update2@fun (it: R|kotlin/Int|): R|kotlin/Int| { ^ Int(42).R|kotlin/also|( = also@fun (it: R|kotlin/Int|): R|kotlin/Unit| { - this@R|special/anonymous|.R|SubstitutionOverride|(this@R|special/anonymous|.R|SubstitutionOverride|().R|com/javiersc/kotlin/kopy/playground/Foo2.copy|(number = R|/it|)) + this@R|special/anonymous|.R|SubstitutionOverride|(this@R|special/anonymous|.R|SubstitutionOverride|().R|com/javiersc/kotlin/kopy/playground/Foo2.copy|(R|/it|)) } ) } diff --git a/kopy-compiler/test-data/box/no-nest-copy-update-with-it.fir.ir.txt b/kopy-compiler/test-data/box/no-nest-copy-update-with-it.fir.ir.txt index 02c2a26..91ce192 100644 --- a/kopy-compiler/test-data/box/no-nest-copy-update-with-it.fir.ir.txt +++ b/kopy-compiler/test-data/box/no-nest-copy-update-with-it.fir.ir.txt @@ -131,6 +131,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/no-nest-copy-update-wi FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.Foo, other:kotlin.Any?) returnType:kotlin.Boolean [operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in com.javiersc.kotlin.kopy.runtime.Kopyable $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Foo VALUE_PARAMETER name:other index:0 type:kotlin.Any? BLOCK_BODY @@ -175,6 +176,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/no-nest-copy-update-wi FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.Foo) returnType:kotlin.Int overridden: public open fun hashCode (): kotlin.Int declared in kotlin.Any + public open fun hashCode (): kotlin.Int declared in com.javiersc.kotlin.kopy.runtime.Kopyable $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Foo BLOCK_BODY VAR name:result type:kotlin.Int [var] @@ -194,6 +196,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/no-nest-copy-update-wi FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.Foo) returnType:kotlin.String overridden: public open fun toString (): kotlin.String declared in kotlin.Any + public open fun toString (): kotlin.String declared in com.javiersc.kotlin.kopy.runtime.Kopyable $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Foo BLOCK_BODY RETURN type=kotlin.Nothing from='public open fun toString (): kotlin.String declared in com.javiersc.kotlin.kopy.playground.Foo' @@ -311,7 +314,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/no-nest-copy-update-wi letter: GET_VAR 'letter: kotlin.Char declared in com.javiersc.kotlin.kopy.playground.Foo2.copy' type=kotlin.Char origin=null FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.Foo2, other:kotlin.Any?) returnType:kotlin.Boolean [operator] overridden: - public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in com.javiersc.kotlin.kopy.playground.Kopyable2 $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Foo2 VALUE_PARAMETER name:other index:0 type:kotlin.Any? BLOCK_BODY @@ -355,7 +358,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/no-nest-copy-update-wi CONST Boolean type=kotlin.Boolean value=true FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.Foo2) returnType:kotlin.Int overridden: - public open fun hashCode (): kotlin.Int declared in kotlin.Any + public open fun hashCode (): kotlin.Int declared in com.javiersc.kotlin.kopy.playground.Kopyable2 $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Foo2 BLOCK_BODY VAR name:result type:kotlin.Int [var] @@ -374,7 +377,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/no-nest-copy-update-wi GET_VAR 'var result: kotlin.Int declared in com.javiersc.kotlin.kopy.playground.Foo2.hashCode' type=kotlin.Int origin=null FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.Foo2) returnType:kotlin.String overridden: - public open fun toString (): kotlin.String declared in kotlin.Any + public open fun toString (): kotlin.String declared in com.javiersc.kotlin.kopy.playground.Kopyable2 $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Foo2 BLOCK_BODY RETURN type=kotlin.Nothing from='public open fun toString (): kotlin.String declared in com.javiersc.kotlin.kopy.playground.Foo2' diff --git a/kopy-compiler/test-data/box/no-nest-copy-update-with-it.fir.txt b/kopy-compiler/test-data/box/no-nest-copy-update-with-it.fir.txt index 6aa8b7a..3b458e9 100644 --- a/kopy-compiler/test-data/box/no-nest-copy-update-with-it.fir.txt +++ b/kopy-compiler/test-data/box/no-nest-copy-update-with-it.fir.txt @@ -2,8 +2,8 @@ FILE: no-nest-copy-update-with-it.kt package com.javiersc.kotlin.kopy.playground public final fun box(): R|kotlin/String| { - lval foo0: R|com/javiersc/kotlin/kopy/playground/Foo| = R|com/javiersc/kotlin/kopy/playground/Foo.Foo|(number = Int(7), letter = Char(W)) - lval foo02: R|com/javiersc/kotlin/kopy/playground/Foo2| = R|com/javiersc/kotlin/kopy/playground/Foo2.Foo2|(number = Int(7), letter = Char(W)) + lval foo0: R|com/javiersc/kotlin/kopy/playground/Foo| = R|com/javiersc/kotlin/kopy/playground/Foo.Foo|(Int(7), Char(W)) + lval foo02: R|com/javiersc/kotlin/kopy/playground/Foo2| = R|com/javiersc/kotlin/kopy/playground/Foo2.Foo2|(Int(7), Char(W)) lval foo21: R|com/javiersc/kotlin/kopy/playground/Foo| = R|/foo0|.R|SubstitutionOverride|(copy@fun R|com/javiersc/kotlin/kopy/playground/Foo|.(): R|kotlin/Unit| { (this@R|special/anonymous|, this@R|special/anonymous|.R|com/javiersc/kotlin/kopy/playground/Foo.number|).R|SubstitutionOverride|( = update@fun (it: R|kotlin/Int|): R|kotlin/Int| { ^ R|/it|.R|kotlin/Int.plus|(Int(35)) @@ -14,7 +14,7 @@ FILE: no-nest-copy-update-with-it.kt lval foo22: R|com/javiersc/kotlin/kopy/playground/Foo2| = R|/foo02|.R|SubstitutionOverride|(copy2@fun R|com/javiersc/kotlin/kopy/playground/Foo2|.(): R|kotlin/Unit| { (this@R|special/anonymous|, this@R|special/anonymous|.R|com/javiersc/kotlin/kopy/playground/Foo2.number|).R|SubstitutionOverride|( = update2@fun (it: R|kotlin/Int|): R|kotlin/Int| { ^ R|/it|.R|kotlin/Int.plus|(Int(35)).R|kotlin/also|( = also@fun (it: R|kotlin/Int|): R|kotlin/Unit| { - this@R|special/anonymous|.R|SubstitutionOverride|(this@R|special/anonymous|.R|SubstitutionOverride|().R|com/javiersc/kotlin/kopy/playground/Foo2.copy|(number = R|/it|)) + this@R|special/anonymous|.R|SubstitutionOverride|(this@R|special/anonymous|.R|SubstitutionOverride|().R|com/javiersc/kotlin/kopy/playground/Foo2.copy|(R|/it|)) } ) } diff --git a/kopy-compiler/test-data/box/repeated-properties/complex-1.fir.ir.txt b/kopy-compiler/test-data/box/repeated-properties/complex-1.fir.ir.txt index 927f026..240adea 100644 --- a/kopy-compiler/test-data/box/repeated-properties/complex-1.fir.ir.txt +++ b/kopy-compiler/test-data/box/repeated-properties/complex-1.fir.ir.txt @@ -131,6 +131,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/complex-1.kt FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.Bar, other:kotlin.Any?) returnType:kotlin.Boolean [operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in com.javiersc.kotlin.kopy.runtime.Kopyable $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Bar VALUE_PARAMETER name:other index:0 type:kotlin.Any? BLOCK_BODY @@ -175,6 +176,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/complex-1.kt FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.Bar) returnType:kotlin.Int overridden: public open fun hashCode (): kotlin.Int declared in kotlin.Any + public open fun hashCode (): kotlin.Int declared in com.javiersc.kotlin.kopy.runtime.Kopyable $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Bar BLOCK_BODY VAR name:result type:kotlin.Int [var] @@ -194,6 +196,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/complex-1.kt FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.Bar) returnType:kotlin.String overridden: public open fun toString (): kotlin.String declared in kotlin.Any + public open fun toString (): kotlin.String declared in com.javiersc.kotlin.kopy.runtime.Kopyable $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Bar BLOCK_BODY RETURN type=kotlin.Nothing from='public open fun toString (): kotlin.String declared in com.javiersc.kotlin.kopy.playground.Bar' @@ -339,6 +342,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/complex-1.kt FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.Baz, other:kotlin.Any?) returnType:kotlin.Boolean [operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in com.javiersc.kotlin.kopy.runtime.Kopyable $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Baz VALUE_PARAMETER name:other index:0 type:kotlin.Any? BLOCK_BODY @@ -383,6 +387,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/complex-1.kt FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.Baz) returnType:kotlin.Int overridden: public open fun hashCode (): kotlin.Int declared in kotlin.Any + public open fun hashCode (): kotlin.Int declared in com.javiersc.kotlin.kopy.runtime.Kopyable $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Baz BLOCK_BODY VAR name:result type:kotlin.Int [var] @@ -402,6 +407,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/complex-1.kt FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.Baz) returnType:kotlin.String overridden: public open fun toString (): kotlin.String declared in kotlin.Any + public open fun toString (): kotlin.String declared in com.javiersc.kotlin.kopy.runtime.Kopyable $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Baz BLOCK_BODY RETURN type=kotlin.Nothing from='public open fun toString (): kotlin.String declared in com.javiersc.kotlin.kopy.playground.Baz' @@ -570,6 +576,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/complex-1.kt FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.Foo, other:kotlin.Any?) returnType:kotlin.Boolean [operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in com.javiersc.kotlin.kopy.runtime.Kopyable $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Foo VALUE_PARAMETER name:other index:0 type:kotlin.Any? BLOCK_BODY @@ -624,6 +631,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/complex-1.kt FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.Foo) returnType:kotlin.Int overridden: public open fun hashCode (): kotlin.Int declared in kotlin.Any + public open fun hashCode (): kotlin.Int declared in com.javiersc.kotlin.kopy.runtime.Kopyable $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Foo BLOCK_BODY VAR name:result type:kotlin.Int [var] @@ -651,6 +659,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/complex-1.kt FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.Foo) returnType:kotlin.String overridden: public open fun toString (): kotlin.String declared in kotlin.Any + public open fun toString (): kotlin.String declared in com.javiersc.kotlin.kopy.runtime.Kopyable $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Foo BLOCK_BODY RETURN type=kotlin.Nothing from='public open fun toString (): kotlin.String declared in com.javiersc.kotlin.kopy.playground.Foo' @@ -777,6 +786,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/complex-1.kt FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.Quz, other:kotlin.Any?) returnType:kotlin.Boolean [operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in com.javiersc.kotlin.kopy.runtime.Kopyable $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Quz VALUE_PARAMETER name:other index:0 type:kotlin.Any? BLOCK_BODY @@ -811,6 +821,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/complex-1.kt FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.Quz) returnType:kotlin.Int overridden: public open fun hashCode (): kotlin.Int declared in kotlin.Any + public open fun hashCode (): kotlin.Int declared in com.javiersc.kotlin.kopy.runtime.Kopyable $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Quz BLOCK_BODY RETURN type=kotlin.Nothing from='public open fun hashCode (): kotlin.Int declared in com.javiersc.kotlin.kopy.playground.Quz' @@ -820,6 +831,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/complex-1.kt FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.Quz) returnType:kotlin.String overridden: public open fun toString (): kotlin.String declared in kotlin.Any + public open fun toString (): kotlin.String declared in com.javiersc.kotlin.kopy.runtime.Kopyable $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Quz BLOCK_BODY RETURN type=kotlin.Nothing from='public open fun toString (): kotlin.String declared in com.javiersc.kotlin.kopy.playground.Quz' diff --git a/kopy-compiler/test-data/box/repeated-properties/complex-2.fir.ir.txt b/kopy-compiler/test-data/box/repeated-properties/complex-2.fir.ir.txt index 27f0233..944992c 100644 --- a/kopy-compiler/test-data/box/repeated-properties/complex-2.fir.ir.txt +++ b/kopy-compiler/test-data/box/repeated-properties/complex-2.fir.ir.txt @@ -131,6 +131,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/complex-2.kt FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.Bar, other:kotlin.Any?) returnType:kotlin.Boolean [operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in com.javiersc.kotlin.kopy.runtime.Kopyable $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Bar VALUE_PARAMETER name:other index:0 type:kotlin.Any? BLOCK_BODY @@ -175,6 +176,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/complex-2.kt FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.Bar) returnType:kotlin.Int overridden: public open fun hashCode (): kotlin.Int declared in kotlin.Any + public open fun hashCode (): kotlin.Int declared in com.javiersc.kotlin.kopy.runtime.Kopyable $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Bar BLOCK_BODY VAR name:result type:kotlin.Int [var] @@ -194,6 +196,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/complex-2.kt FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.Bar) returnType:kotlin.String overridden: public open fun toString (): kotlin.String declared in kotlin.Any + public open fun toString (): kotlin.String declared in com.javiersc.kotlin.kopy.runtime.Kopyable $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Bar BLOCK_BODY RETURN type=kotlin.Nothing from='public open fun toString (): kotlin.String declared in com.javiersc.kotlin.kopy.playground.Bar' @@ -339,6 +342,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/complex-2.kt FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.Baz, other:kotlin.Any?) returnType:kotlin.Boolean [operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in com.javiersc.kotlin.kopy.runtime.Kopyable $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Baz VALUE_PARAMETER name:other index:0 type:kotlin.Any? BLOCK_BODY @@ -383,6 +387,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/complex-2.kt FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.Baz) returnType:kotlin.Int overridden: public open fun hashCode (): kotlin.Int declared in kotlin.Any + public open fun hashCode (): kotlin.Int declared in com.javiersc.kotlin.kopy.runtime.Kopyable $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Baz BLOCK_BODY VAR name:result type:kotlin.Int [var] @@ -402,6 +407,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/complex-2.kt FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.Baz) returnType:kotlin.String overridden: public open fun toString (): kotlin.String declared in kotlin.Any + public open fun toString (): kotlin.String declared in com.javiersc.kotlin.kopy.runtime.Kopyable $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Baz BLOCK_BODY RETURN type=kotlin.Nothing from='public open fun toString (): kotlin.String declared in com.javiersc.kotlin.kopy.playground.Baz' @@ -570,6 +576,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/complex-2.kt FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.Foo, other:kotlin.Any?) returnType:kotlin.Boolean [operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in com.javiersc.kotlin.kopy.runtime.Kopyable $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Foo VALUE_PARAMETER name:other index:0 type:kotlin.Any? BLOCK_BODY @@ -624,6 +631,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/complex-2.kt FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.Foo) returnType:kotlin.Int overridden: public open fun hashCode (): kotlin.Int declared in kotlin.Any + public open fun hashCode (): kotlin.Int declared in com.javiersc.kotlin.kopy.runtime.Kopyable $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Foo BLOCK_BODY VAR name:result type:kotlin.Int [var] @@ -651,6 +659,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/complex-2.kt FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.Foo) returnType:kotlin.String overridden: public open fun toString (): kotlin.String declared in kotlin.Any + public open fun toString (): kotlin.String declared in com.javiersc.kotlin.kopy.runtime.Kopyable $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Foo BLOCK_BODY RETURN type=kotlin.Nothing from='public open fun toString (): kotlin.String declared in com.javiersc.kotlin.kopy.playground.Foo' @@ -777,6 +786,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/complex-2.kt FUN GENERATED_DATA_CLASS_MEMBER name:equals visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.Quz, other:kotlin.Any?) returnType:kotlin.Boolean [operator] overridden: public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in kotlin.Any + public open fun equals (other: kotlin.Any?): kotlin.Boolean declared in com.javiersc.kotlin.kopy.runtime.Kopyable $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Quz VALUE_PARAMETER name:other index:0 type:kotlin.Any? BLOCK_BODY @@ -811,6 +821,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/complex-2.kt FUN GENERATED_DATA_CLASS_MEMBER name:hashCode visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.Quz) returnType:kotlin.Int overridden: public open fun hashCode (): kotlin.Int declared in kotlin.Any + public open fun hashCode (): kotlin.Int declared in com.javiersc.kotlin.kopy.runtime.Kopyable $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Quz BLOCK_BODY RETURN type=kotlin.Nothing from='public open fun hashCode (): kotlin.Int declared in com.javiersc.kotlin.kopy.playground.Quz' @@ -820,6 +831,7 @@ FILE fqName:com.javiersc.kotlin.kopy.playground fileName:/complex-2.kt FUN GENERATED_DATA_CLASS_MEMBER name:toString visibility:public modality:OPEN <> ($this:com.javiersc.kotlin.kopy.playground.Quz) returnType:kotlin.String overridden: public open fun toString (): kotlin.String declared in kotlin.Any + public open fun toString (): kotlin.String declared in com.javiersc.kotlin.kopy.runtime.Kopyable $this: VALUE_PARAMETER name: type:com.javiersc.kotlin.kopy.playground.Quz BLOCK_BODY RETURN type=kotlin.Nothing from='public open fun toString (): kotlin.String declared in com.javiersc.kotlin.kopy.playground.Quz' diff --git a/kopy-compiler/test-data/diagnostics/edge/no-copy-scope.fir.txt b/kopy-compiler/test-data/diagnostics/edge/no-copy-scope.fir.txt index f763874..dc4988e 100644 --- a/kopy-compiler/test-data/diagnostics/edge/no-copy-scope.fir.txt +++ b/kopy-compiler/test-data/diagnostics/edge/no-copy-scope.fir.txt @@ -2,10 +2,10 @@ FILE: no-copy-scope.kt package com.javiersc.kotlin.kopy.playground public final fun diagnostics(): R|kotlin/Unit| { - lval qux0: R|com/javiersc/kotlin/kopy/playground/Qux| = R|com/javiersc/kotlin/kopy/playground/Qux.Qux|(number = Int(7)) - lval baz0: R|com/javiersc/kotlin/kopy/playground/Baz| = R|com/javiersc/kotlin/kopy/playground/Baz.Baz|(qux = R|/qux0|, text = String(Random)) - lval bar0: R|com/javiersc/kotlin/kopy/playground/Bar| = R|com/javiersc/kotlin/kopy/playground/Bar.Bar|(baz = R|/baz0|, isValid = Boolean(true)) - lval foo0: R|com/javiersc/kotlin/kopy/playground/Foo| = R|com/javiersc/kotlin/kopy/playground/Foo.Foo|(bar = R|/bar0|, letter = Char(W)) + lval qux0: R|com/javiersc/kotlin/kopy/playground/Qux| = R|com/javiersc/kotlin/kopy/playground/Qux.Qux|(Int(7)) + lval baz0: R|com/javiersc/kotlin/kopy/playground/Baz| = R|com/javiersc/kotlin/kopy/playground/Baz.Baz|(R|/qux0|, String(Random)) + lval bar0: R|com/javiersc/kotlin/kopy/playground/Bar| = R|com/javiersc/kotlin/kopy/playground/Bar.Bar|(R|/baz0|, Boolean(true)) + lval foo0: R|com/javiersc/kotlin/kopy/playground/Foo| = R|com/javiersc/kotlin/kopy/playground/Foo.Foo|(R|/bar0|, Char(W)) lval foo21: R|com/javiersc/kotlin/kopy/playground/Foo| = R|/foo0|.R|kotlin/apply|( = apply@fun R|com/javiersc/kotlin/kopy/playground/Foo|.(): R|kotlin/Unit| { (this@R|special/anonymous|, this@R|special/anonymous|.R|com/javiersc/kotlin/kopy/playground/Foo.bar|.R|com/javiersc/kotlin/kopy/playground/Bar.baz|.R|com/javiersc/kotlin/kopy/playground/Baz.qux|.R|com/javiersc/kotlin/kopy/playground/Qux.number|).R|SubstitutionOverride|(Int(42)) } diff --git a/kopy-compiler/test-data/diagnostics/edge/no-immediate-copy-scope.fir.txt b/kopy-compiler/test-data/diagnostics/edge/no-immediate-copy-scope.fir.txt index c0b22e3..28a1f7a 100644 --- a/kopy-compiler/test-data/diagnostics/edge/no-immediate-copy-scope.fir.txt +++ b/kopy-compiler/test-data/diagnostics/edge/no-immediate-copy-scope.fir.txt @@ -2,10 +2,10 @@ FILE: no-immediate-copy-scope.kt package com.javiersc.kotlin.kopy.playground public final fun diagnostics(): R|kotlin/Unit| { - lval qux0: R|com/javiersc/kotlin/kopy/playground/Qux| = R|com/javiersc/kotlin/kopy/playground/Qux.Qux|(number = Int(7)) - lval baz0: R|com/javiersc/kotlin/kopy/playground/Baz| = R|com/javiersc/kotlin/kopy/playground/Baz.Baz|(qux = R|/qux0|, text = String(Random)) - lval bar0: R|com/javiersc/kotlin/kopy/playground/Bar| = R|com/javiersc/kotlin/kopy/playground/Bar.Bar|(baz = R|/baz0|, isValid = Boolean(true)) - lval foo0: R|com/javiersc/kotlin/kopy/playground/Foo| = R|com/javiersc/kotlin/kopy/playground/Foo.Foo|(bar = R|/bar0|, letter = Char(W)) + lval qux0: R|com/javiersc/kotlin/kopy/playground/Qux| = R|com/javiersc/kotlin/kopy/playground/Qux.Qux|(Int(7)) + lval baz0: R|com/javiersc/kotlin/kopy/playground/Baz| = R|com/javiersc/kotlin/kopy/playground/Baz.Baz|(R|/qux0|, String(Random)) + lval bar0: R|com/javiersc/kotlin/kopy/playground/Bar| = R|com/javiersc/kotlin/kopy/playground/Bar.Bar|(R|/baz0|, Boolean(true)) + lval foo0: R|com/javiersc/kotlin/kopy/playground/Foo| = R|com/javiersc/kotlin/kopy/playground/Foo.Foo|(R|/bar0|, Char(W)) lval foo21: R|com/javiersc/kotlin/kopy/playground/Foo| = R|/foo0|.R|SubstitutionOverride|(copy@fun R|com/javiersc/kotlin/kopy/playground/Foo|.(): R|kotlin/Unit| { R|/foo0|.R|kotlin/apply|( = apply@fun R|com/javiersc/kotlin/kopy/playground/Foo|.(): R|kotlin/Unit| { (this@R|special/anonymous|, this@R|special/anonymous|.R|com/javiersc/kotlin/kopy/playground/Foo.bar|.R|com/javiersc/kotlin/kopy/playground/Bar.baz|.R|com/javiersc/kotlin/kopy/playground/Baz.qux|.R|com/javiersc/kotlin/kopy/playground/Qux.number|).R|SubstitutionOverride|(Int(42)) diff --git a/kopy-compiler/test-data/diagnostics/edge/no-nest-copy-set.fir.txt b/kopy-compiler/test-data/diagnostics/edge/no-nest-copy-set.fir.txt index 37ce46a..d55380a 100644 --- a/kopy-compiler/test-data/diagnostics/edge/no-nest-copy-set.fir.txt +++ b/kopy-compiler/test-data/diagnostics/edge/no-nest-copy-set.fir.txt @@ -2,10 +2,10 @@ FILE: no-nest-copy-set.kt package com.javiersc.kotlin.kopy.playground public final fun diagnostics(): R|kotlin/String| { - lval qux0: R|com/javiersc/kotlin/kopy/playground/Qux| = R|com/javiersc/kotlin/kopy/playground/Qux.Qux|(number = Int(7)) - lval baz0: R|com/javiersc/kotlin/kopy/playground/Baz| = R|com/javiersc/kotlin/kopy/playground/Baz.Baz|(qux = R|/qux0|, text = String(Random)) - lval bar0: R|com/javiersc/kotlin/kopy/playground/Bar| = R|com/javiersc/kotlin/kopy/playground/Bar.Bar|(baz = R|/baz0|, isValid = Boolean(true)) - lval foo0: R|com/javiersc/kotlin/kopy/playground/Foo| = R|com/javiersc/kotlin/kopy/playground/Foo.Foo|(bar = R|/bar0|, letter = Char(W)) + lval qux0: R|com/javiersc/kotlin/kopy/playground/Qux| = R|com/javiersc/kotlin/kopy/playground/Qux.Qux|(Int(7)) + lval baz0: R|com/javiersc/kotlin/kopy/playground/Baz| = R|com/javiersc/kotlin/kopy/playground/Baz.Baz|(R|/qux0|, String(Random)) + lval bar0: R|com/javiersc/kotlin/kopy/playground/Bar| = R|com/javiersc/kotlin/kopy/playground/Bar.Bar|(R|/baz0|, Boolean(true)) + lval foo0: R|com/javiersc/kotlin/kopy/playground/Foo| = R|com/javiersc/kotlin/kopy/playground/Foo.Foo|(R|/bar0|, Char(W)) lval foo21: R|com/javiersc/kotlin/kopy/playground/Foo| = R|/foo0|.R|SubstitutionOverride|(copy@fun R|com/javiersc/kotlin/kopy/playground/Foo|.(): R|kotlin/Unit| { (this@R|special/anonymous|, this@R|special/anonymous|.R|com/javiersc/kotlin/kopy/playground/Foo.bar|.R|com/javiersc/kotlin/kopy/playground/Bar.baz|.R|com/javiersc/kotlin/kopy/playground/Baz.qux|.R|com/javiersc/kotlin/kopy/playground/Qux.number|).R|SubstitutionOverride|(Int(42)) } diff --git a/kopy-compiler/test-data/diagnostics/invalid-call-chain/complex-1.fir.txt b/kopy-compiler/test-data/diagnostics/invalid-call-chain/complex-1.fir.txt index cc789d8..264129b 100644 --- a/kopy-compiler/test-data/diagnostics/invalid-call-chain/complex-1.fir.txt +++ b/kopy-compiler/test-data/diagnostics/invalid-call-chain/complex-1.fir.txt @@ -2,10 +2,10 @@ FILE: complex-1.kt package com.javiersc.kotlin.kopy.playground public final fun diagnostics(): R|kotlin/Unit| { - lval qux0: R|com/javiersc/kotlin/kopy/playground/Qux| = R|com/javiersc/kotlin/kopy/playground/Qux.Qux|(number = Int(7)) - lval baz0: R|com/javiersc/kotlin/kopy/playground/Baz| = R|com/javiersc/kotlin/kopy/playground/Baz.Baz|(qux = R|/qux0|, text = String(Random)) - lval bar0: R|com/javiersc/kotlin/kopy/playground/Bar| = R|com/javiersc/kotlin/kopy/playground/Bar.Bar|(baz = R|/baz0|, isValid = Boolean(true)) - lval foo0: R|com/javiersc/kotlin/kopy/playground/Foo| = R|com/javiersc/kotlin/kopy/playground/Foo.Foo|(bar = R|/bar0|, letter = Char(W)) + lval qux0: R|com/javiersc/kotlin/kopy/playground/Qux| = R|com/javiersc/kotlin/kopy/playground/Qux.Qux|(Int(7)) + lval baz0: R|com/javiersc/kotlin/kopy/playground/Baz| = R|com/javiersc/kotlin/kopy/playground/Baz.Baz|(R|/qux0|, String(Random)) + lval bar0: R|com/javiersc/kotlin/kopy/playground/Bar| = R|com/javiersc/kotlin/kopy/playground/Bar.Bar|(R|/baz0|, Boolean(true)) + lval foo0: R|com/javiersc/kotlin/kopy/playground/Foo| = R|com/javiersc/kotlin/kopy/playground/Foo.Foo|(R|/bar0|, Char(W)) lval foo10: R|com/javiersc/kotlin/kopy/playground/Foo| = R|/foo0|.R|SubstitutionOverride|( = foo0@fun R|com/javiersc/kotlin/kopy/playground/Foo|.(): R|kotlin/Unit| { (this@R|special/anonymous|, R|/bar0|.R|com/javiersc/kotlin/kopy/playground/Bar.baz|.R|com/javiersc/kotlin/kopy/playground/Baz.qux|.R|com/javiersc/kotlin/kopy/playground/Qux.number|).R|SubstitutionOverride|(Int(42)) } diff --git a/kopy-compiler/test-data/diagnostics/missing-data-class/complex-1.fir.txt b/kopy-compiler/test-data/diagnostics/missing-data-class/complex-1.fir.txt index 1d743d7..f2aff27 100644 --- a/kopy-compiler/test-data/diagnostics/missing-data-class/complex-1.fir.txt +++ b/kopy-compiler/test-data/diagnostics/missing-data-class/complex-1.fir.txt @@ -2,10 +2,10 @@ FILE: complex-1.kt package com.javiersc.kotlin.kopy.playground public final fun diagnostics(): R|kotlin/Unit| { - lval qux0: R|com/javiersc/kotlin/kopy/playground/Qux| = R|com/javiersc/kotlin/kopy/playground/Qux.Qux|(number = Int(7)) - lval baz0: R|com/javiersc/kotlin/kopy/playground/Baz| = R|com/javiersc/kotlin/kopy/playground/Baz.Baz|(qux = R|/qux0|, text = String(Random)) - lval bar0: R|com/javiersc/kotlin/kopy/playground/Bar| = R|com/javiersc/kotlin/kopy/playground/Bar.Bar|(baz = R|/baz0|, isValid = Boolean(true)) - lval foo0: R|com/javiersc/kotlin/kopy/playground/Foo| = R|com/javiersc/kotlin/kopy/playground/Foo.Foo|(bar = R|/bar0|, letter = Char(W)) + lval qux0: R|com/javiersc/kotlin/kopy/playground/Qux| = R|com/javiersc/kotlin/kopy/playground/Qux.Qux|(Int(7)) + lval baz0: R|com/javiersc/kotlin/kopy/playground/Baz| = R|com/javiersc/kotlin/kopy/playground/Baz.Baz|(R|/qux0|, String(Random)) + lval bar0: R|com/javiersc/kotlin/kopy/playground/Bar| = R|com/javiersc/kotlin/kopy/playground/Bar.Bar|(R|/baz0|, Boolean(true)) + lval foo0: R|com/javiersc/kotlin/kopy/playground/Foo| = R|com/javiersc/kotlin/kopy/playground/Foo.Foo|(R|/bar0|, Char(W)) lval foo10: R|com/javiersc/kotlin/kopy/playground/Foo| = R|/foo0|.R|SubstitutionOverride|( = foo0@fun R|com/javiersc/kotlin/kopy/playground/Foo|.(): R|kotlin/Unit| { ^@foo0 Unit } diff --git a/kopy-compiler/test-data/diagnostics/missing-data-class/simple-1.fir.txt b/kopy-compiler/test-data/diagnostics/missing-data-class/simple-1.fir.txt index da7f61e..2ff9a8f 100644 --- a/kopy-compiler/test-data/diagnostics/missing-data-class/simple-1.fir.txt +++ b/kopy-compiler/test-data/diagnostics/missing-data-class/simple-1.fir.txt @@ -2,10 +2,10 @@ FILE: simple-1.kt package com.javiersc.kotlin.kopy.playground public final fun diagnostics(): R|kotlin/Unit| { - lval qux0: R|com/javiersc/kotlin/kopy/playground/Qux| = R|com/javiersc/kotlin/kopy/playground/Qux.Qux|(number = Int(7)) - lval baz0: R|com/javiersc/kotlin/kopy/playground/Baz| = R|com/javiersc/kotlin/kopy/playground/Baz.Baz|(qux = R|/qux0|, text = String(Random)) - lval bar0: R|com/javiersc/kotlin/kopy/playground/Bar| = R|com/javiersc/kotlin/kopy/playground/Bar.Bar|(baz = R|/baz0|, isValid = Boolean(true)) - lval foo0: R|com/javiersc/kotlin/kopy/playground/Foo| = R|com/javiersc/kotlin/kopy/playground/Foo.Foo|(bar = R|/bar0|, letter = Char(W)) + lval qux0: R|com/javiersc/kotlin/kopy/playground/Qux| = R|com/javiersc/kotlin/kopy/playground/Qux.Qux|(Int(7)) + lval baz0: R|com/javiersc/kotlin/kopy/playground/Baz| = R|com/javiersc/kotlin/kopy/playground/Baz.Baz|(R|/qux0|, String(Random)) + lval bar0: R|com/javiersc/kotlin/kopy/playground/Bar| = R|com/javiersc/kotlin/kopy/playground/Bar.Bar|(R|/baz0|, Boolean(true)) + lval foo0: R|com/javiersc/kotlin/kopy/playground/Foo| = R|com/javiersc/kotlin/kopy/playground/Foo.Foo|(R|/bar0|, Char(W)) lval foo61: R|com/javiersc/kotlin/kopy/playground/Foo| = R|/foo0|.R|SubstitutionOverride|( = foo0@fun R|com/javiersc/kotlin/kopy/playground/Foo|.(): R|kotlin/Unit| { (this@R|special/anonymous|, this@R|special/anonymous|.R|com/javiersc/kotlin/kopy/playground/Foo.bar|.R|com/javiersc/kotlin/kopy/playground/Bar.baz|.R|com/javiersc/kotlin/kopy/playground/Baz.qux|.R|com/javiersc/kotlin/kopy/playground/Qux.number|).R|SubstitutionOverride|( = update@fun (it: R|kotlin/Int|): R|kotlin/Int| { ^ R|/it|.R|kotlin/Int.plus|(Int(10)) diff --git a/kopy-compiler/test-data/diagnostics/missing-data-class/simple-2.fir.txt b/kopy-compiler/test-data/diagnostics/missing-data-class/simple-2.fir.txt index 094b7c2..69f8f55 100644 --- a/kopy-compiler/test-data/diagnostics/missing-data-class/simple-2.fir.txt +++ b/kopy-compiler/test-data/diagnostics/missing-data-class/simple-2.fir.txt @@ -2,10 +2,10 @@ FILE: simple-2.kt package com.javiersc.kotlin.kopy.playground public final fun diagnostics(): R|kotlin/Unit| { - lval qux0: R|com/javiersc/kotlin/kopy/playground/Qux| = R|com/javiersc/kotlin/kopy/playground/Qux.Qux|(number = Int(7)) - lval baz0: R|com/javiersc/kotlin/kopy/playground/Baz| = R|com/javiersc/kotlin/kopy/playground/Baz.Baz|(qux = R|/qux0|, text = String(Random)) - lval bar0: R|com/javiersc/kotlin/kopy/playground/Bar| = R|com/javiersc/kotlin/kopy/playground/Bar.Bar|(baz = R|/baz0|, isValid = Boolean(true)) - lval foo0: R|com/javiersc/kotlin/kopy/playground/Foo| = R|com/javiersc/kotlin/kopy/playground/Foo.Foo|(bar = R|/bar0|, letter = Char(W)) + lval qux0: R|com/javiersc/kotlin/kopy/playground/Qux| = R|com/javiersc/kotlin/kopy/playground/Qux.Qux|(Int(7)) + lval baz0: R|com/javiersc/kotlin/kopy/playground/Baz| = R|com/javiersc/kotlin/kopy/playground/Baz.Baz|(R|/qux0|, String(Random)) + lval bar0: R|com/javiersc/kotlin/kopy/playground/Bar| = R|com/javiersc/kotlin/kopy/playground/Bar.Bar|(R|/baz0|, Boolean(true)) + lval foo0: R|com/javiersc/kotlin/kopy/playground/Foo| = R|com/javiersc/kotlin/kopy/playground/Foo.Foo|(R|/bar0|, Char(W)) lval foo61: R|com/javiersc/kotlin/kopy/playground/Foo| = R|/foo0|.R|SubstitutionOverride|( = foo0@fun R|com/javiersc/kotlin/kopy/playground/Foo|.(): R|kotlin/Unit| { (this@R|special/anonymous|, this@R|special/anonymous|.R|com/javiersc/kotlin/kopy/playground/Foo.bar|.R|com/javiersc/kotlin/kopy/playground/Bar.baz|.R|com/javiersc/kotlin/kopy/playground/Baz.text|).R|SubstitutionOverride|(String(Random 2)) } diff --git a/kopy-compiler/test-data/diagnostics/missing-data-class/simple-3.fir.txt b/kopy-compiler/test-data/diagnostics/missing-data-class/simple-3.fir.txt index 5fdd585..f4a1d31 100644 --- a/kopy-compiler/test-data/diagnostics/missing-data-class/simple-3.fir.txt +++ b/kopy-compiler/test-data/diagnostics/missing-data-class/simple-3.fir.txt @@ -2,10 +2,10 @@ FILE: simple-3.kt package com.javiersc.kotlin.kopy.playground public final fun diagnostics(): R|kotlin/Unit| { - lval qux0: R|com/javiersc/kotlin/kopy/playground/Qux| = R|com/javiersc/kotlin/kopy/playground/Qux.Qux|(number = Int(7)) - lval baz0: R|com/javiersc/kotlin/kopy/playground/Baz| = R|com/javiersc/kotlin/kopy/playground/Baz.Baz|(qux = R|/qux0|, text = String(Random)) - lval bar0: R|com/javiersc/kotlin/kopy/playground/Bar| = R|com/javiersc/kotlin/kopy/playground/Bar.Bar|(baz = R|/baz0|, isValid = Boolean(true)) - lval foo0: R|com/javiersc/kotlin/kopy/playground/Foo| = R|com/javiersc/kotlin/kopy/playground/Foo.Foo|(bar = R|/bar0|, letter = Char(W)) + lval qux0: R|com/javiersc/kotlin/kopy/playground/Qux| = R|com/javiersc/kotlin/kopy/playground/Qux.Qux|(Int(7)) + lval baz0: R|com/javiersc/kotlin/kopy/playground/Baz| = R|com/javiersc/kotlin/kopy/playground/Baz.Baz|(R|/qux0|, String(Random)) + lval bar0: R|com/javiersc/kotlin/kopy/playground/Bar| = R|com/javiersc/kotlin/kopy/playground/Bar.Bar|(R|/baz0|, Boolean(true)) + lval foo0: R|com/javiersc/kotlin/kopy/playground/Foo| = R|com/javiersc/kotlin/kopy/playground/Foo.Foo|(R|/bar0|, Char(W)) lval foo20: R|com/javiersc/kotlin/kopy/playground/Foo| = R|/foo0|.R|SubstitutionOverride|( = foo0@fun R|com/javiersc/kotlin/kopy/playground/Foo|.(): R|kotlin/Unit| { (this@R|special/anonymous|, this@R|special/anonymous|.R|com/javiersc/kotlin/kopy/playground/Foo.bar|.R|com/javiersc/kotlin/kopy/playground/Bar.baz|.R|com/javiersc/kotlin/kopy/playground/Baz.qux|.R|com/javiersc/kotlin/kopy/playground/Qux.number|).R|SubstitutionOverride|(Int(10)) } diff --git a/kopy-compiler/test-data/diagnostics/missing-data-class/simple-4.fir.txt b/kopy-compiler/test-data/diagnostics/missing-data-class/simple-4.fir.txt index 55f8639..74c95e1 100644 --- a/kopy-compiler/test-data/diagnostics/missing-data-class/simple-4.fir.txt +++ b/kopy-compiler/test-data/diagnostics/missing-data-class/simple-4.fir.txt @@ -2,10 +2,10 @@ FILE: simple-4.kt package com.javiersc.kotlin.kopy.playground public final fun diagnostics(): R|kotlin/Unit| { - lval qux0: R|com/javiersc/kotlin/kopy/playground/Qux| = R|com/javiersc/kotlin/kopy/playground/Qux.Qux|(number = Int(7)) - lval baz0: R|com/javiersc/kotlin/kopy/playground/Baz| = R|com/javiersc/kotlin/kopy/playground/Baz.Baz|(qux = R|/qux0|, text = String(Random)) - lval bar0: R|com/javiersc/kotlin/kopy/playground/Bar| = R|com/javiersc/kotlin/kopy/playground/Bar.Bar|(baz = R|/baz0|, isValid = Boolean(true)) - lval foo0: R|com/javiersc/kotlin/kopy/playground/Foo| = R|com/javiersc/kotlin/kopy/playground/Foo.Foo|(bar = R|/bar0|, letter = Char(W)) + lval qux0: R|com/javiersc/kotlin/kopy/playground/Qux| = R|com/javiersc/kotlin/kopy/playground/Qux.Qux|(Int(7)) + lval baz0: R|com/javiersc/kotlin/kopy/playground/Baz| = R|com/javiersc/kotlin/kopy/playground/Baz.Baz|(R|/qux0|, String(Random)) + lval bar0: R|com/javiersc/kotlin/kopy/playground/Bar| = R|com/javiersc/kotlin/kopy/playground/Bar.Bar|(R|/baz0|, Boolean(true)) + lval foo0: R|com/javiersc/kotlin/kopy/playground/Foo| = R|com/javiersc/kotlin/kopy/playground/Foo.Foo|(R|/bar0|, Char(W)) lval foo60: R|com/javiersc/kotlin/kopy/playground/Foo| = R|/foo0|.R|SubstitutionOverride|( = foo0@fun R|com/javiersc/kotlin/kopy/playground/Foo|.(): R|kotlin/Unit| { (this@R|special/anonymous|, this@R|special/anonymous|.R|com/javiersc/kotlin/kopy/playground/Foo.bar|.R|com/javiersc/kotlin/kopy/playground/Bar.baz|.R|com/javiersc/kotlin/kopy/playground/Baz.qux|.R|com/javiersc/kotlin/kopy/playground/Qux.number|).R|SubstitutionOverride|(Int(10)) (this@R|special/anonymous|, this@R|special/anonymous|.R|com/javiersc/kotlin/kopy/playground/Foo.bar|.R|com/javiersc/kotlin/kopy/playground/Bar.isValid|).R|SubstitutionOverride|(Boolean(false)) diff --git a/kopy-compiler/test-data/diagnostics/missing-data-class/simple-5.fir.txt b/kopy-compiler/test-data/diagnostics/missing-data-class/simple-5.fir.txt index f910cf0..b73a66f 100644 --- a/kopy-compiler/test-data/diagnostics/missing-data-class/simple-5.fir.txt +++ b/kopy-compiler/test-data/diagnostics/missing-data-class/simple-5.fir.txt @@ -2,10 +2,10 @@ FILE: simple-5.kt package com.javiersc.kotlin.kopy.playground public final fun diagnostics(): R|kotlin/Unit| { - lval qux0: R|com/javiersc/kotlin/kopy/playground/Qux| = R|com/javiersc/kotlin/kopy/playground/Qux.Qux|(number = Int(7)) - lval baz0: R|com/javiersc/kotlin/kopy/playground/Baz| = R|com/javiersc/kotlin/kopy/playground/Baz.Baz|(qux = R|/qux0|, text = String(Random)) - lval bar0: R|com/javiersc/kotlin/kopy/playground/Bar| = R|com/javiersc/kotlin/kopy/playground/Bar.Bar|(baz = R|/baz0|, isValid = Boolean(true)) - lval foo0: R|com/javiersc/kotlin/kopy/playground/Foo| = R|com/javiersc/kotlin/kopy/playground/Foo.Foo|(bar = R|/bar0|, letter = Char(W)) + lval qux0: R|com/javiersc/kotlin/kopy/playground/Qux| = R|com/javiersc/kotlin/kopy/playground/Qux.Qux|(Int(7)) + lval baz0: R|com/javiersc/kotlin/kopy/playground/Baz| = R|com/javiersc/kotlin/kopy/playground/Baz.Baz|(R|/qux0|, String(Random)) + lval bar0: R|com/javiersc/kotlin/kopy/playground/Bar| = R|com/javiersc/kotlin/kopy/playground/Bar.Bar|(R|/baz0|, Boolean(true)) + lval foo0: R|com/javiersc/kotlin/kopy/playground/Foo| = R|com/javiersc/kotlin/kopy/playground/Foo.Foo|(R|/bar0|, Char(W)) lval foo61: R|com/javiersc/kotlin/kopy/playground/Foo| = R|/foo0|.R|SubstitutionOverride|( = foo0@fun R|com/javiersc/kotlin/kopy/playground/Foo|.(): R|kotlin/Unit| { (this@R|special/anonymous|, this@R|special/anonymous|.R|com/javiersc/kotlin/kopy/playground/Foo.bar|.R|com/javiersc/kotlin/kopy/playground/Bar.baz|.R|com/javiersc/kotlin/kopy/playground/Baz.qux|.R|com/javiersc/kotlin/kopy/playground/Qux.number|).R|SubstitutionOverride|( = update@fun (it: R|kotlin/Int|): R|kotlin/Int| { ^ R|/it|.R|kotlin/Int.plus|(Int(10)) diff --git a/kopy-compiler/test-data/diagnostics/missing-data-class/simple-6.fir.txt b/kopy-compiler/test-data/diagnostics/missing-data-class/simple-6.fir.txt index 01fc45c..079475e 100644 --- a/kopy-compiler/test-data/diagnostics/missing-data-class/simple-6.fir.txt +++ b/kopy-compiler/test-data/diagnostics/missing-data-class/simple-6.fir.txt @@ -2,7 +2,7 @@ FILE: simple-6.kt package com.javiersc.kotlin.kopy.playground public final fun diagnostics(): R|kotlin/Unit| { - lval house: R|com/javiersc/kotlin/kopy/playground/House| = R|com/javiersc/kotlin/kopy/playground/House.House|(squareMeters = Int(100), kitchen = R|com/javiersc/kotlin/kopy/playground/Kitchen.Kitchen|(cat = R|com/javiersc/kotlin/kopy/playground/Cat.Cat|(name = String(Garfield), age = Int(5)), squareMeters = Int(10))) + lval house: R|com/javiersc/kotlin/kopy/playground/House| = R|com/javiersc/kotlin/kopy/playground/House.House|(Int(100), R|com/javiersc/kotlin/kopy/playground/Kitchen.Kitchen|(R|com/javiersc/kotlin/kopy/playground/Cat.Cat|(String(Garfield), Int(5)), Int(10))) lval house2: R|com/javiersc/kotlin/kopy/playground/House| = R|/house|.R|SubstitutionOverride|(copy@fun R|com/javiersc/kotlin/kopy/playground/House|.(): R|kotlin/Unit| { (this@R|special/anonymous|, this@R|special/anonymous|.R|com/javiersc/kotlin/kopy/playground/House.kitchen|.R|com/javiersc/kotlin/kopy/playground/Kitchen.cat|.R|com/javiersc/kotlin/kopy/playground/Cat.age|).R|SubstitutionOverride|(Int(6)) (this@R|special/anonymous|, this@R|special/anonymous|.R|com/javiersc/kotlin/kopy/playground/House.kitchen|.R|com/javiersc/kotlin/kopy/playground/Kitchen.squareMeters|).R|SubstitutionOverride|(Int(45)) diff --git a/kopy-compiler/test-data/diagnostics/missing-data-class/simple-7.fir.txt b/kopy-compiler/test-data/diagnostics/missing-data-class/simple-7.fir.txt index 6916972..8e68e14 100644 --- a/kopy-compiler/test-data/diagnostics/missing-data-class/simple-7.fir.txt +++ b/kopy-compiler/test-data/diagnostics/missing-data-class/simple-7.fir.txt @@ -2,7 +2,7 @@ FILE: simple-7.kt package com.javiersc.kotlin.kopy.playground public final fun diagnostics(): R|kotlin/Unit| { - lval foo0: R|com/javiersc/kotlin/kopy/playground/Foo| = R|com/javiersc/kotlin/kopy/playground/Foo.Foo|(number = Int(7), letter = Char(W)) + lval foo0: R|com/javiersc/kotlin/kopy/playground/Foo| = R|com/javiersc/kotlin/kopy/playground/Foo.Foo|(Int(7), Char(W)) lval foo21: R|com/javiersc/kotlin/kopy/playground/Foo| = R|/foo0|.R|SubstitutionOverride|(copy@fun R|com/javiersc/kotlin/kopy/playground/Foo|.(): R|kotlin/Unit| { (this@R|special/anonymous|, this@R|special/anonymous|.R|com/javiersc/kotlin/kopy/playground/Foo.number|).R|SubstitutionOverride|(Int(42)) } diff --git a/kopy-compiler/test-data/diagnostics/valid/complex-1.fir.txt b/kopy-compiler/test-data/diagnostics/valid/complex-1.fir.txt index 298d267..57063a6 100644 --- a/kopy-compiler/test-data/diagnostics/valid/complex-1.fir.txt +++ b/kopy-compiler/test-data/diagnostics/valid/complex-1.fir.txt @@ -2,10 +2,10 @@ FILE: complex-1.kt package com.javiersc.kotlin.kopy.playground public final fun diagnostics(): R|kotlin/Unit| { - lval qux0: R|com/javiersc/kotlin/kopy/playground/Qux| = R|com/javiersc/kotlin/kopy/playground/Qux.Qux|(number = Int(7)) - lval baz0: R|com/javiersc/kotlin/kopy/playground/Baz| = R|com/javiersc/kotlin/kopy/playground/Baz.Baz|(qux = R|/qux0|, text = String(Random)) - lval bar0: R|com/javiersc/kotlin/kopy/playground/Bar| = R|com/javiersc/kotlin/kopy/playground/Bar.Bar|(baz = R|/baz0|, isValid = Boolean(true)) - lval foo0: R|com/javiersc/kotlin/kopy/playground/Foo| = R|com/javiersc/kotlin/kopy/playground/Foo.Foo|(bar = R|/bar0|, letter = Char(W)) + lval qux0: R|com/javiersc/kotlin/kopy/playground/Qux| = R|com/javiersc/kotlin/kopy/playground/Qux.Qux|(Int(7)) + lval baz0: R|com/javiersc/kotlin/kopy/playground/Baz| = R|com/javiersc/kotlin/kopy/playground/Baz.Baz|(R|/qux0|, String(Random)) + lval bar0: R|com/javiersc/kotlin/kopy/playground/Bar| = R|com/javiersc/kotlin/kopy/playground/Bar.Bar|(R|/baz0|, Boolean(true)) + lval foo0: R|com/javiersc/kotlin/kopy/playground/Foo| = R|com/javiersc/kotlin/kopy/playground/Foo.Foo|(R|/bar0|, Char(W)) lval foo10: R|com/javiersc/kotlin/kopy/playground/Foo| = R|/foo0|.R|SubstitutionOverride|( = foo0@fun R|com/javiersc/kotlin/kopy/playground/Foo|.(): R|kotlin/Unit| { ^@foo0 Unit } diff --git a/kopy-compiler/test-data/diagnostics/valid/nested-copy-simple-1.fir.txt b/kopy-compiler/test-data/diagnostics/valid/nested-copy-simple-1.fir.txt index 58a9248..64717c7 100644 --- a/kopy-compiler/test-data/diagnostics/valid/nested-copy-simple-1.fir.txt +++ b/kopy-compiler/test-data/diagnostics/valid/nested-copy-simple-1.fir.txt @@ -2,7 +2,7 @@ FILE: nested-copy-simple-1.kt package com.javiersc.kotlin.kopy.playground public final fun diagnostics(): R|kotlin/Unit| { - lval foo0: R|com/javiersc/kotlin/kopy/playground/Foo| = R|com/javiersc/kotlin/kopy/playground/Foo.Foo|(number = Int(7), letter = Char(W)) + lval foo0: R|com/javiersc/kotlin/kopy/playground/Foo| = R|com/javiersc/kotlin/kopy/playground/Foo.Foo|(Int(7), Char(W)) lval foo21: R|com/javiersc/kotlin/kopy/playground/Foo| = R|/foo0|.R|SubstitutionOverride|(copy@fun R|com/javiersc/kotlin/kopy/playground/Foo|.(): R|kotlin/Unit| { lval foo11: R|com/javiersc/kotlin/kopy/playground/Foo| = R|/foo0|.R|SubstitutionOverride|(copy@fun R|com/javiersc/kotlin/kopy/playground/Foo|.(): R|kotlin/Unit| { (this@R|special/anonymous|, this@R|special/anonymous|.R|com/javiersc/kotlin/kopy/playground/Foo.number|).R|SubstitutionOverride|(Int(42)) diff --git a/kopy-compiler/test-data/diagnostics/valid/simple-1.fir.txt b/kopy-compiler/test-data/diagnostics/valid/simple-1.fir.txt index dc976d4..9a2d7d6 100644 --- a/kopy-compiler/test-data/diagnostics/valid/simple-1.fir.txt +++ b/kopy-compiler/test-data/diagnostics/valid/simple-1.fir.txt @@ -2,7 +2,7 @@ FILE: simple-1.kt package com.javiersc.kotlin.kopy.playground public final fun diagnostics(): R|kotlin/Unit| { - lval foo0: R|com/javiersc/kotlin/kopy/playground/Foo| = R|com/javiersc/kotlin/kopy/playground/Foo.Foo|(number = Int(7), letter = Char(W)) + lval foo0: R|com/javiersc/kotlin/kopy/playground/Foo| = R|com/javiersc/kotlin/kopy/playground/Foo.Foo|(Int(7), Char(W)) lval foo21: R|com/javiersc/kotlin/kopy/playground/Foo| = R|/foo0|.R|SubstitutionOverride|(copy@fun R|com/javiersc/kotlin/kopy/playground/Foo|.(): R|kotlin/Unit| { (this@R|special/anonymous|, this@R|special/anonymous|.R|com/javiersc/kotlin/kopy/playground/Foo.number|).R|SubstitutionOverride|(Int(42)) } diff --git a/kopy-compiler/test-data/diagnostics/valid/simple-deep-1.fir.txt b/kopy-compiler/test-data/diagnostics/valid/simple-deep-1.fir.txt index 7ce3d8f..83cefd1 100644 --- a/kopy-compiler/test-data/diagnostics/valid/simple-deep-1.fir.txt +++ b/kopy-compiler/test-data/diagnostics/valid/simple-deep-1.fir.txt @@ -2,7 +2,7 @@ FILE: simple-deep-1.kt package com.javiersc.kotlin.kopy.playground public final fun diagnostics(): R|kotlin/Unit| { - lval foo0: R|com/javiersc/kotlin/kopy/playground/Foo| = R|com/javiersc/kotlin/kopy/playground/Foo.Foo|(bar = R|com/javiersc/kotlin/kopy/playground/Bar.Bar|(number = Int(7))) + lval foo0: R|com/javiersc/kotlin/kopy/playground/Foo| = R|com/javiersc/kotlin/kopy/playground/Foo.Foo|(R|com/javiersc/kotlin/kopy/playground/Bar.Bar|(Int(7))) lval foo21: R|com/javiersc/kotlin/kopy/playground/Foo| = R|/foo0|.R|SubstitutionOverride|(copy@fun R|com/javiersc/kotlin/kopy/playground/Foo|.(): R|kotlin/Unit| { (this@R|special/anonymous|, this@R|special/anonymous|.R|com/javiersc/kotlin/kopy/playground/Foo.bar|.R|com/javiersc/kotlin/kopy/playground/Bar.number|).R|SubstitutionOverride|(Int(42)) } diff --git a/kopy-compiler/test-data/diagnostics/valid/simple-deep-2.fir.txt b/kopy-compiler/test-data/diagnostics/valid/simple-deep-2.fir.txt index 006c4ea..77d7179 100644 --- a/kopy-compiler/test-data/diagnostics/valid/simple-deep-2.fir.txt +++ b/kopy-compiler/test-data/diagnostics/valid/simple-deep-2.fir.txt @@ -2,7 +2,7 @@ FILE: simple-deep-2.kt package com.javiersc.kotlin.kopy.playground public final fun diagnostics(): R|kotlin/Unit| { - lval house: R|com/javiersc/kotlin/kopy/playground/House| = R|com/javiersc/kotlin/kopy/playground/House.House|(squareMeters = Int(100), kitchen = R|com/javiersc/kotlin/kopy/playground/Kitchen.Kitchen|(cat = R|com/javiersc/kotlin/kopy/playground/Cat.Cat|(name = String(Garfield), age = Int(5)), squareMeters = Int(10))) + lval house: R|com/javiersc/kotlin/kopy/playground/House| = R|com/javiersc/kotlin/kopy/playground/House.House|(Int(100), R|com/javiersc/kotlin/kopy/playground/Kitchen.Kitchen|(R|com/javiersc/kotlin/kopy/playground/Cat.Cat|(String(Garfield), Int(5)), Int(10))) lval house2: R|com/javiersc/kotlin/kopy/playground/House| = R|/house|.R|SubstitutionOverride|(copy@fun R|com/javiersc/kotlin/kopy/playground/House|.(): R|kotlin/Unit| { (this@R|special/anonymous|, this@R|special/anonymous|.R|com/javiersc/kotlin/kopy/playground/House.kitchen|.R|com/javiersc/kotlin/kopy/playground/Kitchen.cat|.R|com/javiersc/kotlin/kopy/playground/Cat.age|).R|SubstitutionOverride|( = update@fun (it: R|kotlin/Int|): R|kotlin/Int| { ^ R|/it|.R|kotlin/Int.plus|(Int(2)) diff --git a/kopy-compiler/test/kotlin/com/javiersc/kotlin/kopy/compiler/GenerateKotlinCompilerTests.kt b/kopy-compiler/test/kotlin/com/javiersc/kotlin/kopy/compiler/GenerateKotlinCompilerTests.kt index 985af47..d389585 100644 --- a/kopy-compiler/test/kotlin/com/javiersc/kotlin/kopy/compiler/GenerateKotlinCompilerTests.kt +++ b/kopy-compiler/test/kotlin/com/javiersc/kotlin/kopy/compiler/GenerateKotlinCompilerTests.kt @@ -7,8 +7,6 @@ import com.javiersc.kotlin.compiler.test.services.MetaRuntimeClasspathProvider import org.jetbrains.kotlin.compiler.plugin.CompilerPluginRegistrar.ExtensionStorage import org.jetbrains.kotlin.config.CompilerConfiguration import org.jetbrains.kotlin.test.Constructor -import org.jetbrains.kotlin.test.builders.TestConfigurationBuilder -import org.jetbrains.kotlin.test.directives.LanguageSettingsDirectives import org.jetbrains.kotlin.test.model.TestModule fun main() { @@ -33,11 +31,6 @@ open class AbstractBoxTest : BoxTest() { override val runtimeClasspathProvider: Constructor = ::GeneratedMetaRuntimeClasspathProvider - override fun configure(builder: TestConfigurationBuilder) { - builder.defaultDirectives { LanguageSettingsDirectives.LANGUAGE with "+ContextReceivers" } - super.configure(builder) - } - override fun ExtensionStorage.registerExtensions( module: TestModule, configuration: CompilerConfiguration