abstract class Declaration extends ContentElement
Declarations are the children of Modules.
They are mostly Constants for the syntax and RuleConstants for the semantics (= rule-based implementation). The MMT data model is extensible via DerivedDeclarations.
Structures (except for includes) are conceptually a derived declaration but are hard-coded as a separate kind of declaration. Inlcudes are represented as special cases of structures.
- Source
- Declaration.scala
- Alphabetic
- By Inheritance
- Declaration
- ContentElement
- StructuralElement
- NamedElement
- Content
- ClientProperties
- HasMetaData
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
- new Declaration()
Type Members
-
abstract
type
ThisType >: Declaration.this.type <: Declaration
to allow for sharper types of fields, every subclass of Declaration defines this to be itself
Abstract Value Members
-
abstract
val
feature: String
the kind of declaration, e.g., "constant"
the kind of declaration, e.g., "constant"
- Definition Classes
- ContentElement → StructuralElement
-
abstract
def
getComponents: List[DeclarationComponent]
returns all term components of this elements
returns all term components of this elements
- Definition Classes
- StructuralElement
-
abstract
def
getDeclarations: List[Declaration]
returns all children of this elements
returns all children of this elements
- Definition Classes
- Declaration → ContentElement → StructuralElement
-
abstract
val
home: Term
the containing module
the containing module
this is almost always OMMOD(p:MPath), the main exception are generated anonymous modules
-
abstract
def
merge(that: Declaration): ThisType
a new declaration with the same path obtained by replacing fields in 'this' with corresponding fields of 'that' Unfortunately, this must take any declaration and throw an error if 'not (that : ThisType)'
-
abstract
val
name: LocalName
the local name in the containing module
the local name in the containing module
for symbols: the name of the symbols
for assignments: the name of the symbols to which a value is assigned
- Definition Classes
- Declaration → ContentElement → NamedElement
-
abstract
def
toNode: Node
XML representation
XML representation
- Definition Classes
- Content
-
abstract
def
translate(newHome: Term, prefix: LocalName, translator: Translator, context: Context): ThisType
a recursively translated copy of this declaration with a URI
a recursively translated copy of this declaration with a URI
- newHome
the home theory of the result
- prefix
the prefix used to form the name of the new declaration
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
alternativeNames: List[LocalName]
an alternative name
an alternative name
None by default; overridden in particular by Constant
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
lazy val
clientProperty: ListMap[URI, Any]
- Definition Classes
- ClientProperties
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
def
compatible(that: StructuralElement): Boolean
two StructuralElement's are compatible if they have the same type, same Path, and agree in all parts that are TermContainer's
two StructuralElement's are compatible if they have the same type, same Path, and agree in all parts that are TermContainer's
- Definition Classes
- StructuralElement
- def documentHome: DPath
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
equivalentTo(that: StructuralElement): Boolean
logically equivalent: compares headerInfo, components, and declarations
logically equivalent: compares headerInfo, components, and declarations
- Definition Classes
- StructuralElement
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
foreachComponent(f: (CPath, ComponentContainer) ⇒ Unit): Unit
recursively applies a function to all components in this element (in declaration order)
recursively applies a function to all components in this element (in declaration order)
- Definition Classes
- ContentElement
-
def
foreachDeclaration(f: (ContentElement) ⇒ Unit): Unit
recursively applies a function to all declarations in this element (in declaration order)
recursively applies a function to all declarations in this element (in declaration order)
- Definition Classes
- ContentElement
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
getComponent(k: ComponentKey): Option[ComponentContainer]
returns a specific component if present
returns a specific component if present
- Definition Classes
- StructuralElement
-
def
getComponentContext(k: ComponentKey): Context
like getComponent but returns the additional context (in addition to the context of the element) of the component, empty by default, override as needed unspecified if the component does not exist
like getComponent but returns the additional context (in addition to the context of the element) of the component, empty by default, override as needed unspecified if the component does not exist
- Definition Classes
- StructuralElement
-
def
getMetaDataNode: NodeSeq
- Definition Classes
- HasMetaData
-
def
getOrigin: Origin
- Definition Classes
- StructuralElement
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
headerInfo: HeaderInfo
header information of this elements includes the MMT types (e.g., domain, codomain of links) but not the logical types of constants
header information of this elements includes the MMT types (e.g., domain, codomain of links) but not the logical types of constants
- Definition Classes
- StructuralElement
-
def
isGenerated: Boolean
- Definition Classes
- StructuralElement
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
merge(that: StructuralElement): Unit
merge all properties of 'that' into 'this' except for components and declarations
merge all properties of 'that' into 'this' except for components and declarations
- Definition Classes
- Declaration → StructuralElement
-
def
mergeError(that: Declaration): Nothing
called to throw an error from within 'merge'
called to throw an error from within 'merge'
- Attributes
- protected
-
val
metadata: MetaData
- Definition Classes
- HasMetaData
-
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()
-
lazy val
parent: MPath
the containing module
the containing module
- Definition Classes
- Declaration → StructuralElement
-
def
path: GlobalName
the full MMT URI, parent ? name
the full MMT URI, parent ? name
- Definition Classes
- Declaration → ContentElement → StructuralElement
-
def
primaryNameAndAliases: (LocalName, List[LocalName])
- returns
the shortest name and all other names
- def relativeDocumentHome: LocalName
- def setDocumentHome(ln: LocalName): Unit
-
def
setOrigin(o: Origin): Unit
- Definition Classes
- StructuralElement
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toNode(rh: RenderingHandler): Unit
by default, this prints out toNode
by default, this prints out toNode
potentially large StructuralElements should override it with a memory-efficient implementation
- Definition Classes
- Content
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
def
toTerm: OMID
the OMS referencing this declaration
the OMS referencing this declaration
- Definition Classes
- Declaration → ContentElement
-
def
translate(translator: Translator, context: Context): ThisType
a recursively translated copy of this declaration
-
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()