src: updated SymbolKind enum
* removed SymbolKinds for Parameter and LocalSymbol, because these are not stored as symbols inside the database * added Module symbol kind for Python
This commit is contained in:
@@ -349,6 +349,9 @@
|
||||
<normal>#B05151</normal>
|
||||
</hatching>
|
||||
</namespace>
|
||||
<module>
|
||||
<like>namespace</like>
|
||||
</module>
|
||||
<package>
|
||||
<like>namespace</like>
|
||||
</package>
|
||||
|
||||
@@ -338,6 +338,9 @@
|
||||
<normal>#FFDEDE</normal>
|
||||
</hatching>
|
||||
</namespace>
|
||||
<module>
|
||||
<like>namespace</like>
|
||||
</module>
|
||||
<package>
|
||||
<like>namespace</like>
|
||||
</package>
|
||||
|
||||
@@ -341,6 +341,9 @@
|
||||
<normal>#521B1F</normal>
|
||||
</hatching>
|
||||
</namespace>
|
||||
<module>
|
||||
<like>namespace</like>
|
||||
</module>
|
||||
<package>
|
||||
<like>namespace</like>
|
||||
</package>
|
||||
|
||||
@@ -11,18 +11,17 @@ public enum SymbolKind
|
||||
FUNCTION(7),
|
||||
GLOBAL_VARIABLE(8),
|
||||
INTERFACE(9),
|
||||
LOCAL_VARIABLE(10),
|
||||
MACRO(11),
|
||||
METHOD(12),
|
||||
MACRO(10),
|
||||
METHOD(11),
|
||||
MODULE(12),
|
||||
NAMESPACE(13),
|
||||
PACKAGE(14),
|
||||
PARAMETER(15),
|
||||
STRUCT(16),
|
||||
TEMPLATE_PARAMETER(17),
|
||||
TYPEDEF(18),
|
||||
TYPE_PARAMETER(19),
|
||||
UNION(20),
|
||||
TYPE_MAX(21);
|
||||
STRUCT(15),
|
||||
TEMPLATE_PARAMETER(16),
|
||||
TYPEDEF(17),
|
||||
TYPE_PARAMETER(18),
|
||||
UNION(19),
|
||||
TYPE_MAX(20);
|
||||
|
||||
private final int m_value;
|
||||
|
||||
|
||||
@@ -2377,6 +2377,8 @@ void GraphController::createLegendGraph()
|
||||
addNode(NodeType::NODE_MACRO, L"Macro", Vec2i(x, y + dy * ++i));
|
||||
addNode(NodeType::NODE_ANNOTATION, L"Annotation", Vec2i(x, y + dy * ++i));
|
||||
|
||||
addNode(NodeType::NODE_MODULE, L"module", Vec2i(x, y + dy * ++i));
|
||||
y -= 15;
|
||||
addNode(NodeType::NODE_NAMESPACE, L"namespace", Vec2i(x, y + dy * ++i));
|
||||
y -= 15;
|
||||
addNode(NodeType::NODE_PACKAGE, L"package", Vec2i(x, y + dy * ++i));
|
||||
|
||||
@@ -9,6 +9,7 @@ std::vector<NodeType> NodeType::getOverviewBundleNodeTypesOrdered()
|
||||
NodeType(NodeType::NODE_FILE),
|
||||
NodeType(NodeType::NODE_MACRO),
|
||||
NodeType(NodeType::NODE_ANNOTATION),
|
||||
NodeType(NodeType::NODE_MODULE),
|
||||
NodeType(NodeType::NODE_NAMESPACE),
|
||||
NodeType(NodeType::NODE_PACKAGE),
|
||||
NodeType(NodeType::NODE_CLASS),
|
||||
@@ -36,6 +37,8 @@ NodeType::Type NodeType::intToType(int value)
|
||||
return NodeType::NODE_TYPE;
|
||||
case NodeType::NODE_BUILTIN_TYPE:
|
||||
return NodeType::NODE_BUILTIN_TYPE;
|
||||
case NodeType::NODE_MODULE:
|
||||
return NodeType::NODE_MODULE;
|
||||
case NodeType::NODE_NAMESPACE:
|
||||
return NodeType::NODE_NAMESPACE;
|
||||
case NodeType::NODE_PACKAGE:
|
||||
@@ -87,6 +90,8 @@ std::string NodeType::getReadableTypeString(NodeType::Type type)
|
||||
return "built-in type";
|
||||
case NodeType::NODE_TYPE:
|
||||
return "type";
|
||||
case NodeType::NODE_MODULE:
|
||||
return "module";
|
||||
case NodeType::NODE_NAMESPACE:
|
||||
return "namespace";
|
||||
case NodeType::NODE_PACKAGE:
|
||||
@@ -211,6 +216,7 @@ bool NodeType::isInheritable() const
|
||||
bool NodeType::isPackage() const
|
||||
{
|
||||
const NodeType::TypeMask mask =
|
||||
NodeType::NODE_MODULE |
|
||||
NodeType::NODE_NAMESPACE |
|
||||
NodeType::NODE_PACKAGE;
|
||||
return ((m_type & mask) > 0);
|
||||
@@ -288,6 +294,7 @@ bool NodeType::hasSearchFilter() const
|
||||
{
|
||||
const NodeType::TypeMask mask =
|
||||
NodeType::NODE_BUILTIN_TYPE |
|
||||
NodeType::NODE_MODULE |
|
||||
NodeType::NODE_NAMESPACE |
|
||||
NodeType::NODE_PACKAGE |
|
||||
NodeType::NODE_STRUCT |
|
||||
@@ -327,6 +334,8 @@ Tree<NodeType::BundleInfo> NodeType::getOverviewBundleTree() const
|
||||
));
|
||||
return tree;
|
||||
}
|
||||
case NodeType::NODE_MODULE:
|
||||
return Tree<BundleInfo>(BundleInfo(L"Modules"));
|
||||
case NodeType::NODE_PACKAGE:
|
||||
return Tree<BundleInfo>(BundleInfo(L"Packages"));
|
||||
case NodeType::NODE_CLASS:
|
||||
@@ -401,6 +410,7 @@ NodeType::StyleType NodeType::getNodeStyle() const
|
||||
{
|
||||
switch (m_type)
|
||||
{
|
||||
case NodeType::NODE_MODULE:
|
||||
case NodeType::NODE_NAMESPACE:
|
||||
case NodeType::NODE_PACKAGE:
|
||||
return STYLE_PACKAGE;
|
||||
|
||||
+19
-18
@@ -21,25 +21,26 @@ public:
|
||||
NODE_TYPE = 1 << 1,
|
||||
NODE_BUILTIN_TYPE = 1 << 2,
|
||||
|
||||
NODE_NAMESPACE = 1 << 3,
|
||||
NODE_PACKAGE = 1 << 4,
|
||||
NODE_STRUCT = 1 << 5,
|
||||
NODE_CLASS = 1 << 6,
|
||||
NODE_INTERFACE = 1 << 7,
|
||||
NODE_ANNOTATION = 1 << 8,
|
||||
NODE_GLOBAL_VARIABLE = 1 << 9,
|
||||
NODE_FIELD = 1 << 10,
|
||||
NODE_FUNCTION = 1 << 11,
|
||||
NODE_METHOD = 1 << 12,
|
||||
NODE_ENUM = 1 << 13,
|
||||
NODE_ENUM_CONSTANT = 1 << 14,
|
||||
NODE_TYPEDEF = 1 << 15,
|
||||
NODE_TEMPLATE_PARAMETER = 1 << 16,
|
||||
NODE_TYPE_PARAMETER = 1 << 17,
|
||||
NODE_MODULE = 1 << 3,
|
||||
NODE_NAMESPACE = 1 << 4,
|
||||
NODE_PACKAGE = 1 << 5,
|
||||
NODE_STRUCT = 1 << 6,
|
||||
NODE_CLASS = 1 << 7,
|
||||
NODE_INTERFACE = 1 << 8,
|
||||
NODE_ANNOTATION = 1 << 9,
|
||||
NODE_GLOBAL_VARIABLE = 1 << 10,
|
||||
NODE_FIELD = 1 << 11,
|
||||
NODE_FUNCTION = 1 << 12,
|
||||
NODE_METHOD = 1 << 13,
|
||||
NODE_ENUM = 1 << 14,
|
||||
NODE_ENUM_CONSTANT = 1 << 15,
|
||||
NODE_TYPEDEF = 1 << 16,
|
||||
NODE_TEMPLATE_PARAMETER = 1 << 17,
|
||||
NODE_TYPE_PARAMETER = 1 << 18,
|
||||
|
||||
NODE_FILE = 1 << 18,
|
||||
NODE_MACRO = 1 << 19,
|
||||
NODE_UNION = 1 << 20,
|
||||
NODE_FILE = 1 << 19,
|
||||
NODE_MACRO = 1 << 20,
|
||||
NODE_UNION = 1 << 21,
|
||||
|
||||
NODE_MAX_VALUE = NODE_UNION
|
||||
};
|
||||
|
||||
@@ -176,6 +176,7 @@ const std::vector<NodeType> NodeTypeSet::s_allNodeTypes = {
|
||||
NodeType(NodeType::NODE_SYMBOL),
|
||||
NodeType(NodeType::NODE_TYPE),
|
||||
NodeType(NodeType::NODE_BUILTIN_TYPE),
|
||||
NodeType(NodeType::NODE_MODULE),
|
||||
NodeType(NodeType::NODE_NAMESPACE),
|
||||
NodeType(NodeType::NODE_PACKAGE),
|
||||
NodeType(NodeType::NODE_STRUCT),
|
||||
|
||||
@@ -120,6 +120,8 @@ NodeType ParserClientImpl::symbolKindToNodeType(SymbolKind symbolKind) const
|
||||
return NodeType::NODE_MACRO;
|
||||
case SYMBOL_METHOD:
|
||||
return NodeType::NODE_METHOD;
|
||||
case SYMBOL_MODULE:
|
||||
return NodeType::NODE_MODULE;
|
||||
case SYMBOL_NAMESPACE:
|
||||
return NodeType::NODE_NAMESPACE;
|
||||
case SYMBOL_PACKAGE:
|
||||
|
||||
@@ -22,18 +22,16 @@ SymbolKind intToSymbolKind(int v)
|
||||
return SYMBOL_GLOBAL_VARIABLE;
|
||||
case SYMBOL_INTERFACE:
|
||||
return SYMBOL_INTERFACE;
|
||||
case SYMBOL_LOCAL_VARIABLE:
|
||||
return SYMBOL_LOCAL_VARIABLE;
|
||||
case SYMBOL_MACRO:
|
||||
return SYMBOL_MACRO;
|
||||
case SYMBOL_METHOD:
|
||||
return SYMBOL_METHOD;
|
||||
case SYMBOL_MODULE:
|
||||
return SYMBOL_MODULE;
|
||||
case SYMBOL_NAMESPACE:
|
||||
return SYMBOL_NAMESPACE;
|
||||
case SYMBOL_PACKAGE:
|
||||
return SYMBOL_PACKAGE;
|
||||
case SYMBOL_PARAMETER:
|
||||
return SYMBOL_PARAMETER;
|
||||
case SYMBOL_STRUCT:
|
||||
return SYMBOL_STRUCT;
|
||||
case SYMBOL_TEMPLATE_PARAMETER:
|
||||
@@ -52,4 +50,3 @@ int symbolKindToInt(SymbolKind t)
|
||||
{
|
||||
return t;
|
||||
}
|
||||
|
||||
|
||||
@@ -12,18 +12,17 @@ enum SymbolKind
|
||||
SYMBOL_FUNCTION = 7,
|
||||
SYMBOL_GLOBAL_VARIABLE = 8,
|
||||
SYMBOL_INTERFACE = 9,
|
||||
SYMBOL_LOCAL_VARIABLE = 10,
|
||||
SYMBOL_MACRO = 11,
|
||||
SYMBOL_METHOD = 12,
|
||||
SYMBOL_MACRO = 10,
|
||||
SYMBOL_METHOD = 11,
|
||||
SYMBOL_MODULE = 12,
|
||||
SYMBOL_NAMESPACE = 13,
|
||||
SYMBOL_PACKAGE = 14,
|
||||
SYMBOL_PARAMETER = 15,
|
||||
SYMBOL_STRUCT = 16,
|
||||
SYMBOL_TEMPLATE_PARAMETER = 17,
|
||||
SYMBOL_TYPEDEF = 18,
|
||||
SYMBOL_TYPE_PARAMETER = 19,
|
||||
SYMBOL_UNION = 20,
|
||||
SYMBOL_KIND_MAX = 21
|
||||
SYMBOL_STRUCT = 15,
|
||||
SYMBOL_TEMPLATE_PARAMETER = 16,
|
||||
SYMBOL_TYPEDEF = 17,
|
||||
SYMBOL_TYPE_PARAMETER = 18,
|
||||
SYMBOL_UNION = 19,
|
||||
SYMBOL_KIND_MAX = 20
|
||||
};
|
||||
|
||||
SymbolKind intToSymbolKind(int v);
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
#include "SourceLocationFile.h"
|
||||
#include "utilityString.h"
|
||||
|
||||
const size_t SqliteIndexStorage::s_storageVersion = 21;
|
||||
const size_t SqliteIndexStorage::s_storageVersion = 22;
|
||||
|
||||
namespace
|
||||
{
|
||||
|
||||
@@ -122,8 +122,7 @@ void CxxAstVisitorComponentIndexer::beginTraverseLambdaCapture(clang::LambdaExpr
|
||||
if ((!lambdaExpr->isInitCapture(capture)) && (capture->capturesVariable()))
|
||||
{
|
||||
clang::VarDecl* d = capture->getCapturedVar();
|
||||
SymbolKind symbolKind = utility::getSymbolKind(d);
|
||||
if (symbolKind == SYMBOL_LOCAL_VARIABLE || symbolKind == SYMBOL_PARAMETER)
|
||||
if (utility::isLocalVariable(d) || utility::isParameter(d))
|
||||
{
|
||||
if (!d->getNameAsString().empty()) // don't record anonymous parameters
|
||||
{
|
||||
@@ -205,8 +204,7 @@ void CxxAstVisitorComponentIndexer::visitVarDecl(clang::VarDecl* d)
|
||||
{
|
||||
if (getAstVisitor()->shouldVisitDecl(d))
|
||||
{
|
||||
SymbolKind symbolKind = utility::getSymbolKind(d);
|
||||
if (symbolKind == SYMBOL_LOCAL_VARIABLE || symbolKind == SYMBOL_PARAMETER)
|
||||
if (utility::isLocalVariable(d) || utility::isParameter(d))
|
||||
{
|
||||
if (!d->getNameAsString().empty()) // don't record anonymous parameters
|
||||
{
|
||||
@@ -215,6 +213,7 @@ void CxxAstVisitorComponentIndexer::visitVarDecl(clang::VarDecl* d)
|
||||
}
|
||||
else
|
||||
{
|
||||
const SymbolKind symbolKind = utility::getSymbolKind(d);
|
||||
const ParseLocation location = getParseLocation(d->getLocation());
|
||||
|
||||
Id symbolId = getOrCreateSymbolId(d);
|
||||
|
||||
@@ -85,15 +85,25 @@ SymbolKind utility::convertTagKind(const clang::TagTypeKind tagKind)
|
||||
}
|
||||
}
|
||||
|
||||
bool utility::isLocalVariable(const clang::VarDecl* d)
|
||||
{
|
||||
if (!llvm::isa<clang::ParmVarDecl>(d) && !(d->getParentFunctionOrMethod() == nullptr))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
bool utility::isParameter(const clang::VarDecl* d)
|
||||
{
|
||||
return llvm::isa<clang::ParmVarDecl>(d);
|
||||
}
|
||||
|
||||
SymbolKind utility::getSymbolKind(const clang::VarDecl* d)
|
||||
{
|
||||
SymbolKind symbolKind = SYMBOL_KIND_MAX;
|
||||
|
||||
if (llvm::isa<clang::ParmVarDecl>(d))
|
||||
{
|
||||
symbolKind = SYMBOL_PARAMETER;
|
||||
}
|
||||
else if (d->getParentFunctionOrMethod() == nullptr)
|
||||
if (d->getParentFunctionOrMethod() == nullptr)
|
||||
{
|
||||
if (d->getAccess() == clang::AS_none)
|
||||
{
|
||||
@@ -104,10 +114,6 @@ SymbolKind utility::getSymbolKind(const clang::VarDecl* d)
|
||||
symbolKind = SYMBOL_FIELD;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
symbolKind = SYMBOL_LOCAL_VARIABLE;
|
||||
}
|
||||
|
||||
return symbolKind;
|
||||
}
|
||||
|
||||
@@ -24,6 +24,8 @@ namespace utility
|
||||
bool isImplicit(const clang::Decl* d);
|
||||
AccessKind convertAccessSpecifier(clang::AccessSpecifier access);
|
||||
SymbolKind convertTagKind(const clang::TagTypeKind tagKind);
|
||||
bool isLocalVariable(const clang::VarDecl* d);
|
||||
bool isParameter(const clang::VarDecl* d);
|
||||
SymbolKind getSymbolKind(const clang::VarDecl* d);
|
||||
std::wstring getFileNameOfFileEntry(const clang::FileEntry* entry);
|
||||
|
||||
|
||||
@@ -171,7 +171,7 @@ void QtGraphView::initView()
|
||||
m_groupNamespaceButton->setObjectName("group_left_button");
|
||||
|
||||
m_groupFileButton->setToolTip("group by file");
|
||||
m_groupNamespaceButton->setToolTip("group by package/namespace");
|
||||
m_groupNamespaceButton->setToolTip("group by package/namespace/module");
|
||||
|
||||
m_groupFileButton->setCheckable(true);
|
||||
m_groupNamespaceButton->setCheckable(true);
|
||||
|
||||
@@ -299,6 +299,7 @@ public:
|
||||
std::vector<std::wstring> globalVariables;
|
||||
std::vector<std::wstring> methods;
|
||||
std::vector<std::wstring> namespaces;
|
||||
std::vector<std::wstring> modules;
|
||||
std::vector<std::wstring> structs;
|
||||
std::vector<std::wstring> macros;
|
||||
std::vector<std::wstring> templateParameterTypes;
|
||||
@@ -349,6 +350,8 @@ private:
|
||||
return L"SYMBOL_MACRO";
|
||||
case NodeType::NODE_METHOD:
|
||||
return L"SYMBOL_METHOD";
|
||||
case NodeType::NODE_MODULE:
|
||||
return L"SYMBOL_MODULE";
|
||||
case NodeType::NODE_NAMESPACE:
|
||||
return L"SYMBOL_NAMESPACE";
|
||||
case NodeType::NODE_PACKAGE:
|
||||
@@ -437,6 +440,8 @@ private:
|
||||
return &globalVariables;
|
||||
case NodeType::NODE_METHOD:
|
||||
return &methods;
|
||||
case NodeType::NODE_MODULE:
|
||||
return &modules;
|
||||
case NodeType::NODE_NAMESPACE:
|
||||
return &namespaces;
|
||||
case NodeType::NODE_STRUCT:
|
||||
|
||||
Reference in New Issue
Block a user