languages/java/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
This file is part of the documentation for KDevelop Version 3.0.4.