ROSE 0.11.145.147
Public Member Functions | List of all members
AbstractHandle::abstract_handle Class Reference

Description

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 <midend/abstractHandle/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.
 
 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.
 
 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_nodegetNode () const
 
specifierget_specifier ()
 allow multiple specifiers or not?
 
abstract_handleget_parent_handle ()
 
void set_parent_handle (abstract_handle *parent)
 
bool operator== (const abstract_handle &x) const
 operator ==
 

Constructor & Destructor Documentation

◆ abstract_handle() [1/2]

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.

◆ abstract_handle() [2/2]

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.


◆ ~abstract_handle()

virtual AbstractHandle::abstract_handle::~abstract_handle ( )
inlinevirtual

Definition at line 210 of file abstract_handle.h.

Member Function Documentation

◆ getNode()

virtual abstract_node * AbstractHandle::abstract_handle::getNode ( ) const
inlinevirtual

Definition at line 227 of file abstract_handle.h.

◆ get_specifier()

specifier * AbstractHandle::abstract_handle::get_specifier ( )
inline

allow multiple specifiers or not?

Definition at line 229 of file abstract_handle.h.

◆ get_parent_handle()

abstract_handle * AbstractHandle::abstract_handle::get_parent_handle ( )
inline

Definition at line 231 of file abstract_handle.h.

◆ set_parent_handle()

void AbstractHandle::abstract_handle::set_parent_handle ( abstract_handle parent)
inline

Definition at line 232 of file abstract_handle.h.

◆ operator==()

bool AbstractHandle::abstract_handle::operator== ( const abstract_handle x) const
inline

operator ==

Definition at line 236 of file abstract_handle.h.


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