Storm 1.13.0.1
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
storm::jani::JaniScopeChanger Class Reference

#include <JaniScopeChanger.h>

Public Member Functions

 JaniScopeChanger ()=default
void makeVariableGlobal (storm::expressions::Variable const &variable, Model &model) const
 Moves the given variable to the global scope.
void makeVariableLocal (storm::expressions::Variable const &variable, Model &model, uint64_t automatonIndex) const
 Moves the given variable into the local scope of the automaton with the given index.
bool canMakeVariableGlobal (storm::expressions::Variable const &variable, Model const &model) const
 Checks whether this variable can be made global without introducing name clashes.
std::pair< bool, uint64_t > canMakeVariableLocal (storm::expressions::Variable const &variable, Model const &model, storm::OptionalRef< std::vector< Property > const > properties=storm::NullRef, std::optional< uint64_t > automatonIndex=std::nullopt) const
 Checks whether this variable can be made local without introducing out-of-scope accesses.
void makeVariablesGlobal (Model &model) const
 Moves as many variables to the global scope as possible.
void makeVariablesLocal (Model &model, storm::OptionalRef< std::vector< Property > const > properties=storm::NullRef) const
 Moves as many variables to a local scope as possible.

Detailed Description

Definition at line 20 of file JaniScopeChanger.h.

Constructor & Destructor Documentation

◆ JaniScopeChanger()

storm::jani::JaniScopeChanger::JaniScopeChanger ( )
default

Member Function Documentation

◆ canMakeVariableGlobal()

bool storm::jani::JaniScopeChanger::canMakeVariableGlobal ( storm::expressions::Variable const & variable,
Model const & model ) const

Checks whether this variable can be made global without introducing name clashes.

Definition at line 89 of file JaniScopeChanger.cpp.

◆ canMakeVariableLocal()

std::pair< bool, uint64_t > storm::jani::JaniScopeChanger::canMakeVariableLocal ( storm::expressions::Variable const & variable,
Model const & model,
storm::OptionalRef< std::vector< Property > const > properties = storm::NullRef,
std::optional< uint64_t > automatonIndex = std::nullopt ) const

Checks whether this variable can be made local without introducing out-of-scope accesses.

Returns true if this is a case as well as an automaton index where to pout the variable

Definition at line 108 of file JaniScopeChanger.cpp.

◆ makeVariableGlobal()

void storm::jani::JaniScopeChanger::makeVariableGlobal ( storm::expressions::Variable const & variable,
Model & model ) const

Moves the given variable to the global scope.

It is not checked whether this introduces name clashes

Definition at line 66 of file JaniScopeChanger.cpp.

◆ makeVariableLocal()

void storm::jani::JaniScopeChanger::makeVariableLocal ( storm::expressions::Variable const & variable,
Model & model,
uint64_t automatonIndex ) const

Moves the given variable into the local scope of the automaton with the given index.

It is not checked whether this introduces out-of-scope accesses.

Definition at line 81 of file JaniScopeChanger.cpp.

◆ makeVariablesGlobal()

void storm::jani::JaniScopeChanger::makeVariablesGlobal ( Model & model) const

Moves as many variables to the global scope as possible.

Definition at line 164 of file JaniScopeChanger.cpp.

◆ makeVariablesLocal()

void storm::jani::JaniScopeChanger::makeVariablesLocal ( Model & model,
storm::OptionalRef< std::vector< Property > const > properties = storm::NullRef ) const

Moves as many variables to a local scope as possible.

Definition at line 179 of file JaniScopeChanger.cpp.


The documentation for this class was generated from the following files: