KDevelop API Documentation

StoreWalker Class Reference

#include <store_walker.h>

Inheritance diagram for StoreWalker:

TreeParser List of all members.

Public Member Functions

 StoreWalker (const QString &fileName, CodeModel *store)
virtual ~StoreWalker ()
FileDom file ()
virtual void parseTranslationUnit (TranslationUnitAST *)
virtual void parseDeclaration (DeclarationAST *)
virtual void parseLinkageSpecification (LinkageSpecificationAST *)
virtual void parseNamespace (NamespaceAST *)
virtual void parseNamespaceAlias (NamespaceAliasAST *)
virtual void parseUsing (UsingAST *)
virtual void parseUsingDirective (UsingDirectiveAST *)
virtual void parseTypedef (TypedefAST *)
virtual void parseTemplateDeclaration (TemplateDeclarationAST *)
virtual void parseSimpleDeclaration (SimpleDeclarationAST *)
virtual void parseFunctionDefinition (FunctionDefinitionAST *)
virtual void parseLinkageBody (LinkageBodyAST *)
virtual void parseAccessDeclaration (AccessDeclarationAST *)
virtual void parseTypeSpecifier (TypeSpecifierAST *)
virtual void parseClassSpecifier (ClassSpecifierAST *)
virtual void parseEnumSpecifier (EnumSpecifierAST *)
virtual void parseElaboratedTypeSpecifier (ElaboratedTypeSpecifierAST *)
virtual void parseTypeDeclaratation (TypeSpecifierAST *typeSpec)
virtual void parseDeclaration (GroupAST *funSpec, GroupAST *storageSpec, TypeSpecifierAST *typeSpec, InitDeclaratorAST *decl)
virtual void parseFunctionDeclaration (GroupAST *funSpec, GroupAST *storageSpec, TypeSpecifierAST *typeSpec, InitDeclaratorAST *decl)
virtual void parseFunctionArguments (DeclaratorAST *declarator, FunctionDom method)
virtual void parseBaseClause (BaseClauseAST *baseClause, ClassDom klass)

Private Member Functions

NamespaceDom findOrInsertNamespace (NamespaceAST *ast, const QString &name)
QString typeOfDeclaration (TypeSpecifierAST *typeSpec, DeclaratorAST *declarator)
QStringList scopeOfName (NameAST *id, const QStringList &scope)
QStringList scopeOfDeclarator (DeclaratorAST *d, const QStringList &scope)
 StoreWalker (const StoreWalker &source)
void operator= (const StoreWalker &source)

Private Attributes

FileDom m_file
QString m_fileName
QStringList m_currentScope
CodeModelm_store
QValueList< QStringListm_imports
int m_currentAccess
bool m_inSlots
bool m_inSignals
int m_anon
bool m_inStorageSpec
bool m_inTypedef
DeclaratorASTm_currentDeclarator
QValueStack< NamespaceDomm_currentNamespace
QValueStack< ClassDomm_currentClass

Constructor & Destructor Documentation

StoreWalker::StoreWalker const QString fileName,
CodeModel store
 

Definition at line 20 of file store_walker.cpp.

References URLUtil::canonicalPath(), m_fileName, and StoreWalker().

Referenced by StoreWalker().

StoreWalker::~StoreWalker  )  [virtual]
 

Definition at line 28 of file store_walker.cpp.

StoreWalker::StoreWalker const StoreWalker source  )  [private]
 


Member Function Documentation

FileDom StoreWalker::file  )  [inline]
 

Definition at line 26 of file store_walker.h.

References m_file.

Referenced by CppDriver::fileParsed(), and CppSupportPart::recomputeCodeModel().

NamespaceDom StoreWalker::findOrInsertNamespace NamespaceAST ast,
const QString name
[private]
 

Definition at line 530 of file store_walker.cpp.

References CodeModel::create(), findOrInsertNamespace(), AST::getEndPosition(), AST::getStartPosition(), m_currentNamespace, m_currentScope, m_file, m_fileName, and m_store.

Referenced by findOrInsertNamespace(), and parseNamespace().

void StoreWalker::operator= const StoreWalker source  )  [private]
 

void StoreWalker::parseAccessDeclaration AccessDeclarationAST  )  [virtual]
 

Reimplemented from TreeParser.

Definition at line 510 of file store_walker.cpp.

References AccessDeclarationAST::accessList(), m_currentAccess, m_inSignals, m_inSlots, and parseAccessDeclaration().

Referenced by parseAccessDeclaration().

void StoreWalker::parseBaseClause BaseClauseAST baseClause,
ClassDom  klass
[virtual]
 

Definition at line 677 of file store_walker.cpp.

References BaseClauseAST::baseSpecifierList(), BaseSpecifierAST::name(), parseBaseClause(), and NameAST::text().

Referenced by parseBaseClause(), and parseClassSpecifier().

void StoreWalker::parseClassSpecifier ClassSpecifierAST  )  [virtual]
 

Reimplemented from TreeParser.

Definition at line 328 of file store_walker.cpp.

References ClassSpecifierAST::baseClause(), ClassDom, ClassSpecifierAST::classKey(), CodeModel::create(), DeclaratorAST::declaratorId(), endl(), AST::getEndPosition(), AST::getStartPosition(), kdDebug(), m_anon, m_currentAccess, m_currentClass, m_currentDeclarator, m_currentNamespace, m_currentScope, m_file, m_fileName, m_imports, m_inSignals, m_inSlots, m_store, TypeSpecifierAST::name(), parseBaseClause(), parseClassSpecifier(), scopeOfName(), ClassOrNamespaceNameAST::text(), NameAST::text(), AST::text(), and NameAST::unqualifiedName().

Referenced by parseClassSpecifier().

void StoreWalker::parseDeclaration GroupAST funSpec,
GroupAST storageSpec,
TypeSpecifierAST typeSpec,
InitDeclaratorAST decl
[virtual]
 

Definition at line 440 of file store_walker.cpp.

References CodeModel::create(), InitDeclaratorAST::declarator(), DeclaratorAST::declaratorId(), endl(), AST::getEndPosition(), AST::getStartPosition(), kdDebug(), m_currentAccess, m_currentClass, m_currentNamespace, m_file, m_fileName, m_inStorageSpec, m_store, GroupAST::nodeList(), DeclaratorAST::parameterDeclarationClause(), parseDeclaration(), parseFunctionDeclaration(), scopeOfDeclarator(), DeclaratorAST::subDeclarator(), text(), ClassOrNamespaceNameAST::text(), typeOfDeclaration(), and NameAST::unqualifiedName().

void StoreWalker::parseDeclaration DeclarationAST  )  [virtual]
 

Reimplemented from TreeParser.

Definition at line 55 of file store_walker.cpp.

References parseDeclaration().

Referenced by parseDeclaration(), parseSimpleDeclaration(), and parseTemplateDeclaration().

void StoreWalker::parseElaboratedTypeSpecifier ElaboratedTypeSpecifierAST  )  [virtual]
 

Reimplemented from TreeParser.

Definition at line 430 of file store_walker.cpp.

References parseElaboratedTypeSpecifier().

Referenced by parseElaboratedTypeSpecifier().

void StoreWalker::parseEnumSpecifier EnumSpecifierAST  )  [virtual]
 

Reimplemented from TreeParser.

Definition at line 399 of file store_walker.cpp.

References CodeModel::create(), EnumSpecifierAST::enumeratorList(), m_currentAccess, m_currentClass, m_currentNamespace, m_file, m_fileName, m_store, parseEnumSpecifier(), and VariableDom.

Referenced by parseEnumSpecifier().

void StoreWalker::parseFunctionArguments DeclaratorAST declarator,
FunctionDom  method
[virtual]
 

Definition at line 631 of file store_walker.cpp.

References ArgumentDom, CodeModel::create(), ParameterDeclarationAST::declarator(), declaratorToString(), l, m_store, DeclaratorAST::parameterDeclarationClause(), ParameterDeclarationClauseAST::parameterDeclarationList(), ParameterDeclarationListAST::parameterList(), parseFunctionArguments(), text(), typeOfDeclaration(), and ParameterDeclarationAST::typeSpec().

Referenced by parseFunctionArguments(), parseFunctionDeclaration(), and parseFunctionDefinition().

void StoreWalker::parseFunctionDeclaration GroupAST funSpec,
GroupAST storageSpec,
TypeSpecifierAST typeSpec,
InitDeclaratorAST decl
[virtual]
 

Definition at line 559 of file store_walker.cpp.

References DeclaratorAST::constant(), CodeModel::create(), InitDeclaratorAST::declarator(), DeclaratorAST::declaratorId(), FunctionDom, AST::getEndPosition(), AST::getStartPosition(), InitDeclaratorAST::initializer(), m_currentAccess, m_currentClass, m_currentNamespace, m_currentScope, m_file, m_fileName, m_inSignals, m_inSlots, m_store, GroupAST::nodeList(), parseFunctionArguments(), parseFunctionDeclaration(), scopeOfDeclarator(), ClassOrNamespaceNameAST::text(), text(), typeOfDeclaration(), and NameAST::unqualifiedName().

Referenced by parseDeclaration(), and parseFunctionDeclaration().

void StoreWalker::parseFunctionDefinition FunctionDefinitionAST  )  [virtual]
 

Reimplemented from TreeParser.

Definition at line 228 of file store_walker.cpp.

References DeclaratorAST::constant(), CodeModel::create(), InitDeclaratorAST::declarator(), DeclaratorAST::declaratorId(), FunctionDefinitionDom, FunctionDefinitionAST::functionSpecifier(), AST::getEndPosition(), AST::getStartPosition(), FunctionDefinitionAST::initDeclarator(), m_currentAccess, m_currentClass, m_currentNamespace, m_currentScope, m_file, m_fileName, m_inSignals, m_inSlots, m_store, GroupAST::nodeList(), parseFunctionArguments(), parseFunctionDefinition(), scopeOfDeclarator(), FunctionDefinitionAST::storageSpecifier(), ClassOrNamespaceNameAST::text(), text(), typeOfDeclaration(), FunctionDefinitionAST::typeSpec(), and NameAST::unqualifiedName().

Referenced by parseFunctionDefinition().

void StoreWalker::parseLinkageBody LinkageBodyAST  )  [virtual]
 

Reimplemented from TreeParser.

Definition at line 318 of file store_walker.cpp.

References parseLinkageBody().

Referenced by parseLinkageBody().

void StoreWalker::parseLinkageSpecification LinkageSpecificationAST  )  [virtual]
 

Reimplemented from TreeParser.

Definition at line 60 of file store_walker.cpp.

References m_inStorageSpec, and parseLinkageSpecification().

Referenced by parseLinkageSpecification().

void StoreWalker::parseNamespace NamespaceAST  )  [virtual]
 

Reimplemented from TreeParser.

Definition at line 68 of file store_walker.cpp.

References endl(), findOrInsertNamespace(), kdDebug(), m_anon, m_currentClass, m_currentNamespace, m_currentScope, m_fileName, NamespaceDom, NamespaceAST::namespaceName(), parseNamespace(), and AST::text().

Referenced by parseNamespace().

void StoreWalker::parseNamespaceAlias NamespaceAliasAST  )  [virtual]
 

Reimplemented from TreeParser.

Definition at line 96 of file store_walker.cpp.

References parseNamespaceAlias().

Referenced by parseNamespaceAlias().

void StoreWalker::parseSimpleDeclaration SimpleDeclarationAST  )  [virtual]
 

Reimplemented from TreeParser.

Definition at line 209 of file store_walker.cpp.

References SimpleDeclarationAST::functionSpecifier(), InitDeclaratorListAST::initDeclaratorList(), SimpleDeclarationAST::initDeclaratorList(), parseDeclaration(), parseSimpleDeclaration(), parseTypeSpecifier(), SimpleDeclarationAST::storageSpecifier(), and SimpleDeclarationAST::typeSpec().

Referenced by parseSimpleDeclaration().

void StoreWalker::parseTemplateDeclaration TemplateDeclarationAST  )  [virtual]
 

Reimplemented from TreeParser.

Definition at line 201 of file store_walker.cpp.

References TemplateDeclarationAST::declaration(), parseDeclaration(), and parseTemplateDeclaration().

Referenced by parseTemplateDeclaration().

void StoreWalker::parseTranslationUnit TranslationUnitAST ast  )  [virtual]
 

Reimplemented from TreeParser.

Definition at line 32 of file store_walker.cpp.

References CodeModel::create(), m_anon, m_currentAccess, m_currentClass, m_currentDeclarator, m_currentNamespace, m_currentScope, m_file, m_fileName, m_imports, m_inSignals, m_inSlots, m_inStorageSpec, m_inTypedef, m_store, and parseTranslationUnit().

Referenced by CppDriver::fileParsed(), parseTranslationUnit(), and CppSupportPart::recomputeCodeModel().

void StoreWalker::parseTypeDeclaratation TypeSpecifierAST typeSpec  )  [virtual]
 

Definition at line 435 of file store_walker.cpp.

References parseTypeDeclaratation(), and parseTypeSpecifier().

Referenced by parseTypeDeclaratation().

void StoreWalker::parseTypedef TypedefAST  )  [virtual]
 

Reimplemented from TreeParser.

Definition at line 112 of file store_walker.cpp.

References CodeModel::create(), InitDeclaratorAST::declarator(), DeclaratorAST::declaratorId(), AST::getEndPosition(), AST::getStartPosition(), InitDeclaratorListAST::initDeclaratorList(), TypedefAST::initDeclaratorList(), l, m_currentClass, m_currentDeclarator, m_currentNamespace, m_currentScope, m_file, m_fileName, m_inTypedef, m_store, TypeSpecifierAST::name(), parseTypedef(), Tag::setAttribute(), Tag::setEndPosition(), Tag::setFileName(), Tag::setKind(), Tag::setName(), Tag::setScope(), Tag::setStartPosition(), DeclaratorAST::subDeclarator(), NameAST::text(), TypeAliasDom, typeOfDeclaration(), and TypedefAST::typeSpec().

Referenced by parseTypedef().

void StoreWalker::parseTypeSpecifier TypeSpecifierAST  )  [virtual]
 

Reimplemented from TreeParser.

Definition at line 323 of file store_walker.cpp.

References parseTypeSpecifier().

Referenced by parseSimpleDeclaration(), parseTypeDeclaratation(), and parseTypeSpecifier().

void StoreWalker::parseUsing UsingAST  )  [virtual]
 

Reimplemented from TreeParser.

Definition at line 101 of file store_walker.cpp.

References parseUsing().

Referenced by parseUsing().

void StoreWalker::parseUsingDirective UsingDirectiveAST  )  [virtual]
 

Reimplemented from TreeParser.

Definition at line 106 of file store_walker.cpp.

References m_imports, UsingDirectiveAST::name(), parseUsingDirective(), ClassOrNamespaceNameAST::text(), and NameAST::unqualifiedName().

Referenced by parseUsingDirective().

QStringList StoreWalker::scopeOfDeclarator DeclaratorAST d,
const QStringList scope
[private]
 

Definition at line 713 of file store_walker.cpp.

References DeclaratorAST::declaratorId(), scopeOfDeclarator(), and scopeOfName().

Referenced by parseDeclaration(), parseFunctionDeclaration(), parseFunctionDefinition(), and scopeOfDeclarator().

QStringList StoreWalker::scopeOfName NameAST id,
const QStringList scope
[private]
 

Definition at line 694 of file store_walker.cpp.

References scopeOfName().

Referenced by parseClassSpecifier(), scopeOfDeclarator(), and scopeOfName().

QString StoreWalker::typeOfDeclaration TypeSpecifierAST typeSpec,
DeclaratorAST declarator
[private]
 

Definition at line 660 of file store_walker.cpp.

References DeclaratorAST::ptrOpList(), TypeSpecifierAST::text(), text(), and typeOfDeclaration().

Referenced by parseDeclaration(), parseFunctionArguments(), parseFunctionDeclaration(), parseFunctionDefinition(), parseTypedef(), and typeOfDeclaration().


Member Data Documentation

int StoreWalker::m_anon [private]
 

Definition at line 73 of file store_walker.h.

Referenced by parseClassSpecifier(), parseNamespace(), and parseTranslationUnit().

int StoreWalker::m_currentAccess [private]
 

Definition at line 70 of file store_walker.h.

Referenced by parseAccessDeclaration(), parseClassSpecifier(), parseDeclaration(), parseEnumSpecifier(), parseFunctionDeclaration(), parseFunctionDefinition(), and parseTranslationUnit().

QValueStack<ClassDom> StoreWalker::m_currentClass [private]
 

Definition at line 79 of file store_walker.h.

Referenced by parseClassSpecifier(), parseDeclaration(), parseEnumSpecifier(), parseFunctionDeclaration(), parseFunctionDefinition(), parseNamespace(), parseTranslationUnit(), and parseTypedef().

DeclaratorAST* StoreWalker::m_currentDeclarator [private]
 

Definition at line 77 of file store_walker.h.

Referenced by parseClassSpecifier(), parseTranslationUnit(), and parseTypedef().

QValueStack<NamespaceDom> StoreWalker::m_currentNamespace [private]
 

Definition at line 78 of file store_walker.h.

Referenced by findOrInsertNamespace(), parseClassSpecifier(), parseDeclaration(), parseEnumSpecifier(), parseFunctionDeclaration(), parseFunctionDefinition(), parseNamespace(), parseTranslationUnit(), and parseTypedef().

QStringList StoreWalker::m_currentScope [private]
 

Definition at line 67 of file store_walker.h.

Referenced by findOrInsertNamespace(), parseClassSpecifier(), parseFunctionDeclaration(), parseFunctionDefinition(), parseNamespace(), parseTranslationUnit(), and parseTypedef().

FileDom StoreWalker::m_file [private]
 

Definition at line 65 of file store_walker.h.

Referenced by file(), findOrInsertNamespace(), parseClassSpecifier(), parseDeclaration(), parseEnumSpecifier(), parseFunctionDeclaration(), parseFunctionDefinition(), parseTranslationUnit(), and parseTypedef().

QString StoreWalker::m_fileName [private]
 

Definition at line 66 of file store_walker.h.

Referenced by findOrInsertNamespace(), parseClassSpecifier(), parseDeclaration(), parseEnumSpecifier(), parseFunctionDeclaration(), parseFunctionDefinition(), parseNamespace(), parseTranslationUnit(), parseTypedef(), and StoreWalker().

QValueList<QStringList> StoreWalker::m_imports [private]
 

Definition at line 69 of file store_walker.h.

Referenced by parseClassSpecifier(), parseTranslationUnit(), and parseUsingDirective().

bool StoreWalker::m_inSignals [private]
 

Definition at line 72 of file store_walker.h.

Referenced by parseAccessDeclaration(), parseClassSpecifier(), parseFunctionDeclaration(), parseFunctionDefinition(), and parseTranslationUnit().

bool StoreWalker::m_inSlots [private]
 

Definition at line 71 of file store_walker.h.

Referenced by parseAccessDeclaration(), parseClassSpecifier(), parseFunctionDeclaration(), parseFunctionDefinition(), and parseTranslationUnit().

bool StoreWalker::m_inStorageSpec [private]
 

Definition at line 74 of file store_walker.h.

Referenced by parseDeclaration(), parseLinkageSpecification(), and parseTranslationUnit().

bool StoreWalker::m_inTypedef [private]
 

Definition at line 75 of file store_walker.h.

Referenced by parseTranslationUnit(), and parseTypedef().

CodeModel* StoreWalker::m_store [private]
 

Definition at line 68 of file store_walker.h.

Referenced by findOrInsertNamespace(), parseClassSpecifier(), parseDeclaration(), parseEnumSpecifier(), parseFunctionArguments(), parseFunctionDeclaration(), parseFunctionDefinition(), parseTranslationUnit(), and parseTypedef().


The documentation for this class was generated from the following files:
KDE Logo
This file is part of the documentation for KDevelop Version 3.0.4.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Wed Oct 6 17:39:30 2004 by doxygen 1.3.7 written by Dimitri van Heesch, © 1997-2003