package iface
- Alphabetic
- By Inheritance
- iface
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
- sealed trait DataType[+RT, +VT] extends Product with Serializable
- case class DefDataType[+RF, +VF](typeVars: ImmArraySeq[Name], dataType: DataType[RF, VF]) extends Product with Serializable
- final case class DefTemplate[+Ty](choices: Map[Name, TemplateChoice[Ty]], key: Option[Ty]) extends Product with Serializable
- final case class Enum(constructors: ImmArraySeq[Name]) extends DataType[Nothing, Nothing] with Product with Serializable
-
final
case class
EnvironmentInterface(typeDecls: Map[Identifier, InterfaceType]) extends Product with Serializable
The combination of multiple Interfaces, such as from a dar.
-
sealed abstract
class
FWTLike[F[+_]] extends AnyRef
Add aliases to companions.
- type FieldWithType = (Name, Type)
-
final
case class
Interface(packageId: PackageId, typeDecls: Map[QualifiedName, InterfaceType]) extends Product with Serializable
The interface of a single DALF archive.
The interface of a single DALF archive. Not expressive enough to represent a whole dar, as a dar can contain multiple DALF archives with separate package IDs and overlapping QualifiedNames; for a dar use EnvironmentInterface instead.
- sealed abstract class InterfaceType extends Product with Serializable
- sealed abstract class PrimType extends TypeConNameOrPrimType
- trait PrimTypeVisitor[+Z] extends AnyRef
- final case class Record[+RT](fields: ImmArraySeq[(Name, RT)]) extends DataType[RT, Nothing] with GetFields[RT] with Product with Serializable
- final case class TemplateChoice[+Ty](param: Ty, consuming: Boolean, returnType: Ty) extends Product with Serializable
-
sealed abstract
class
Type extends Product with Serializable
Type is an intermediate form from which record/variant objects or type aliases are generated from.
Type is an intermediate form from which record/variant objects or type aliases are generated from.
You might be wondering, why so many data structures for types We've got Core.Type and Package.ParamType, now why do we need yet another?
The reason we have chosen to use the Core.Type in the
typeDecls
field of com.daml.core.Package.PackageInterface is because other programs besides the DAML Scala code generator inspect this data structure. (e.g. Integration Adapter as of 07 Sep 2017).The Package.ParamType structure represents all types that are valid parameters in app-side contract templates.
The Type structure defined in this module defines all types that can validly have a Scala data structure generated from them. This is slightly more sophisticated data structure than Package.ParamType since it contains type variables which, when present, are used to generate polymorphic Scala data structures.
Only a subset of Core.Type values can be translated to Type values. The method com.daml.core.Package#validTypeSynonymRHS returns
true
when a Core.Type value can be translated.
true }}}
- final case class TypeCon(name: TypeConName, typArgs: ImmArraySeq[Type]) extends Type with HasTypArgs with Product with Serializable
- final case class TypeConName(identifier: Identifier) extends TypeConNameOrPrimType with Product with Serializable
- sealed abstract class TypeConNameOrPrimType extends Product with Serializable
- final case class TypeNumeric(scale: Scale) extends Type with Product with Serializable
- final case class TypePrim(typ: PrimType, typArgs: ImmArraySeq[Type]) extends Type with HasTypArgs with Product with Serializable
- final case class TypeVar(name: Name) extends Type with Product with Serializable
- final case class Variant[+VT](fields: ImmArraySeq[(Name, VT)]) extends DataType[Nothing, VT] with GetFields[VT] with Product with Serializable
Value Members
- object DataType extends Serializable
- object DefDataType extends Serializable
- object DefTemplate extends Serializable
- object EnvironmentInterface extends Serializable
- object Interface extends Serializable
- object InterfaceType extends Serializable
- object PrimType extends Serializable
- object PrimTypeBool extends PrimType with Product with Serializable
- object PrimTypeContractId extends PrimType with Product with Serializable
- object PrimTypeDate extends PrimType with Product with Serializable
- object PrimTypeGenMap extends PrimType with Product with Serializable
- object PrimTypeInt64 extends PrimType with Product with Serializable
- object PrimTypeList extends PrimType with Product with Serializable
- object PrimTypeOptional extends PrimType with Product with Serializable
- object PrimTypeParty extends PrimType with Product with Serializable
- object PrimTypeText extends PrimType with Product with Serializable
- object PrimTypeTextMap extends PrimType with Product with Serializable
- object PrimTypeTimestamp extends PrimType with Product with Serializable
- object PrimTypeUnit extends PrimType with Product with Serializable
- object Record extends FWTLike[Record] with Serializable
- object TemplateChoice extends Serializable
- object Type extends Serializable
- object Variant extends FWTLike[Variant] with Serializable
Deprecated Value Members
-
val
PrimTypeMap: PrimTypeTextMap.type
- Annotations
- @deprecated
- Deprecated
(Since version 0.13.38) Use TextMap