ROSE
0.11.96.11
|
to specify a construct using a specifier Can be used alone or with parent handles when relative specifiers are used
Definition at line 182 of file abstract_handle.h.
#include <abstract_handle.h>
Public Member Functions | |
abstract_handle () | |
Constructors. | |
abstract_handle (abstract_node *node) | |
Create a handle from a node, using the source position as the specifier by default Or use name if source position is not available, then use numbering as the final resort. | |
abstract_handle (abstract_node *node, specifier_type_t stype, specifier_value_t svalue, abstract_handle *p_handle=NULL) | |
Create a handle from an optional parent handle, with explicit type and numbering information available. More... | |
abstract_handle (abstract_node *node, specifier_type_t stype, abstract_handle *p_handle=NULL) | |
Create a handle using specified type, automatically fill out the corresponding value Most useful to create a numbering or name specifier within another handle It also tries its best to recursively generate parent handles using the given specifier type if parent_handle is not provided in the parameter list. More... | |
abstract_handle (abstract_handle *phandle, const std::string &handle_string) | |
construct a handle from a handle string within the scope of an existing handle e.g: <SourceFile<name,/home/liao6/names.cpp> will create a corresponding file handle | |
virtual std::string | get_construct_type_name () |
the language construct type name | |
virtual std::string | toString () |
Output the handle to a string, including all parent handles. | |
virtual bool | fromString (abstract_handle *ancester_handle, const std::string &handle_str_multiple) |
Initialize a handle from a handle string, generate full parent handles when necessary. | |
virtual std::string | toStringSelf () |
Only output the handle itself to a string, excluding parent handles. | |
virtual void | fromStringSelf (abstract_handle *p_handle, const std::string &handle_str_item) |
Instantiate a handle using a handle element's string (a single handle only),the handle refers to a node under a parent. | |
virtual abstract_node * | getNode () const |
specifier * | get_specifier () |
allow multiple specifiers or not? | |
abstract_handle * | get_parent_handle () |
void | set_parent_handle (abstract_handle *parent) |
bool | operator== (const abstract_handle &x) const |
operator == | |
AbstractHandle::abstract_handle::abstract_handle | ( | abstract_node * | node, |
specifier_type_t | stype, | ||
specifier_value_t | svalue, | ||
abstract_handle * | p_handle = NULL |
||
) |
Create a handle from an optional parent handle, with explicit type and numbering information available.
It also tries its best to recursively generate parent handles using the given specifier type if parent_handle is not provided in the parameter list.
AbstractHandle::abstract_handle::abstract_handle | ( | abstract_node * | node, |
specifier_type_t | stype, | ||
abstract_handle * | p_handle = NULL |
||
) |
Create a handle using specified type, automatically fill out the corresponding value Most useful to create a numbering or name specifier within another handle It also tries its best to recursively generate parent handles using the given specifier type if parent_handle is not provided in the parameter list.