A sub-automaton.
Definition at line 377 of file Transition.h.
#include "Transition.h"
Public Member Functions | |
bool | IsRealisable () const |
Can this transition be captured by real instrumentation code? More... | |
std::string | ShortLabel () const |
A short, human-readable label. More... | |
std::string | DotLabel () const |
A label that can go in a .dot file (can use newline, Greek HTML codes...). More... | |
const ReferenceVector | Arguments () const |
Arguments referenced by this transition. More... | |
const Identifier & | GetID () const |
bool | EquivalentExpression (const Transition *Other) const |
virtual TransitionKind | getKind () const |
![]() | |
virtual | ~Transition () |
const State & | Source () const |
const State & | Destination () const |
bool | RequiresInit () const |
This transition triggers initialisation of its TESLA automata class. More... | |
bool | RequiresCleanup () const |
This transition triggers cleanup of its TESLA automata class. More... | |
virtual bool | IsStrict () const |
This transition can only occur as described in an automaton. More... | |
llvm::SmallVector< const Argument *, 4 > | NewArguments () const |
Arguments newly referenced by this transition (unknown to previous state). More... | |
int | NewArgMask () const |
A bitmask representing the arguments newly referenced by this transition. More... | |
void | ReferencesThusFar (llvm::OwningArrayPtr< const Argument * > &Args, ReferenceVector &Ref) const |
The references known at the point this transition occurs. More... | |
virtual std::string | String () const |
bool | InScope () const |
Static Public Member Functions | |
static bool | classof (const Transition *T) |
![]() | |
static void | Create (State &From, State &To, TransitionVector &Transitions, bool Init=false, bool Cleanup=false) |
Create an unconditional transition. More... | |
static void | Create (State &From, State &To, const FunctionEvent &Ev, TransitionVector &, bool Init, bool Cleanup, bool OutOfScope=false) |
Create a FunctionEvent transition. More... | |
static void | Create (State &From, State &To, const FieldAssignment &A, TransitionVector &, bool Init, bool Cleanup, bool OutOfScope=false) |
Create a FieldAssignment transition. More... | |
static void | Create (State &From, State &To, const NowEvent &, const AutomatonDescription &, TransitionVector &, bool Init, bool Cleanup) |
static void | CreateSubAutomaton (State &From, State &To, const Identifier &, TransitionVector &) |
static void | Copy (State &From, State &To, const Transition *Other, TransitionVector &, bool OutOfScope=false) |
Creates a transition between the specified states, with the same transition type as the copied transition. More... | |
static void | GroupClasses (const TransitionVector &, TransitionSets &) |
Group transitions into equivalence classes. More... | |
Protected Member Functions | |
virtual bool | EquivalentTo (const Transition &T) const |
Does this transition consume and produce the same symbols as another? More... | |
![]() | |
Transition (const State &From, const State &To, bool Init, bool Cleanup, bool OutOfScope) | |
Friends | |
class | Transition |
Additional Inherited Members | |
![]() | |
enum | TransitionKind { Null, Now, Fn, FieldAssign, SubAutomaton } |
Information for LLVM's RTTI (isa<>, cast<>, etc.). More... | |
![]() | |
static void | Register (llvm::OwningPtr< Transition > &, State &From, State &To, TransitionVector &) |
static void | Append (const llvm::OwningPtr< Transition > &, TransitionSets &) |
![]() | |
const State & | From |
const State & | To |
bool | Init |
This transition triggers initialisation. More... | |
bool | Cleanup |
This transition triggers cleanup. More... | |
const bool | OutOfScope |
|
virtual |
Arguments referenced by this transition.
Implements tesla::Transition.
Definition at line 371 of file Transition.cpp.
|
inlinestatic |
Definition at line 393 of file Transition.h.
References tesla::Transition::getKind(), and tesla::Transition::SubAutomaton.
|
inlinevirtual |
A label that can go in a .dot file (can use newline, Greek HTML codes...).
Implements tesla::Transition.
Definition at line 381 of file Transition.h.
References tesla::ShortName().
|
inline |
Definition at line 386 of file Transition.h.
|
inlineprotectedvirtual |
Does this transition consume and produce the same symbols as another?
Implements tesla::Transition.
Definition at line 400 of file Transition.h.
References tesla::Transition::getKind(), and tesla::Transition::SubAutomaton.
|
inline |
Definition at line 384 of file Transition.h.
|
inlinevirtual |
Implements tesla::Transition.
Definition at line 397 of file Transition.h.
References tesla::Transition::SubAutomaton.
|
inlinevirtual |
Can this transition be captured by real instrumentation code?
Implements tesla::Transition.
Definition at line 379 of file Transition.h.
|
inlinevirtual |
A short, human-readable label.
Implements tesla::Transition.
Definition at line 380 of file Transition.h.
References tesla::ShortName().
|
friend |
Definition at line 412 of file Transition.h.