|
Blender V4.3
|
Public Member Functions | |
| ProcedureDotExport (const Procedure &procedure) | |
| std::string | generate () |
| void | create_nodes () |
| void | create_edges () |
| bool | has_to_be_block_begin (const Instruction &instruction) |
| const Instruction & | get_first_instruction_in_block (const Instruction &representative) |
| const Instruction * | get_next_instruction_in_block (const Instruction &instruction, const Instruction &block_begin) |
| Vector< const Instruction * > | get_instructions_in_block (const Instruction &representative) |
| void | variable_to_string (const Variable *variable, std::stringstream &ss) |
| void | instruction_name_format (StringRef name, std::stringstream &ss) |
| void | instruction_to_string (const CallInstruction &instruction, std::stringstream &ss) |
| void | instruction_to_string (const DestructInstruction &instruction, std::stringstream &ss) |
| void | instruction_to_string (const DummyInstruction &, std::stringstream &ss) |
| void | instruction_to_string (const ReturnInstruction &, std::stringstream &ss) |
| void | instruction_to_string (const BranchInstruction &instruction, std::stringstream &ss) |
| dot::Node & | create_entry_node () |
Definition at line 555 of file multi_function_procedure.cc.
|
inline |
Definition at line 563 of file multi_function_procedure.cc.
|
inline |
Definition at line 630 of file multi_function_procedure.cc.
References blender::fn::multi_function::Branch, blender::fn::multi_function::BranchInstruction::branch_false(), blender::fn::multi_function::BranchInstruction::branch_true(), blender::fn::multi_function::Call, create_entry_node(), blender::fn::multi_function::Destruct, blender::fn::multi_function::Dummy, blender::fn::multi_function::Procedure::entry(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::items(), blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::lookup(), blender::dot::DirectedGraph::new_edge(), blender::dot::Graph::new_node(), next, blender::fn::multi_function::Return, blender::dot::Node::set_shape(), and blender::fn::multi_function::Instruction::type().
Referenced by generate().
|
inline |
Definition at line 841 of file multi_function_procedure.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), ELEM, blender::Vector< T, InlineBufferCapacity, Allocator >::index_range(), blender::fn::multi_function::ParamType::Input, blender::fn::multi_function::ParamType::Mutable, blender::dot::Graph::new_node(), node, blender::fn::multi_function::Procedure::params(), blender::dot::Node::set_shape(), blender::Vector< T, InlineBufferCapacity, Allocator >::size(), blender::fn::multi_function::ConstParameter::variable, and variable_to_string().
Referenced by create_edges().
|
inline |
Definition at line 572 of file multi_function_procedure.cc.
References blender::Map< Key, Value, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_new(), blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add_new(), blender::fn::multi_function::Branch, blender::fn::multi_function::Call, blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::contains(), blender::fn::multi_function::Destruct, blender::fn::multi_function::Dummy, blender::Vector< T, InlineBufferCapacity, Allocator >::extend(), blender::Vector< T, InlineBufferCapacity, Allocator >::first(), get_instructions_in_block(), instruction_to_string(), blender::Vector< T, InlineBufferCapacity, Allocator >::last(), blender::dot::Graph::new_node(), blender::fn::multi_function::Return, and blender::dot::Node::set_shape().
Referenced by generate().
|
inline |
Definition at line 565 of file multi_function_procedure.cc.
References create_edges(), create_nodes(), and blender::dot::DirectedGraph::to_dot_string().
Referenced by blender::fn::multi_function::Procedure::to_dot().
|
inline |
Definition at line 698 of file multi_function_procedure.cc.
References has_to_be_block_begin(), and blender::fn::multi_function::Instruction::prev().
Referenced by get_instructions_in_block().
|
inline |
Definition at line 745 of file multi_function_procedure.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), get_first_instruction_in_block(), and get_next_instruction_in_block().
Referenced by create_nodes().
|
inline |
Definition at line 711 of file multi_function_procedure.cc.
References blender::fn::multi_function::Branch, blender::fn::multi_function::Call, blender::fn::multi_function::Destruct, blender::fn::multi_function::Dummy, has_to_be_block_begin(), next, blender::fn::multi_function::Return, and blender::fn::multi_function::Instruction::type().
Referenced by get_instructions_in_block().
|
inline |
Definition at line 684 of file multi_function_procedure.cc.
References blender::fn::multi_function::InstructionCursor::Branch, ELEM, blender::fn::multi_function::InstructionCursor::Entry, and blender::fn::multi_function::Instruction::prev().
Referenced by get_first_instruction_in_block(), and get_next_instruction_in_block().
|
inline |
Definition at line 770 of file multi_function_procedure.cc.
Referenced by instruction_to_string(), instruction_to_string(), instruction_to_string(), instruction_to_string(), and instruction_to_string().
|
inline |
Definition at line 835 of file multi_function_procedure.cc.
References blender::fn::multi_function::BranchInstruction::condition(), instruction_name_format(), and variable_to_string().
|
inline |
Definition at line 775 of file multi_function_procedure.cc.
References blender::fn::multi_function::MultiFunction::debug_name(), blender::fn::multi_function::CallInstruction::fn(), blender::fn::multi_function::ParamType::Input, instruction_name_format(), blender::fn::multi_function::ParamType::interface_type(), blender::fn::multi_function::ParamType::Mutable, blender::fn::multi_function::ParamType::Output, blender::fn::multi_function::MultiFunction::param_amount(), blender::fn::multi_function::MultiFunction::param_indices(), blender::fn::multi_function::MultiFunction::param_type(), blender::fn::multi_function::CallInstruction::params(), and variable_to_string().
Referenced by create_nodes().
|
inline |
Definition at line 805 of file multi_function_procedure.cc.
References instruction_name_format(), blender::fn::multi_function::DestructInstruction::variable(), and variable_to_string().
|
inline |
Definition at line 811 of file multi_function_procedure.cc.
References instruction_name_format().
|
inline |
Definition at line 816 of file multi_function_procedure.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), ELEM, blender::Vector< T, InlineBufferCapacity, Allocator >::index_range(), instruction_name_format(), blender::fn::multi_function::ParamType::Mutable, blender::fn::multi_function::ParamType::Output, blender::fn::multi_function::Procedure::params(), blender::Vector< T, InlineBufferCapacity, Allocator >::size(), blender::fn::multi_function::ConstParameter::variable, and variable_to_string().
|
inline |
Definition at line 757 of file multi_function_procedure.cc.
Referenced by create_entry_node(), instruction_to_string(), instruction_to_string(), instruction_to_string(), and instruction_to_string().