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;
This class represents the notion of an expression or statement which has a position within the source...
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...
virtual std::string getConstructTypeName() const
Get the construct' s type name, like function.
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...
ROSE_DLL_API roseNode * buildroseNode(SgNode *snode)
A builder function to avoid duplicated building.
virtual AbstractHandle::abstract_node * getParent() const
Get parent node, used for generate parent handle automatically.
ROSE_DLL_API abstract_handle * buildAbstractHandle(SgNode *snode)
A default builder function handles all details: file use name, others use numbering
ROSE_DLL_API friend 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.
Users should provide a concrete node implementation especially a constructor/builder to avoid duplica...
construct specifier could be used to specify a construct by name, position, numbering,...
ROSE_DLL_API SgLocatedNode * convertHandleToNode(const std::string &handle)
Convert an abstract handle string to a located node in AST.
This class represents the base class for all IR nodes within Sage III.
void * getNode() const
Get the raw IR node associated with the current abstract node.
virtual bool hasSourcePos() const
If the node has meaningful line and column numbers associated with a file.
virtual bool hasName() const
If the node has legal names defined by language standards.
Concrete roseNode derived from abstract_node.
source position information:
String annotations to uniquely indicate any source constructs.