diff --git a/backend/src/main/scala/aqua/backend/Backend.scala b/backend/src/main/scala/aqua/backend/Backend.scala index 62695999..e20dc3d5 100644 --- a/backend/src/main/scala/aqua/backend/Backend.scala +++ b/backend/src/main/scala/aqua/backend/Backend.scala @@ -19,6 +19,8 @@ trait Backend { object Backend { + val client = "IFluenceClient$$" + trait Transform extends Backend { def transform(ex: AquaContext): AquaRes } diff --git a/backend/ts/src/main/scala/aqua/backend/js/JavaScriptBackend.scala b/backend/ts/src/main/scala/aqua/backend/js/JavaScriptBackend.scala index 089828eb..59a7473f 100644 --- a/backend/ts/src/main/scala/aqua/backend/js/JavaScriptBackend.scala +++ b/backend/ts/src/main/scala/aqua/backend/js/JavaScriptBackend.scala @@ -4,7 +4,7 @@ import aqua.backend.ts.TypeScriptTypes import aqua.backend.* import aqua.res.AquaRes -case class JavaScriptBackend(isOldFluenceJs: Boolean, client: String) extends Backend { +case class JavaScriptBackend(isOldFluenceJs: Boolean, client: String = Backend.client) extends Backend { val ext = ".js" val tsExt = ".d.ts" diff --git a/backend/ts/src/main/scala/aqua/backend/ts/TypeScriptBackend.scala b/backend/ts/src/main/scala/aqua/backend/ts/TypeScriptBackend.scala index 26cac490..2bb7166b 100644 --- a/backend/ts/src/main/scala/aqua/backend/ts/TypeScriptBackend.scala +++ b/backend/ts/src/main/scala/aqua/backend/ts/TypeScriptBackend.scala @@ -4,7 +4,7 @@ import aqua.backend.{Backend, Generated, OutputFile} import aqua.res.AquaRes import cats.data.NonEmptyChain -case class TypeScriptBackend(isOldFluenceJs: Boolean, client: String) extends Backend { +case class TypeScriptBackend(isOldFluenceJs: Boolean, client: String = Backend.client) extends Backend { val ext = ".ts" diff --git a/cli/cli/src/main/scala/aqua/AquaCli.scala b/cli/cli/src/main/scala/aqua/AquaCli.scala index bb6ceab6..b4e87abd 100644 --- a/cli/cli/src/main/scala/aqua/AquaCli.scala +++ b/cli/cli/src/main/scala/aqua/AquaCli.scala @@ -36,7 +36,7 @@ object AquaCli extends IOApp with Logging { case object AirTarget extends CompileTarget def targetToBackend(target: CompileTarget, isOldFluenceJs: Boolean): Backend = { - val client = if (isOldFluenceJs) "FluencePeer" else "IFluenceClient$$" + val client = if (isOldFluenceJs) "FluencePeer" else Backend.client target match { case TypescriptTarget => TypeScriptBackend(isOldFluenceJs, client) diff --git a/compiler/src/test/scala/aqua/compiler/AquaCompilerSpec.scala b/compiler/src/test/scala/aqua/compiler/AquaCompilerSpec.scala index d0465c3b..4170e7e0 100644 --- a/compiler/src/test/scala/aqua/compiler/AquaCompilerSpec.scala +++ b/compiler/src/test/scala/aqua/compiler/AquaCompilerSpec.scala @@ -130,7 +130,7 @@ class AquaCompilerSpec extends AnyFlatSpec with Matchers { private def join(vm: VarModel, length: ValueModel) = { val testVM = VarModel(vm.name + "_test", vm.`type`) - val iter = VarModel("s", ScalarType.string) + val iter = VarModel(vm.name + "_fold_var", ScalarType.string) val canon = VarModel(vm.name + "_iter_canon", CanonStreamType(ScalarType.string)) val canonRes = VarModel(vm.name + "_result_canon", CanonStreamType(ScalarType.string)) val arrayRes = VarModel(vm.name + "_gate", ArrayType(ScalarType.string)) diff --git a/model/inline/src/main/scala/aqua/model/inline/raw/ApplyGateRawInliner.scala b/model/inline/src/main/scala/aqua/model/inline/raw/ApplyGateRawInliner.scala index 51b86e7c..2413ac52 100644 --- a/model/inline/src/main/scala/aqua/model/inline/raw/ApplyGateRawInliner.scala +++ b/model/inline/src/main/scala/aqua/model/inline/raw/ApplyGateRawInliner.scala @@ -23,11 +23,12 @@ object ApplyGateRawInliner extends RawInliner[ApplyGateRaw] with Logging { uniqueTestName <- Mangler[S].findAndForbidName(afr.name + "_test") uniqueIdxIncr <- Mangler[S].findAndForbidName(afr.name + "_incr") uniqueIterCanon <- Mangler[S].findAndForbidName(afr.name + "_iter_canon") + uniqueIter <- Mangler[S].findAndForbidName(afr.name + "_fold_var") idxFolded <- unfold(afr.idx) (idxModel, idxInline) = idxFolded } yield { val varSTest = VarModel(uniqueTestName, afr.streamType) - val iter = VarModel("s", afr.streamType.element) + val iter = VarModel(uniqueIter, afr.streamType.element) val iterCanon = VarModel(uniqueIterCanon, CanonStreamType(afr.streamType.element))