diff --git a/ledger-service/lf-value-json/src/main/scala/com/digitalasset/daml/lf/value/json/ApiCodecCompressed.scala b/ledger-service/lf-value-json/src/main/scala/com/digitalasset/daml/lf/value/json/ApiCodecCompressed.scala index fa977be233..7a3d2cbbdc 100644 --- a/ledger-service/lf-value-json/src/main/scala/com/digitalasset/daml/lf/value/json/ApiCodecCompressed.scala +++ b/ledger-service/lf-value-json/src/main/scala/com/digitalasset/daml/lf/value/json/ApiCodecCompressed.scala @@ -288,10 +288,8 @@ class ApiCodecCompressed[Cid](val encodeDecimalAsString: Boolean, val encodeInt6 jsValueToApiPrimitive(value, prim, defs) case typeCon: Model.DamlLfTypeCon => val id = typeCon.name.identifier - // val dt = typeCon.instantiate(defs(id).getOrElse(deserializationError(s"Type $id not found"))) - val dt = Model.damlLfInstantiate( - typeCon, - defs(id).getOrElse(deserializationError(s"Type $id not found"))) + val dt = + typeCon.instantiate(defs(id).getOrElse(deserializationError(s"Type $id not found"))) jsValueToApiDataType(value, id, dt, defs) case Model.DamlLfTypeNumeric(scale) => val numericOrError = value match { @@ -314,10 +312,7 @@ class ApiCodecCompressed[Cid](val encodeDecimalAsString: Boolean, val encodeInt6 id: Model.DamlLfIdentifier, defs: Model.DamlLfTypeLookup): V[Cid] = { val typeCon = Model.DamlLfTypeCon(Model.DamlLfTypeConName(id), ImmArraySeq()) - // val dt = typeCon.instantiate(defs(id).getOrElse(deserializationError(s"Type $id not found"))) - val dt = Model.damlLfInstantiate( - typeCon, - defs(id).getOrElse(deserializationError(s"Type $id not found"))) + val dt = typeCon.instantiate(defs(id).getOrElse(deserializationError(s"Type $id not found"))) jsValueToApiDataType(value, id, dt, defs) } diff --git a/ledger-service/lf-value-json/src/main/scala/com/digitalasset/daml/lf/value/json/NavigatorModelAliases.scala b/ledger-service/lf-value-json/src/main/scala/com/digitalasset/daml/lf/value/json/NavigatorModelAliases.scala index cf3b5f1016..5f9647c343 100644 --- a/ledger-service/lf-value-json/src/main/scala/com/digitalasset/daml/lf/value/json/NavigatorModelAliases.scala +++ b/ledger-service/lf-value-json/src/main/scala/com/digitalasset/daml/lf/value/json/NavigatorModelAliases.scala @@ -67,28 +67,6 @@ trait NavigatorModelAliases[Cid] { type DamlLfEnum = iface.Enum val DamlLfEnum = iface.Enum - def damlLfInstantiate(typeCon: DamlLfTypeCon, defn: DamlLfDefDataType): DamlLfDataType = - if (defn.typeVars.length != typeCon.typArgs.length) { - throw new RuntimeException( - s"Mismatching type vars and applied types, expected ${defn.typeVars} but got ${typeCon.typArgs} types") - } else { - if (defn.typeVars.isEmpty) { // optimization - defn.dataType - } else { - val paramsMap = Map(defn.typeVars.zip(typeCon.typArgs): _*) - def mapTypeVars(typ: DamlLfType, f: DamlLfTypeVar => DamlLfType): DamlLfType = typ match { - case t @ DamlLfTypeVar(_) => f(t) - case t @ DamlLfTypeCon(_, _) => DamlLfTypeCon(t.name, t.typArgs.map(mapTypeVars(_, f))) - case t @ DamlLfTypePrim(_, _) => DamlLfTypePrim(t.typ, t.typArgs.map(mapTypeVars(_, f))) - case t @ DamlLfTypeNumeric(_) => t - } - val withTyp: iface.Type => iface.Type = { typ => - mapTypeVars(typ, v => paramsMap.getOrElse(v.name, v)) - } - defn.dataType.bimap(withTyp, withTyp) - } - } - import scala.language.higherKinds type OfCid[F[_]] = F[Cid] type ApiValue = OfCid[V] diff --git a/navigator/backend/src/main/scala/com/digitalasset/navigator/console/Pretty.scala b/navigator/backend/src/main/scala/com/digitalasset/navigator/console/Pretty.scala index 747e3b3971..26ef58d6c8 100644 --- a/navigator/backend/src/main/scala/com/digitalasset/navigator/console/Pretty.scala +++ b/navigator/backend/src/main/scala/com/digitalasset/navigator/console/Pretty.scala @@ -136,8 +136,7 @@ object Pretty { } else { // Once a type is instantiated, do not instantiate it in any child node. // Required to prevent infinite expansion of recursive types. - // val dt = typeCon.instantiate(typeDefs(id).get) - val dt = model.damlLfInstantiate(typeCon, typeDefs(id).get) + val dt = typeCon.instantiate(typeDefs(id).get) ( Some(typeCon.name.identifier.qualifiedName.name.toString), damlLfDataType(dt, typeDefs, doNotExpand + id)) diff --git a/navigator/backend/src/main/scala/com/digitalasset/navigator/query/filter/package.scala b/navigator/backend/src/main/scala/com/digitalasset/navigator/query/filter/package.scala index a84474583d..be6ddf6b0b 100644 --- a/navigator/backend/src/main/scala/com/digitalasset/navigator/query/filter/package.scala +++ b/navigator/backend/src/main/scala/com/digitalasset/navigator/query/filter/package.scala @@ -44,7 +44,7 @@ package object filter { parameter match { case tc: DamlLfTypeCon => val nextOrResult = - (ps(tc.name.identifier).map(damlLfInstantiate(tc, _)), cursor.next) match { + (ps(tc.name.identifier).map(tc.instantiate(_)), cursor.next) match { case (Some(DamlLfRecord(fields)), Some(nextCursor)) => fields .collectFirst { diff --git a/navigator/backend/src/main/scala/com/digitalasset/navigator/query/project/package.scala b/navigator/backend/src/main/scala/com/digitalasset/navigator/query/project/package.scala index ee82bc09d7..036d716c4e 100644 --- a/navigator/backend/src/main/scala/com/digitalasset/navigator/query/project/package.scala +++ b/navigator/backend/src/main/scala/com/digitalasset/navigator/query/project/package.scala @@ -61,8 +61,7 @@ object project { ddt <- ps(tc.name.identifier) .toRight(UnknownType(tc.name.identifier.toString, cursor, value)) nextCursor <- cursor.next.toRight(MustNotBeLastPart("DataType", cursor, value)) - //nextField <- tc.instantiate(ddt) match { - nextField <- damlLfInstantiate(tc, ddt) match { + nextField <- tc.instantiate(ddt) match { case DamlLfRecord(fields) => fields .find(f => f._1 == nextCursor.current)