TypeArgManagement

de.uni_luebeck.isp.tessla.tessla_compiler.TypeArgManagement
See theTypeArgManagement companion object
case class TypeArgManagement(resMap: Map[Identifier, TypeExpression], unappliedArgs: Seq[TypeExpression])

Class for managing type arguments

Attributes

resMap

Map representing depiction from type arg names to types

unappliedArgs

Types where type application has already been processed but not the expression where the types are applied to

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any

Members list

Concise view

Value members

Concrete methods

def parsKnown(pars: Seq[Identifier]): TypeArgManagement

Processes the sub-expression after a type application and adds the type arg -> type relation to the resMap. unappliedArgs is cleared. The types are connected to the arguments in the order they appeared in the type application.

Processes the sub-expression after a type application and adds the type arg -> type relation to the resMap. unappliedArgs is cleared. The types are connected to the arguments in the order they appeared in the type application.

Attributes

pars

The type params of the sub-expression. If number does not match previous typeApp call as much type args as possible are connected to types.

Returns:

An updated TypeArgManagement

def typeApp(types: Seq[TypeExpression]): TypeArgManagement

Process a type application. The new types are stored in unappliedArgs until the expression they are applied on is hit. If unappliedArgs already contains types they are overwritten.

Process a type application. The new types are stored in unappliedArgs until the expression they are applied on is hit. If unappliedArgs already contains types they are overwritten.

Attributes

types

The types which are applied to the subexpression

Returns:

An updated TypeArgManagement

Inherited methods

def productElementNames: Iterator[String]

Attributes

Inherited from:
Product
def productIterator: Iterator[Any]

Attributes

Inherited from:
Product