edu.vub.at.objects.grammar
Interface DefType
DefType
The public interface to a type tag definition AG element.
Example: deftype name
where name
is a valid symbol.
A type tag can have multiple supertypes:
deftype c <: a, b
where a
and b
must evaluate to type tags
- Author:
- tvcutsem
Method Summary |
Table |
parentTypeExpressions()
A type can have zero, one or more parent types. |
Symbol |
typeName()
The name of the type to be defined must be a literal symbol
Example: `{ deftype foo }.statements[1].typeName == `foo |
Methods inherited from interface edu.vub.at.objects.Object |
super |
typeName
Symbol typeName()
- The name of the type to be defined must be a literal symbol
Example:
`{ deftype foo }.statements[1].typeName == `foo
- Returns:
- the name of the type
parentTypeExpressions
Table parentTypeExpressions()
- A type can have zero, one or more parent types.
Example:
`{ deftype foo <: bar, o.baz() }.statements[1].parentTypeExpressions == `[ bar, o.baz() ]
- Returns:
- a table with expressions that each must evaluate to a type