sealed abstract class Type extends Product with Serializable
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 }}}
- Alphabetic
- By Inheritance
- Type
- Serializable
- Serializable
- Product
- Equals
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Abstract Value Members
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
fold[Z](typeCon: (TypeCon) ⇒ Z, typePrim: (TypePrim) ⇒ Z, typeVar: (TypeVar) ⇒ Z, typeNum: (TypeNumeric) ⇒ Z): Z
Handle the possible Types without missing one or casting.
Handle the possible Types without missing one or casting. Meant to be used from Java.
- Note
Normally Type's recursive occurrences would be replaced with
Z
, but we have not done that for closer analogy to pattern matching.
-
def
foldMapConsPrims[Z](f: (TypeConNameOrPrimType) ⇒ Z)(implicit arg0: Monoid[Z]): Z
Fold over the TypeConNameOrPrimTypes therein.
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
mapTypeVars(f: (TypeVar) ⇒ Type): Type
Map all type variables that occur anywhere within this type
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
def
productIterator: Iterator[Any]
- Definition Classes
- Product
-
def
productPrefix: String
- Definition Classes
- Product
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()