KDevelop API Documentation

javasupport_utils.cpp

Go to the documentation of this file.
00001 
00002 #include "javasupport_utils.h"
00003 #include <codemodel.h>
00004 
00005 static void typeNameList( QStringList& path, QStringList & lst, const CodeModel * model );
00006 static void typeNameList( QStringList& path, QStringList & lst, NamespaceDom ns );
00007 static void typeNameList( QStringList & path, QStringList & lst, ClassDom klass );
00008 
00009 QStringList typeNameList( const CodeModel* model )
00010 {
00011     QStringList lst;
00012     QStringList path;
00013     typeNameList( path, lst, model );
00014     return lst;
00015 }
00016 
00017 static void typeNameList( QStringList& path, QStringList & lst, const CodeModel * model )
00018 {
00019     const FileList fileList = model->fileList();
00020     for( FileList::ConstIterator it=fileList.begin(); it!=fileList.end(); ++it )
00021        typeNameList( path, lst, model_cast<NamespaceDom>(*it) );
00022 }
00023 
00024 static void typeNameList( QStringList& path, QStringList & lst, NamespaceDom ns )
00025 {
00026     if( !ns->isFile() )
00027         path.push_back( ns->name() );
00028 
00029     const NamespaceList namespaceList = ns->namespaceList();
00030     for( NamespaceList::ConstIterator it=namespaceList.begin(); it!=namespaceList.end(); ++it )
00031        typeNameList( path, lst, *it );
00032 
00033     const ClassList classList = ns->classList();
00034     for( ClassList::ConstIterator it=classList.begin(); it!=classList.end(); ++it )
00035        typeNameList( path, lst, *it );
00036 
00037     if( !ns->isFile() )
00038         path.pop_back();
00039 }
00040 
00041 static void typeNameList( QStringList & path, QStringList & lst, ClassDom klass )
00042 {
00043     path.push_back( klass->name() );
00044 
00045     lst << path.join( "::" );
00046 
00047     const ClassList classList = klass->classList();
00048     for( ClassList::ConstIterator it=classList.begin(); it!=classList.end(); ++it )
00049        typeNameList( path, lst, *it );
00050     path.pop_back();
00051 }
00052 
KDE Logo
This file is part of the documentation for KDevelop Version 3.1.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Wed Mar 23 00:03:48 2005 by doxygen 1.3.9.1 written by Dimitri van Heesch, © 1997-2003