KDevelop API Documentation

TagCreator Class Reference

#include <tag_creator.h>

Inheritance diagram for TagCreator:

TreeParser List of all members.

Public Member Functions

 TagCreator (const QString &fileName, Catalog *c)
virtual ~TagCreator ()
virtual void parseTranslationUnit (TranslationUnitAST *)
virtual void parseDeclaration (DeclarationAST *)
virtual void parseNamespace (NamespaceAST *)
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 parseClassSpecifier (ClassSpecifierAST *)
virtual void parseEnumSpecifier (EnumSpecifierAST *)
virtual void parseElaboratedTypeSpecifier (ElaboratedTypeSpecifierAST *)
virtual void parseMyDeclaration (GroupAST *funSpec, GroupAST *storageSpec, TypeSpecifierAST *typeSpec, InitDeclaratorAST *decl)
virtual void parseFunctionDeclaration (GroupAST *funSpec, GroupAST *storageSpec, TypeSpecifierAST *typeSpec, InitDeclaratorAST *decl)
virtual void parseFunctionArguments (Tag &tag, DeclaratorAST *declarator)
virtual void parseBaseClause (const QString &className, BaseClauseAST *baseClause)

Static Public Member Functions

void destroyDocumentation ()
 call this function after the last use of a TagCreator object, to do cleanup work

void setDocumentationDirectories (const QStringList &dirs)
 This sets the directories, where the doxygen documentation should be searched in.


Private Member Functions

QString scopeOfDeclarator (DeclaratorAST *d)
QString typeOfDeclaration (TypeSpecifierAST *typeSpec, DeclaratorAST *declarator)
 TagCreator (const TagCreator &source)
void operator= (const TagCreator &source)

Private Attributes

Catalogm_catalog
QString m_fileName
QStringList m_currentScope
QValueList< QStringListm_imports
QString m_currentAccess
bool m_inClass
bool m_inSlots
bool m_inSignals
int m_anon

Static Private Attributes

DoxyDocm_documentation = new DoxyDoc( QStringList() )

Constructor & Destructor Documentation

TagCreator::TagCreator const QString fileName,
Catalog c
 

Definition at line 24 of file tag_creator.cpp.

References TagCreator().

Referenced by TagCreator().

TagCreator::~TagCreator  )  [virtual]
 

Definition at line 29 of file tag_creator.cpp.

TagCreator::TagCreator const TagCreator source  )  [private]
 


Member Function Documentation

void TagCreator::destroyDocumentation  )  [static]
 

call this function after the last use of a TagCreator object, to do cleanup work

Definition at line 33 of file tag_creator.cpp.

References m_documentation.

Referenced by RppDriver::~RppDriver().

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

void TagCreator::parseAccessDeclaration AccessDeclarationAST access  )  [virtual]
 

?

Reimplemented from TreeParser.

Definition at line 472 of file tag_creator.cpp.

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

Referenced by parseAccessDeclaration().

void TagCreator::parseBaseClause const QString className,
BaseClauseAST baseClause
[virtual]
 

Definition at line 616 of file tag_creator.cpp.

References BaseSpecifierAST::access(), GCatalog< Tag >::addItem(), BaseClauseAST::baseSpecifierList(), NameAST::classOrNamespaceNameList(), AST::getEndPosition(), AST::getStartPosition(), BaseSpecifierAST::isVirtual(), m_catalog, m_currentScope, m_fileName, ClassOrNamespaceNameAST::name(), BaseSpecifierAST::name(), parseBaseClause(), CppBaseClass< Tag >::setAccess(), CppBaseClass< Tag >::setBaseClass(), Tag::setEndPosition(), Tag::setFileName(), Tag::setKind(), Tag::setName(), Tag::setScope(), Tag::setStartPosition(), CppBaseClass< Tag >::setVirtual(), AST::text(), and NameAST::unqualifiedName().

Referenced by parseBaseClause(), and parseClassSpecifier().

void TagCreator::parseClassSpecifier ClassSpecifierAST  )  [virtual]
 

Reimplemented from TreeParser.

Definition at line 304 of file tag_creator.cpp.

References GCatalog< Tag >::addItem(), ClassSpecifierAST::baseClause(), ClassSpecifierAST::classKey(), AST::getEndPosition(), AST::getStartPosition(), m_catalog, m_currentAccess, m_currentScope, m_fileName, m_inClass, m_inSignals, m_inSlots, TypeSpecifierAST::name(), parseBaseClause(), parseClassSpecifier(), Tag::path(), Tag::setEndPosition(), Tag::setFileName(), Tag::setKind(), Tag::setName(), Tag::setScope(), Tag::setStartPosition(), NameAST::text(), and AST::text().

Referenced by parseClassSpecifier().

void TagCreator::parseDeclaration DeclarationAST  )  [virtual]
 

Reimplemented from TreeParser.

Definition at line 43 of file tag_creator.cpp.

References m_currentAccess, AST::nodeType(), NodeType_AccessDeclaration, and parseDeclaration().

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

void TagCreator::parseElaboratedTypeSpecifier ElaboratedTypeSpecifierAST  )  [virtual]
 

Reimplemented from TreeParser.

Definition at line 98 of file tag_creator.cpp.

References parseElaboratedTypeSpecifier().

Referenced by parseElaboratedTypeSpecifier().

void TagCreator::parseEnumSpecifier EnumSpecifierAST  )  [virtual]
 

Reimplemented from TreeParser.

Definition at line 363 of file tag_creator.cpp.

References GCatalog< Tag >::addItem(), EnumSpecifierAST::enumeratorList(), AST::getEndPosition(), AST::getStartPosition(), m_catalog, m_currentScope, m_fileName, TypeSpecifierAST::name(), parseEnumSpecifier(), Tag::setEndPosition(), Tag::setFileName(), Tag::setKind(), Tag::setName(), Tag::setScope(), Tag::setStartPosition(), and NameAST::text().

Referenced by parseEnumSpecifier().

void TagCreator::parseFunctionArguments Tag tag,
DeclaratorAST declarator
[virtual]
 

Definition at line 559 of file tag_creator.cpp.

References ParameterDeclarationAST::declarator(), declaratorToString(), ParameterDeclarationClauseAST::ellipsis(), l, DeclaratorAST::parameterDeclarationClause(), ParameterDeclarationClauseAST::parameterDeclarationList(), ParameterDeclarationListAST::parameterList(), parseFunctionArguments(), CppFunction< Tag >::setArgumentNames(), CppFunction< Tag >::setArguments(), typeOfDeclaration(), and ParameterDeclarationAST::typeSpec().

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

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

Definition at line 484 of file tag_creator.cpp.

References GCatalog< Tag >::addItem(), Tag::attribute(), DeclaratorAST::constant(), InitDeclaratorAST::declarator(), DeclaratorAST::declaratorId(), DoxyDoc::functionDescription(), AST::getEndPosition(), AST::getStartPosition(), InitDeclaratorAST::initializer(), m_catalog, m_currentScope, m_documentation, m_fileName, m_inSignals, m_inSlots, GroupAST::nodeList(), parseFunctionArguments(), parseFunctionDeclaration(), Tag::setAttribute(), CppFunction< Tag >::setConst(), Tag::setEndPosition(), Tag::setFileName(), CppFunction< Tag >::setFriend(), CppFunction< Tag >::setInline(), Tag::setKind(), Tag::setName(), CppFunction< Tag >::setPure(), Tag::setScope(), CppFunction< Tag >::setSignal(), CppFunction< Tag >::setSlot(), Tag::setStartPosition(), CppFunction< Tag >::setStatic(), CppFunction< Tag >::setType(), CppFunction< Tag >::setVirtual(), ClassOrNamespaceNameAST::text(), text(), typeOfDeclaration(), and NameAST::unqualifiedName().

Referenced by parseFunctionDeclaration(), and parseMyDeclaration().

void TagCreator::parseFunctionDefinition FunctionDefinitionAST  )  [virtual]
 

Reimplemented from TreeParser.

Definition at line 208 of file tag_creator.cpp.

References GCatalog< Tag >::addItem(), Tag::attribute(), DeclaratorAST::constant(), InitDeclaratorAST::declarator(), DeclaratorAST::declaratorId(), DoxyDoc::functionDescription(), FunctionDefinitionAST::functionSpecifier(), AST::getEndPosition(), AST::getStartPosition(), FunctionDefinitionAST::initDeclarator(), m_catalog, m_currentAccess, m_documentation, m_fileName, m_inSignals, m_inSlots, GroupAST::nodeList(), parseFunctionArguments(), parseFunctionDefinition(), scopeOfDeclarator(), CppFunction< Tag >::setAccess(), Tag::setAttribute(), CppFunction< Tag >::setConst(), Tag::setEndPosition(), Tag::setFileName(), CppFunction< Tag >::setFriend(), CppFunction< Tag >::setInline(), Tag::setKind(), Tag::setName(), CppFunction< Tag >::setPure(), Tag::setScope(), CppFunction< Tag >::setSignal(), CppFunction< Tag >::setSlot(), Tag::setStartPosition(), CppFunction< Tag >::setStatic(), CppFunction< Tag >::setType(), CppFunction< Tag >::setVirtual(), FunctionDefinitionAST::storageSpecifier(), ClassOrNamespaceNameAST::text(), text(), typeOfDeclaration(), FunctionDefinitionAST::typeSpec(), and NameAST::unqualifiedName().

Referenced by parseFunctionDefinition().

void TagCreator::parseLinkageBody LinkageBodyAST  )  [virtual]
 

Reimplemented from TreeParser.

Definition at line 294 of file tag_creator.cpp.

References LinkageBodyAST::declarationList(), parseDeclaration(), and parseLinkageBody().

Referenced by parseLinkageBody().

void TagCreator::parseMyDeclaration GroupAST funSpec,
GroupAST storageSpec,
TypeSpecifierAST typeSpec,
InitDeclaratorAST decl
[virtual]
 

Definition at line 409 of file tag_creator.cpp.

References GCatalog< Tag >::addItem(), InitDeclaratorAST::declarator(), DeclaratorAST::declaratorId(), AST::getEndPosition(), AST::getStartPosition(), m_catalog, m_currentAccess, m_fileName, GroupAST::nodeList(), DeclaratorAST::parameterDeclarationClause(), parseFunctionDeclaration(), parseMyDeclaration(), scopeOfDeclarator(), CppVariable< Tag >::setAccess(), Tag::setEndPosition(), Tag::setFileName(), CppVariable< Tag >::setFriend(), Tag::setKind(), Tag::setName(), Tag::setScope(), Tag::setStartPosition(), CppVariable< Tag >::setStatic(), CppVariable< Tag >::setType(), DeclaratorAST::subDeclarator(), text(), ClassOrNamespaceNameAST::text(), typeOfDeclaration(), and NameAST::unqualifiedName().

Referenced by parseMyDeclaration(), and parseSimpleDeclaration().

void TagCreator::parseNamespace NamespaceAST  )  [virtual]
 

Reimplemented from TreeParser.

Definition at line 69 of file tag_creator.cpp.

References GCatalog< Tag >::addItem(), AST::getEndPosition(), AST::getStartPosition(), m_catalog, m_currentScope, m_fileName, NamespaceAST::namespaceName(), parseNamespace(), Tag::setEndPosition(), Tag::setFileName(), Tag::setKind(), Tag::setName(), Tag::setScope(), Tag::setStartPosition(), and AST::text().

Referenced by parseNamespace().

void TagCreator::parseSimpleDeclaration SimpleDeclarationAST  )  [virtual]
 

Reimplemented from TreeParser.

Definition at line 189 of file tag_creator.cpp.

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

Referenced by parseSimpleDeclaration().

void TagCreator::parseTemplateDeclaration TemplateDeclarationAST  )  [virtual]
 

Reimplemented from TreeParser.

Definition at line 181 of file tag_creator.cpp.

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

Referenced by parseTemplateDeclaration().

void TagCreator::parseTranslationUnit TranslationUnitAST  )  [virtual]
 

Reimplemented from TreeParser.

Definition at line 54 of file tag_creator.cpp.

References m_anon, m_currentAccess, m_currentScope, m_imports, m_inClass, m_inSignals, m_inSlots, and parseTranslationUnit().

Referenced by RppDriver::fileParsed(), CreatePCSDialog::RppDriver::fileParsed(), and parseTranslationUnit().

void TagCreator::parseTypedef TypedefAST  )  [virtual]
 

Reimplemented from TreeParser.

Definition at line 129 of file tag_creator.cpp.

References GCatalog< Tag >::addItem(), InitDeclaratorAST::declarator(), DeclaratorAST::declaratorId(), AST::getEndPosition(), AST::getStartPosition(), InitDeclaratorListAST::initDeclaratorList(), TypedefAST::initDeclaratorList(), l, m_catalog, m_currentScope, m_fileName, TypeSpecifierAST::name(), parseTypedef(), Tag::setAttribute(), Tag::setEndPosition(), Tag::setFileName(), Tag::setKind(), Tag::setName(), Tag::setScope(), Tag::setStartPosition(), DeclaratorAST::subDeclarator(), NameAST::text(), typeOfDeclaration(), and TypedefAST::typeSpec().

Referenced by parseTypedef().

void TagCreator::parseUsingDirective UsingDirectiveAST  )  [virtual]
 

Reimplemented from TreeParser.

Definition at line 103 of file tag_creator.cpp.

References GCatalog< Tag >::addItem(), AST::getEndPosition(), AST::getStartPosition(), m_catalog, m_currentScope, m_fileName, m_imports, UsingDirectiveAST::name(), parseUsingDirective(), Tag::setEndPosition(), Tag::setFileName(), Tag::setKind(), Tag::setName(), Tag::setScope(), Tag::setStartPosition(), and NameAST::text().

Referenced by parseUsingDirective().

QString TagCreator::scopeOfDeclarator DeclaratorAST d  )  [private]
 

Definition at line 667 of file tag_creator.cpp.

References NameAST::classOrNamespaceNameList(), DeclaratorAST::declaratorId(), NameAST::isGlobal(), m_currentScope, and scopeOfDeclarator().

Referenced by parseFunctionDefinition(), parseMyDeclaration(), and scopeOfDeclarator().

void TagCreator::setDocumentationDirectories const QStringList dirs  )  [static]
 

This sets the directories, where the doxygen documentation should be searched in.

Parameters:
dirs QStringList containing strings, which define the pathes, where documentation is searched in

Definition at line 37 of file tag_creator.cpp.

References m_documentation, and setDocumentationDirectories().

Referenced by setDocumentationDirectories().

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

Definition at line 598 of file tag_creator.cpp.

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

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


Member Data Documentation

int TagCreator::m_anon [private]
 

Definition at line 83 of file tag_creator.h.

Referenced by parseTranslationUnit().

Catalog* TagCreator::m_catalog [private]
 

Definition at line 75 of file tag_creator.h.

Referenced by parseBaseClause(), parseClassSpecifier(), parseEnumSpecifier(), parseFunctionDeclaration(), parseFunctionDefinition(), parseMyDeclaration(), parseNamespace(), parseTypedef(), and parseUsingDirective().

QString TagCreator::m_currentAccess [private]
 

Definition at line 79 of file tag_creator.h.

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

QStringList TagCreator::m_currentScope [private]
 

Definition at line 77 of file tag_creator.h.

Referenced by parseBaseClause(), parseClassSpecifier(), parseEnumSpecifier(), parseFunctionDeclaration(), parseNamespace(), parseTranslationUnit(), parseTypedef(), parseUsingDirective(), and scopeOfDeclarator().

DoxyDoc * TagCreator::m_documentation = new DoxyDoc( QStringList() ) [static, private]
 

Definition at line 22 of file tag_creator.cpp.

Referenced by destroyDocumentation(), parseFunctionDeclaration(), parseFunctionDefinition(), and setDocumentationDirectories().

QString TagCreator::m_fileName [private]
 

Definition at line 76 of file tag_creator.h.

Referenced by parseBaseClause(), parseClassSpecifier(), parseEnumSpecifier(), parseFunctionDeclaration(), parseFunctionDefinition(), parseMyDeclaration(), parseNamespace(), parseTypedef(), and parseUsingDirective().

QValueList<QStringList> TagCreator::m_imports [private]
 

Definition at line 78 of file tag_creator.h.

Referenced by parseTranslationUnit(), and parseUsingDirective().

bool TagCreator::m_inClass [private]
 

Definition at line 80 of file tag_creator.h.

Referenced by parseClassSpecifier(), and parseTranslationUnit().

bool TagCreator::m_inSignals [private]
 

Definition at line 82 of file tag_creator.h.

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

bool TagCreator::m_inSlots [private]
 

Definition at line 81 of file tag_creator.h.

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


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