sealed abstract class ContractTypeId[+PkgId] extends Product3[PkgId, String, String] with Serializable with Ops[ContractTypeId, PkgId]
A contract type ID that may be either a template or an interface ID. A ContractTypeId.Resolved ID will always be either ContractTypeId.Template or ContractTypeId.Interface; an unresolved ID may be one of those, which indicates an expectation of what the resolved ID will be, or neither, which indicates that resolving what kind of ID this is will be part of the resolution.
Built-in equality is solely determined by the triple of package ID, module name, entity name. This is because there are likely insidious expectations that this be true dating to before contract type IDs were distinguished at all, and we are only interested in distinguishing them statically, which these types do, and by pattern-matching, which does work.
val selector: ContractTypeId[Unit] = Template((), "M", "E") selector match { case ContractTypeId.Unknown(p, m, e) => // this will not match case ContractTypeId.Interface(p, m, e) => // this will not match case ContractTypeId.Template(p, m, e) => // this will match }
Linear Supertypes
Known Subclasses
Ordering
- Alphabetic
- By Inheritance
Inherited
- ContractTypeId
- Ops
- Serializable
- Product3
- Product
- Equals
- AnyRef
- Any
- Hide All
- Show All
Visibility
- Public
- Protected
Abstract Value Members
- abstract def canEqual(that: Any): Boolean
- Definition Classes
- Equals
- abstract def copy[PkgId0](packageId: PkgId0 = packageId, moduleName: String = moduleName, entityName: String = entityName): ContractTypeId[PkgId0]
- Definition Classes
- Ops
- abstract val entityName: String
- abstract val moduleName: String
- abstract val packageId: PkgId
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
- def _1: PkgId
- Definition Classes
- ContractTypeId → Product3
- def _2: String
- Definition Classes
- ContractTypeId → Product3
- def _3: String
- Definition Classes
- ContractTypeId → Product3
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def equals(o: Any): Boolean
- Definition Classes
- ContractTypeId → Equals → AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def hashCode(): Int
- Definition Classes
- ContractTypeId → AnyRef → Any
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def productArity: Int
- Definition Classes
- Product3 → Product
- def productElement(n: Int): Any
- Definition Classes
- Product3 → Product
- Annotations
- @throws(classOf[java.lang.IndexOutOfBoundsException])
- def productElementName(n: Int): String
- Definition Classes
- Product
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- 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(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])