org.finos.morphir.universe.ir

Members list

Type members

Classlikes

final case class AccessControlled[+A](access: Access, value: A)

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
Self type

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
final case class Documented[+A](doc: String, value: A)

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object Documented

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
Documented.type
final case class FQName(packagePath: PackageName, modulePath: ModulePath, localName: Name)

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object FQName

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
FQName.type
final case class FQNameInfo(fqName: FQName, constructorFQName: Option[FQName])

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object FQNameInfo

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
FQNameInfo.type
final case class FQNamingOptions(defaultPackage: PackageName, defaultModule: ModulePath, defaultSeparator: String)

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
object Integer.type
object ModuleName extends Subtype[Path]

Attributes

Supertypes
class Subtype[Path]
class Newtype[Path]
class NewtypeCustom[Path]
class Object
trait Matchable
class Any
Show all
Self type
ModuleName.type
final case class ModuleNamingContext(packageName: PackageName, moduleName: ModuleName)

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
object ModulePath extends Subtype[Path]

Attributes

Supertypes
class Subtype[Path]
class Newtype[Path]
class NewtypeCustom[Path]
class Object
trait Matchable
class Any
Show all
Self type
ModulePath.type
final case class Name extends AnyVal

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
class AnyVal
trait Matchable
class Any
Show all
Self type
object Name

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
Name.type
object Namespace extends Subtype[Path]

Attributes

Supertypes
class Subtype[Path]
class Newtype[Path]
class NewtypeCustom[Path]
class Object
trait Matchable
class Any
Show all
Self type
Namespace.type
sealed trait NodeId extends Product, Serializable

Represents a path in the IR. ==Overview== A NodeID can have two slightly different structures depending on if we are refering to modules or definitions (types/values).

Represents a path in the IR. ==Overview== A NodeID can have two slightly different structures depending on if we are refering to modules or definitions (types/values).

  • When refefering to modules: "module:<Package>:<Module>"
  • When refering to definitions: "type\value:<Package>:<Module><localName>#<nodePath>", where nodePath is optional

Examples of valid NodeIDs:

  • "module:Morphir.Reference.Model:BooksAndRecords"
  • "type:Morphir.Reference.Model:BooksAndRecords:deal"
  • "value:Morphir.Reference.Model:BooksAndRecords:deal#1"

==Referring to modules== We can refer to modules by their Qualified Name, with the module: prefix

For example: "module:Morphir.Reference.Model:BooksAndRecords" refers to the Books and Records module inside the Morphir.Reference.Model package.

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
Known subtypes
class ModuleId
class TypeId
class ValueId
Self type
object NodeId

Attributes

Companion
trait
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
NodeId.type
object NodePath extends Subtype[List[NodePathStep]]

Attributes

Supertypes
class Subtype[List[NodePathStep]]
class Newtype[List[NodePathStep]]
class NewtypeCustom[List[NodePathStep]]
class Object
trait Matchable
class Any
Show all
Self type
NodePath.type
object NodePathStep

Attributes

Companion
trait
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
sealed trait NodePathStep

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object Package

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
Package.type
object PackageName extends Subtype[Path]

Attributes

Supertypes
class Subtype[Path]
class Newtype[Path]
class NewtypeCustom[Path]
class Object
trait Matchable
class Any
Show all
Self type
final case class PackageNamingContext(packageName: PackageName)

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
final case class Path(toList: List[Name])

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
Self type
object Path

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
Path.type
final case class QName(modulePath: Path, localName: Name)

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object QName

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
QName.type
final case class QualifiedModuleName(packageName: PackageName, module: ModuleName)

A qualified module name is a globally unique identifier for a module. It is represented by the combination of a package name and the module name

A qualified module name is a globally unique identifier for a module. It is represented by the combination of a package name and the module name

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
object RawType extends Subtype[Type[Unit]]

Attributes

Supertypes
class Subtype[Type[Unit]]
class Newtype[Type[Unit]]
class NewtypeCustom[Type[Unit]]
class Object
trait Matchable
class Any
Show all
Self type
RawType.type
object RawTypeInfo extends Subtype[TypeInfo[Unit]]

Attributes

Supertypes
class Subtype[TypeInfo[Unit]]
class Newtype[TypeInfo[Unit]]
class NewtypeCustom[TypeInfo[Unit]]
class Object
trait Matchable
class Any
Show all
Self type
sealed trait Type[+A]

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class ExtensibleRecord[A]
class Function[A]
class Record[A]
class Reference[A]
class Tuple[A]
class Unit[A]
class Variable[A]
Show all
object Type

Attributes

Companion
trait
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
Type.type
final case class TypeConstructor[+A](name: Name, args: TypeConstructorArgs[A])

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class TypeConstructorArg[+A](name: Name, tpe: Type[A])

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
final case class TypeConstructorArgs[+A](args: List[TypeConstructorArg[A]]) extends AnyVal

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
class AnyVal
trait Matchable
class Any
Show all
Self type

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
final case class TypeConstructors[+A](byName: Map[Name, TypeConstructor[A]])

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
sealed trait TypeDefinition[+A]

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
Self type

Attributes

Companion
trait
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
sealed trait TypeInfo[+A]

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class TypeDef[A]
class TypeExpr[A]
class TypeSpec[A]
Self type
object TypeInfo

Attributes

Companion
trait
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type
TypeInfo.type
final case class TypeSpec[Props[_], +A](typeParams: List[Name], properties: Props[A])

Attributes

Companion
object
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object TypeSpec

Attributes

Companion
class
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
TypeSpec.type
sealed trait TypeSpecification[+A]

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
Known subtypes
Self type

Attributes

Companion
trait
Supertypes
trait Sum
trait Mirror
class Object
trait Matchable
class Any
Self type

Types

type ModuleName = Type

A module name is a unique identifier for a module within a package. It is represented by a pth, which is a list of names.

A module name is a unique identifier for a module within a package. It is represented by a pth, which is a list of names.

Attributes

type ModulePath = Type
type Namespace = Type
type NodePath = Type
type PackageName = Type

A package name is a globally unique identifier for a package. It is represented by a Path which is a list of names.

A package name is a globally unique identifier for a package. It is represented by a Path which is a list of names.

Attributes

type RawType = Type
type RawTypeInfo = Type
type UType = RawType

Value members

Concrete fields

val UType: RawType.type

Implicits

Implicits

implicit def moduleNameToModulePath(moduleName: ModuleName): ModulePath
implicit def modulePathToModuleName(modulePath: ModulePath): ModuleName