Pass

com.ossuminc.riddl.passes.Pass
See thePass companion object
abstract class Pass(val in: PassInput, val out: PassesOutput)(using io: PlatformContext)

Abstract Pass definition.

Value parameters

in

The input to the pass. This provides the data over which the pass is executed

out

The output from previous runs of OTHER passes, which is a form of input to the pass, perhaps.

Attributes

Companion
object
Source
Pass.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class HugoPass
class DiagramsPass
class SymbolsPass
class CollectingPass[ET]
class GlossaryPass
class MessagesPass
class ToDoListPass
class StatsPass
class VisitingPass[VT]
class PrettifyPass
Show all

Members list

Value members

Abstract methods

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

Source
Pass.scala

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

Source
Pass.scala

Concrete methods

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

Source
Pass.scala

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

Source
Pass.scala

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.

Source
Pass.scala

Concrete fields

val in: PassInput

Attributes

Source
Pass.scala

Attributes

Source
Pass.scala