Envision
A visual programming IDE for object-oriented languages
List of all members | Public Member Functions | Private Attributes
CppImport::EnvisionToClangMap Class Reference

logically holds the mapping from Envision AST nodes to Clang AST nodes. More...

Public Member Functions

QMultiHash< Model::Node *, clang::SourceRange >::iterator begin ()
 
void clear ()
 
Model::NodeclosestParentWithAstMapping (Model::Node *node) const
 
bool contains (Model::Node *node) const
 
QMultiHash< Model::Node *, clang::SourceRange >::iterator end ()
 
QList< clang::SourceRange > get (Model::Node *node) const
 
void mapAst (clang::SourceRange sourceRange, Model::Node *envisionAstNode)
 
const QSet< Model::Node * > nodes () const
 
void remove (Model::Node *node)
 

Private Attributes

QMultiHash< Model::Node *, clang::SourceRange > envisionToClangMap_
 

Detailed Description

logically holds the mapping from Envision AST nodes to Clang AST nodes.

in practice finds and stores the relevant source range of the Clang AST nodes since that is all information we need.

Member Function Documentation

◆ begin()

QMultiHash< Model::Node *, clang::SourceRange >::iterator CppImport::EnvisionToClangMap::begin ( )
inline

◆ clear()

void CppImport::EnvisionToClangMap::clear ( )
inline

◆ closestParentWithAstMapping()

Model::Node * CppImport::EnvisionToClangMap::closestParentWithAstMapping ( Model::Node node) const

◆ contains()

bool CppImport::EnvisionToClangMap::contains ( Model::Node node) const
inline

◆ end()

QMultiHash< Model::Node *, clang::SourceRange >::iterator CppImport::EnvisionToClangMap::end ( )
inline

◆ get()

QList< clang::SourceRange > CppImport::EnvisionToClangMap::get ( Model::Node node) const

◆ mapAst()

void CppImport::EnvisionToClangMap::mapAst ( clang::SourceRange  sourceRange,
Model::Node envisionAstNode 
)

◆ nodes()

const QSet< Model::Node * > CppImport::EnvisionToClangMap::nodes ( ) const
inline

◆ remove()

void CppImport::EnvisionToClangMap::remove ( Model::Node node)
inline

Member Data Documentation

◆ envisionToClangMap_

QMultiHash<Model::Node*, clang::SourceRange> CppImport::EnvisionToClangMap::envisionToClangMap_
private