PandA-2024.02
|
used to avoid expansion of c library function or type More...
#include <tree_helper.hpp>
Public Types | |
enum | serialization { none, internal, total } |
Specify the type of serialization that a function must have. More... | |
Public Member Functions | |
serialization | get_serialization (const std::string &name) const |
Return which type of serialization the given function must have. More... | |
bool | is_transparent (const std::string &name) const |
Return if function has to be considered transparent even if we haven't body. More... | |
void | check_lib_type (const tree_nodeRef &var) |
Check if variable is defined in a c system library header; if yes adds its type to library type. More... | |
virtual bool | operator() (const tree_nodeRef &t) const |
check membership to c library function More... | |
FunctionExpander () | |
Constructor. More... | |
virtual | ~FunctionExpander ()=default |
Destructor. More... | |
Private Attributes | |
CustomOrderedSet< std::string > | no_serialize |
Set of functions which don't need serialization. More... | |
CustomOrderedSet< std::string > | internal_serialize |
Set of functions which need only internal serialization. More... | |
CustomOrderedSet< std::string > | transparent |
Set of not opaque functions. More... | |
CustomOrderedSet< std::string > | headers |
Set of headers file containg standard and system types. More... | |
CustomOrderedSet< tree_nodeRef > | lib_types |
Set of types which are in c system library. More... | |
used to avoid expansion of c library function or type
Definition at line 1357 of file tree_helper.hpp.
Specify the type of serialization that a function must have.
Enumerator | |
---|---|
none | No serialization. |
internal | Serialization between call of the same function. |
total | Serialization between call of all funcions. |
Definition at line 1379 of file tree_helper.hpp.
FunctionExpander::FunctionExpander | ( | ) |
Constructor.
Definition at line 6150 of file tree_helper.cpp.
|
virtualdefault |
Destructor.
void FunctionExpander::check_lib_type | ( | const tree_nodeRef & | var | ) |
Check if variable is defined in a c system library header; if yes adds its type to library type.
var | is the node of the variable |
Definition at line 6073 of file tree_helper.cpp.
References tree_node::get_kind(), GET_NODE, and THROW_ASSERT.
FunctionExpander::serialization FunctionExpander::get_serialization | ( | const std::string & | name | ) | const |
Return which type of serialization the given function must have.
name | is the name of the function |
Definition at line 6055 of file tree_helper.cpp.
bool FunctionExpander::is_transparent | ( | const std::string & | name | ) | const |
Return if function has to be considered transparent even if we haven't body.
name | is the name of the function |
Definition at line 6068 of file tree_helper.cpp.
|
virtual |
check membership to c library function
t | is the treenode of the type |
Definition at line 6105 of file tree_helper.cpp.
References tree_node::get_kind(), GET_NODE, THROW_ASSERT, and test_panda::type.
|
private |
Set of headers file containg standard and system types.
Definition at line 1370 of file tree_helper.hpp.
|
private |
Set of functions which need only internal serialization.
Definition at line 1364 of file tree_helper.hpp.
|
private |
Set of types which are in c system library.
Definition at line 1373 of file tree_helper.hpp.
|
private |
Set of functions which don't need serialization.
Definition at line 1361 of file tree_helper.hpp.
|
private |
Set of not opaque functions.
Definition at line 1367 of file tree_helper.hpp.