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.