PandA-2024.02
Public Member Functions | Private Member Functions
NonDeterministicFlows Class Reference

Class to test non deterministic flows. More...

#include <non_deterministic_flows.hpp>

Inheritance diagram for NonDeterministicFlows:
Inheritance graph
[legend]
Collaboration diagram for NonDeterministicFlows:
Collaboration graph
[legend]

Public Member Functions

 NonDeterministicFlows (const DesignFlowManagerConstRef design_flow_manager, const ParameterConstRef parameters)
 Constructor. More...
 
 ~NonDeterministicFlows () override
 Destructor. More...
 
DesignFlowStep_Status Exec () override
 Execute the flow. More...
 
- Public Member Functions inherited from DesignFlow
 DesignFlow (const DesignFlowManagerConstRef design_flow_manager, const DesignFlow_Type design_flow_type, const ParameterConstRef parameters)
 Constructor. More...
 
 ~DesignFlow () override
 Destructor. More...
 
void ComputeRelationships (DesignFlowStepSet &relationship, const DesignFlowStep::RelationshipType relationship_type) override
 Compute the relationships of a step with other steps. More...
 
std::string GetSignature () const override
 Return the signature of this step. More...
 
std::string GetName () const override
 Return the name of this design step. More...
 
DesignFlowStepFactoryConstRef CGetDesignFlowStepFactory () const override
 Return the factory to create this type of steps. More...
 
bool HasToBeExecuted () const override
 Check if this step has actually to be executed. More...
 
- Public Member Functions inherited from DesignFlowStep
 DesignFlowStep (const DesignFlowManagerConstRef design_flow_manager, const ParameterConstRef parameters)
 Constructor. More...
 
virtual ~DesignFlowStep ()
 Destructor. More...
 
virtual void Initialize ()
 Initialize the step (i.e., like a constructor, but executed just before exec. More...
 
DesignFlowStep_Status GetStatus () const
 Return the status of this design step. More...
 
virtual void WriteDot (std::ostream &out) const
 Write the label for a dot graph. More...
 
bool IsComposed () const
 Returns if this step is composed. More...
 
int CGetDebugLevel () const
 Return the debug level of the step. More...
 
virtual void PrintInitialIR () const
 Dump the initial intermediate representation. More...
 
virtual void PrintFinalIR () const
 Dump the final intermediate representation. More...
 

Private Member Functions

const std::string ComputeArgString (const size_t seed) const
 Compute the arg list string of the tool. More...
 
bool ExecuteTool (const size_t seed) const
 Execute tool with non deterministic flow. More...
 

Additional Inherited Members

- Public Types inherited from DesignFlowStep
enum  RelationshipType { DEPENDENCE_RELATIONSHIP, INVALIDATION_RELATIONSHIP, PRECEDENCE_RELATIONSHIP }
 The relationship type. More...
 
- Static Public Member Functions inherited from DesignFlow
static std::string ComputeSignature (const DesignFlow_Type design_flow_type)
 Compute the signature of a step. More...
 
static const std::string EnumToKindText (const DesignFlow_Type design_flow_type)
 Return the name of the type. More...
 
static DesignFlow_Type KindTextToEnum (const std::string &name)
 Given the name of design flow, return the enum. More...
 
- Protected Attributes inherited from DesignFlow
const DesignFlow_Type design_flow_type
 The type of this design flow. More...
 
- Protected Attributes inherited from DesignFlowStep
bool composed
 True if this step represents a composition of design flow steps (e.g., a flow); must be set by specialized constructors. More...
 
const Wrefcount< const DesignFlowManagerdesign_flow_manager
 The design flow manager. More...
 
const ParameterConstRef parameters
 Set of input parameters. More...
 
int debug_level
 The debug level. More...
 
const int output_level
 The output level. More...
 

Detailed Description

Class to test non deterministic flows.

Definition at line 51 of file non_deterministic_flows.hpp.

Constructor & Destructor Documentation

◆ NonDeterministicFlows()

NonDeterministicFlows::NonDeterministicFlows ( const DesignFlowManagerConstRef  design_flow_manager,
const ParameterConstRef  parameters 
)

Constructor.

Parameters
design_flow_manageris the design flow manager
parametersis the set of the parameters

Definition at line 100 of file non_deterministic_flows.cpp.

References ~NonDeterministicFlows().

Here is the call graph for this function:

◆ ~NonDeterministicFlows()

NonDeterministicFlows::~NonDeterministicFlows ( )
overridedefault

Destructor.

Referenced by NonDeterministicFlows().

Here is the caller graph for this function:

Member Function Documentation

◆ ComputeArgString()

const std::string NonDeterministicFlows::ComputeArgString ( const size_t  seed) const
private

Compute the arg list string of the tool.

Parameters
seedis the seed to be passed
Returns
the argument string

Executable

Definition at line 49 of file non_deterministic_flows.cpp.

References test_panda::arg, DesignFlowStep::parameters, STR, and THROW_ASSERT.

Referenced by ExecuteTool().

Here is the caller graph for this function:

◆ Exec()

DesignFlowStep_Status NonDeterministicFlows::Exec ( )
overridevirtual

Execute the flow.

Returns
the exit status of this step

Implements DesignFlowStep.

Definition at line 108 of file non_deterministic_flows.cpp.

References ABORTED, ExecuteTool(), DesignFlowStep::parameters, and SUCCESS.

Here is the call graph for this function:

◆ ExecuteTool()

bool NonDeterministicFlows::ExecuteTool ( const size_t  seed) const
private

Execute tool with non deterministic flow.

Parameters
seedis the seed to be passed
Returns
true if the execution was successful, false otherwise

Definition at line 75 of file non_deterministic_flows.cpp.

References ComputeArgString(), DesignFlowStep::debug_level, DEBUG_LEVEL_VERY_PEDANTIC, INDENT_DBG_MEX, IsError(), PandaSystem(), DesignFlowStep::parameters, and STR.

Referenced by Exec().

Here is the call graph for this function:
Here is the caller graph for this function:

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

Generated on Mon Feb 12 2024 13:03:59 for PandA-2024.02 by doxygen 1.8.13