1 #ifndef rose_adapter_INCLUDED
2 #define rose_adapter_INCLUDED
8 #include "abstract_handle.h"
16 void*
getNode()
const {
return (
void*) mNode; }
20 virtual std::string
getName()
const;
24 virtual std::string getFileName()
const;
29 virtual std::string toString()
const;
ROSE_DLL_API SgLocatedNode * convertHandleToNode(const std::string &handle)
Convert an abstract handle string to a located node in AST.
virtual bool hasSourcePos() const
If the node has meaningful line and column numbers associated with a file.
source position information:
String annotations to uniquely indicate any source constructs.
ROSE_DLL_API friend roseNode * buildroseNode(SgNode *snode)
A builder function to avoid duplicated building.
Concrete roseNode derived from abstract_node.
ROSE_DLL_API roseNode * buildroseNode(SgNode *snode)
A builder function to avoid duplicated building.
virtual std::string getName() const
Get the name of the construct if it is named, like function name.
virtual size_t getNumbering(const AbstractHandle::abstract_node *another_node) const
Get the ordering of the construct relative to another construct in a higher scope Numbering start fro...
This class represents the base class for all IR nodes within Sage III.
virtual bool hasName() const
If the node has legal names defined by language standards.
construct specifier could be used to specify a construct by name, position, numbering, labels, etc (e_name, foo) (e_position, 15)
virtual AbstractHandle::abstract_node * findNode(std::string construct_type_str, AbstractHandle::specifier mspecifier) const
Find a node of a given type, it also matches the specifier.
virtual AbstractHandle::abstract_node * getFileNode() const
Get the start source file position of the construct Get the abstract node for file containing the cur...
This class represents the notion of an expression or statement which has a position within the source...
ROSE_DLL_API abstract_handle * buildAbstractHandle(SgNode *snode)
A default builder function handles all details: file use name, others use numbering.
virtual std::string getConstructTypeName() const
Get the construct' s type name, like function.
void * getNode() const
Get the raw IR node associated with the current abstract node.
Users should provide a concrete node implementation especially a constructor/builder to avoid duplica...
virtual AbstractHandle::abstract_node * getParent() const
Get parent node, used for generate parent handle automatically.