⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 codemodelwalker.cpp

📁 qt-x11-opensource-src-4.1.4.tar.gz源码
💻 CPP
字号:
/******************************************************************************** Copyright (C) 2004-2006 Trolltech ASA. All rights reserved.**** This file is part of the qt3to4 porting application of the Qt Toolkit.**** This file may be used under the terms of the GNU General Public** License version 2.0 as published by the Free Software Foundation** and appearing in the file LICENSE.GPL included in the packaging of** this file.  Please review the following information to ensure GNU** General Public Licensing requirements will be met:** http://www.trolltech.com/products/qt/opensource.html**** If you are unsure which license is appropriate for your use, please** review the following information:** http://www.trolltech.com/products/qt/licensing.html or contact the** sales department at sales@trolltech.com.**** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.******************************************************************************/#include "codemodelwalker.h"using namespace CodeModel;void CodeModelWalker::parseScope(CodeModel::Scope *scope){    if(!scope)        return;    if(scope->toClassScope())        parseClassScope(scope->toClassScope());    if(scope->toNamespaceScope())        parseNamespaceScope(scope->toNamespaceScope());    if(scope->toBlockScope())        parseBlockScope(scope->toBlockScope());    {        MemberCollection collection = scope->members();        MemberCollection::ConstIterator it = collection.constBegin();        while(it != collection.constEnd())            parseMember(*it++);    }    {        ScopeCollection collection = scope->scopes();        ScopeCollection::ConstIterator it = collection.constBegin();        while(it != collection.constEnd())            parseScope(*it++);    }    {        NameUseCollection collection = scope->nameUses();        NameUseCollection::ConstIterator it = collection.constBegin();        while(it != collection.constEnd())            parseNameUse(*it++);    }}void CodeModelWalker::parseType(CodeModel::Type *type){    if(!type)        return;    if (type->toEnumType())        parseEnumType(type->toEnumType());    else if (type->toClassType())        parseClassType(type->toClassType());    else if (type->toBuiltinType())        parseBuiltinType(type->toBuiltinType());    else if (type->toPointerType())        parsePointerType(type->toPointerType());    else if (type->toReferenceType())        parseReferenceType(type->toReferenceType());    else if (type->toGenericType())        parseGenericType(type->toGenericType());    else if (type->toAliasType())        parseAliasType(type->toAliasType());    else if (type->toUnknownType())        parseUnknownType(type->toUnknownType());}void CodeModelWalker::parseMember(CodeModel::Member *member){    if(!member)        return;    if (member->toFunctionMember())        parseFunctionMember(member->toFunctionMember());    else if (member->toVariableMember())        parseVariableMember(member->toVariableMember());    else if (member->toUsingDeclarationMember())        parseUsingDeclarationMember(member->toUsingDeclarationMember());    else if (member->toTypeMember())        parseTypeMember(member->toTypeMember());}void CodeModelWalker::parseFunctionMember(CodeModel::FunctionMember *member){    if(!member)        return;    if(member->functionBodyScope())        parseScope(member->functionBodyScope());}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -