A field assignment transition.
Definition at line 331 of file Transition.h.
#include "Transition.h"
Inheritance diagram for tesla::FieldAssignTransition:
Collaboration diagram for tesla::FieldAssignTransition: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 FieldAssignment & | Assignment () const |
| bool | IsStrict () const |
| This transition can only occur as described in an automaton. More... | |
| bool | EquivalentExpression (const Transition *Other) const |
| virtual TransitionKind | getKind () const |
Public Member Functions inherited from tesla::Transition | |
| 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... | |
| 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 Public Member Functions inherited from tesla::Transition | |
| 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... | |
Protected Member Functions inherited from tesla::Transition | |
| Transition (const State &From, const State &To, bool Init, bool Cleanup, bool OutOfScope) | |
Friends | |
| class | Transition |
Additional Inherited Members | |
Public Types inherited from tesla::Transition | |
| enum | TransitionKind { Null, Now, Fn, FieldAssign, SubAutomaton } |
| Information for LLVM's RTTI (isa<>, cast<>, etc.). More... | |
Static Protected Member Functions inherited from tesla::Transition | |
| static void | Register (llvm::OwningPtr< Transition > &, State &From, State &To, TransitionVector &) |
| static void | Append (const llvm::OwningPtr< Transition > &, TransitionSets &) |
Protected Attributes inherited from tesla::Transition | |
| const State & | From |
| const State & | To |
| bool | Init |
| This transition triggers initialisation. More... | |
| bool | Cleanup |
| This transition triggers cleanup. More... | |
| const bool | OutOfScope |
|
inlinevirtual |
Arguments referenced by this transition.
Implements tesla::Transition.
Definition at line 337 of file Transition.h.
|
inline |
Definition at line 338 of file Transition.h.
|
inlinestatic |
Definition at line 348 of file Transition.h.
References tesla::Transition::FieldAssign, and tesla::Transition::getKind().
Here is the call graph for this function:
|
virtual |
A label that can go in a .dot file (can use newline, Greek HTML codes...).
Implements tesla::Transition.
Definition at line 349 of file Transition.cpp.
References tesla::StructField::base, tesla::FieldAssignment::field, tesla::StructField::name, tesla::FieldAssignment::operation, tesla::ShortName(), tesla::StructField::type, and tesla::FieldAssignment::value.
Here is the call graph for this function:
|
inline |
Definition at line 341 of file Transition.h.
|
inlineprotectedvirtual |
Does this transition consume and produce the same symbols as another?
Implements tesla::Transition.
Definition at line 355 of file Transition.h.
References tesla::Transition::FieldAssign, and tesla::Transition::getKind().
Here is the call graph for this function:
|
inlinevirtual |
Implements tesla::Transition.
Definition at line 352 of file Transition.h.
References tesla::Transition::FieldAssign.
|
inlinevirtual |
Can this transition be captured by real instrumentation code?
Implements tesla::Transition.
Definition at line 333 of file Transition.h.
|
inlinevirtual |
This transition can only occur as described in an automaton.
Reimplemented from tesla::Transition.
Definition at line 339 of file Transition.h.
References tesla::FieldAssignment::strict.
|
virtual |
A short, human-readable label.
Implements tesla::Transition.
Definition at line 337 of file Transition.cpp.
References tesla::StructField::base, tesla::FieldAssignment::field, tesla::StructField::name, tesla::FieldAssignment::operation, tesla::ShortName(), and tesla::FieldAssignment::value.
Here is the call graph for this function:
|
friend |
Definition at line 372 of file Transition.h.