SymbolsPass

com.ossuminc.riddl.passes.symbols.SymbolsPass
See theSymbolsPass companion object

Symbol Table for Validation and other purposes. This symbol table is built from the AST model after syntactic parsing is complete. It will also work for any sub-tree of the model that is rooted by a ParentDefOf[Definition] node.

The symbol tree contains a mapping from leaf name to the entire list of parent definitions (symbols) as well as a mapping from definitions to their parents (parentage). Bot maps are built during a single pass of the AST.

Value parameters

input

The output of the parser pass is the input to SymbolPass

Attributes

Companion
object
Source
SymbolsPass.scala
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Pass
class Object
trait Matchable
class Any
Show all

Members list

Value members

Concrete methods

override def close(): Unit

Close any resources used so this can be used with AutoCloseable or Using.Manager

Close any resources used so this can be used with AutoCloseable or Using.Manager

Attributes

Definition Classes
Source
SymbolsPass.scala
override def name: String

THe name of the pass for inclusion in messages it produces.

THe name of the pass for inclusion in messages it produces. This must be implemented by the subclass

Attributes

Returns

A string value giving the name of this pass

Definition Classes
Source
SymbolsPass.scala
override def postProcess(root: Root): Unit

A signal that the processing is complete and no more calls to process will be made.

A signal that the processing is complete and no more calls to process will be made. This also gives the Pass subclass a chance to do post-processing as some computations can only be done after collecting data from the entire AST

Value parameters

root

The root of the parsed model just as a convenience for post-processing

Attributes

Definition Classes
Source
SymbolsPass.scala

The main implementation of the Pass.

The main implementation of the Pass. The AST is walked in a depth first manner calling this function for each definition it encounters.

Value parameters

definition

The definition to be processed

parents

The stack of definitions that are the parents of com.ossuminc.riddl.language.AST.Definition. This stack goes from immediate parent towards the root. The root is deepest in the stack.

Attributes

Source
SymbolsPass.scala
override def result(root: Root): SymbolsOutput

Generate the output of this Pass.

Generate the output of this Pass. This will only be called after all the calls to process have completed.

Value parameters

root

The new com.ossuminc.riddl.language.AST.Root of the model that the pass computed

Attributes

Returns

an instance of the output type

Definition Classes
Source
SymbolsPass.scala

Inherited methods

Pre-process the root before actually traversing.

Pre-process the root before actually traversing. This is also a signal that the processing is about to start.

Value parameters

root

A com.ossuminc.riddl.language.AST.Root node which encapsulates the whole model. This is the state of the Root as of the last pass.

Attributes

Returns

Typically returns the same Root objects with changes in subsequent levels, but it entirely possibly to completely reorganize the hierarchy, including its root node.

Inherited from:
Pass
Source
Pass.scala

Attributes

Inherited from:
Product

Attributes

Inherited from:
Product

Inherited fields

val in: PassInput

Attributes

Inherited from:
Pass
Source
Pass.scala

Attributes

Inherited from:
Pass
Source
Pass.scala