switched enum syntax in core to enum class

This commit is contained in:
Eberhard Graether
2018-12-18 00:41:19 +01:00
parent 2e78670c80
commit f4cf5f171a
18 changed files with 389 additions and 346 deletions
+13 -8
View File
@@ -18,18 +18,23 @@
namespace sourcetrail
{
int definitionKindToInt(DefinitionKind v)
int definitionKindToInt(DefinitionKind kind)
{
return v;
return static_cast<int>(kind);
}
DefinitionKind intToDefinitionKind(int v)
DefinitionKind intToDefinitionKind(int i)
{
if (v == definitionKindToInt(DEFINITION_IMPLICIT))
return DEFINITION_IMPLICIT;
if (v == definitionKindToInt(DEFINITION_EXPLICIT))
return DEFINITION_EXPLICIT;
const DefinitionKind kinds[] = { DefinitionKind::IMPLICIT, DefinitionKind::EXPLICIT };
return DEFINITION_EXPLICIT;
for (DefinitionKind kind : kinds)
{
if (i == definitionKindToInt(kind))
{
return kind;
}
}
return DefinitionKind::EXPLICIT;
}
}
+26 -34
View File
@@ -20,47 +20,39 @@
namespace sourcetrail
{
int edgeKindToInt(EdgeKind edgeKind)
int edgeKindToInt(EdgeKind kind)
{
return edgeKind;
return static_cast<int>(kind);
}
EdgeKind intToEdgeKind(int i)
{
switch (i)
const EdgeKind kinds[] = {
EdgeKind::MEMBER,
EdgeKind::TYPE_USAGE,
EdgeKind::USAGE,
EdgeKind::CALL,
EdgeKind::INHERITANCE,
EdgeKind::OVERRIDE,
EdgeKind::TEMPLATE_ARGUMENT,
EdgeKind::TYPE_ARGUMENT,
EdgeKind::TEMPLATE_DEFAULT_ARGUMENT,
EdgeKind::TEMPLATE_SPECIALIZATION,
EdgeKind::TEMPLATE_MEMBER_SPECIALIZATION,
EdgeKind::INCLUDE,
EdgeKind::IMPORT,
EdgeKind::AGGREGATION,
EdgeKind::MACRO_USAGE
};
for (EdgeKind kind : kinds)
{
case EDGE_MEMBER:
return EDGE_MEMBER;
case EDGE_TYPE_USAGE:
return EDGE_TYPE_USAGE;
case EDGE_USAGE:
return EDGE_USAGE;
case EDGE_CALL:
return EDGE_CALL;
case EDGE_INHERITANCE:
return EDGE_INHERITANCE;
case EDGE_OVERRIDE:
return EDGE_OVERRIDE;
case EDGE_TEMPLATE_ARGUMENT:
return EDGE_TEMPLATE_ARGUMENT;
case EDGE_TYPE_ARGUMENT:
return EDGE_TYPE_ARGUMENT;
case EDGE_TEMPLATE_DEFAULT_ARGUMENT:
return EDGE_TEMPLATE_DEFAULT_ARGUMENT;
case EDGE_TEMPLATE_SPECIALIZATION:
return EDGE_TEMPLATE_SPECIALIZATION;
case EDGE_TEMPLATE_MEMBER_SPECIALIZATION:
return EDGE_TEMPLATE_MEMBER_SPECIALIZATION;
case EDGE_INCLUDE:
return EDGE_INCLUDE;
case EDGE_IMPORT:
return EDGE_IMPORT;
case EDGE_AGGREGATION:
return EDGE_AGGREGATION;
case EDGE_MACRO_USAGE:
return EDGE_MACRO_USAGE;
if (i == edgeKindToInt(kind))
{
return kind;
}
}
return EDGE_UNKNOWN;
return EdgeKind::UNKNOWN;
}
}
+24 -25
View File
@@ -20,34 +20,33 @@
namespace sourcetrail
{
LocationKind intToLocationKind(int i)
int locationKindToInt(LocationKind kind)
{
switch (i)
{
case LOCATION_TOKEN:
return LOCATION_TOKEN;
case LOCATION_SCOPE:
return LOCATION_SCOPE;
case LOCATION_QUALIFIER:
return LOCATION_QUALIFIER;
case LOCATION_LOCAL_SYMBOL:
return LOCATION_LOCAL_SYMBOL;
case LOCATION_SIGNATURE:
return LOCATION_SIGNATURE;
case LOCATION_COMMENT:
return LOCATION_COMMENT;
case LOCATION_ERROR:
return LOCATION_ERROR;
case LOCATION_FULLTEXT_SEARCH:
return LOCATION_FULLTEXT_SEARCH;
case LOCATION_SCREEN_SEARCH:
return LOCATION_SCREEN_SEARCH;
}
throw SourcetrailException("Unable to convert integer \"" + std::to_string(i) + "\" to location kind.");
return static_cast<int>(kind);
}
int locationKindToInt(LocationKind locationKind)
LocationKind intToLocationKind(int i)
{
return locationKind;
const LocationKind kinds[] = {
LocationKind::TOKEN,
LocationKind::SCOPE,
LocationKind::QUALIFIER,
LocationKind::LOCAL_SYMBOL,
LocationKind::SIGNATURE,
LocationKind::COMMENT,
LocationKind::ERROR,
LocationKind::FULLTEXT_SEARCH,
LocationKind::SCREEN_SEARCH
};
for (LocationKind kind : kinds)
{
if (i == locationKindToInt(kind))
{
return kind;
}
}
throw SourcetrailException("Unable to convert integer \"" + std::to_string(i) + "\" to location kind.");
}
}
+37 -26
View File
@@ -18,35 +18,46 @@
namespace sourcetrail
{
int nodeKindToInt(NodeKind v)
int nodeKindToInt(NodeKind kind)
{
return v;
return static_cast<int>(kind);
}
NodeKind intToNodeKind(int v)
NodeKind intToNodeKind(int i)
{
if (v == nodeKindToInt(NODE_UNKNOWN)) { return NODE_UNKNOWN; }
if (v == nodeKindToInt(NODE_TYPE)) { return NODE_TYPE; }
if (v == nodeKindToInt(NODE_BUILTIN_TYPE)) { return NODE_BUILTIN_TYPE; }
if (v == nodeKindToInt(NODE_MODULE)) { return NODE_MODULE; }
if (v == nodeKindToInt(NODE_NAMESPACE)) { return NODE_NAMESPACE; }
if (v == nodeKindToInt(NODE_PACKAGE)) { return NODE_PACKAGE; }
if (v == nodeKindToInt(NODE_STRUCT)) { return NODE_STRUCT; }
if (v == nodeKindToInt(NODE_CLASS)) { return NODE_CLASS; }
if (v == nodeKindToInt(NODE_INTERFACE)) { return NODE_INTERFACE; }
if (v == nodeKindToInt(NODE_ANNOTATION)) { return NODE_ANNOTATION; }
if (v == nodeKindToInt(NODE_GLOBAL_VARIABLE)) { return NODE_GLOBAL_VARIABLE; }
if (v == nodeKindToInt(NODE_FIELD)) { return NODE_FIELD; }
if (v == nodeKindToInt(NODE_FUNCTION)) { return NODE_FUNCTION; }
if (v == nodeKindToInt(NODE_METHOD)) { return NODE_METHOD; }
if (v == nodeKindToInt(NODE_ENUM)) { return NODE_ENUM; }
if (v == nodeKindToInt(NODE_ENUM_CONSTANT)) { return NODE_ENUM_CONSTANT; }
if (v == nodeKindToInt(NODE_TYPEDEF)) { return NODE_TYPEDEF; }
if (v == nodeKindToInt(NODE_TEMPLATE_PARAMETER)) { return NODE_TEMPLATE_PARAMETER; }
if (v == nodeKindToInt(NODE_TYPE_PARAMETER)) { return NODE_TYPE_PARAMETER; }
if (v == nodeKindToInt(NODE_FILE)) { return NODE_FILE; }
if (v == nodeKindToInt(NODE_MACRO)) { return NODE_MACRO; }
if (v == nodeKindToInt(NODE_UNION)) { return NODE_UNION; }
return NODE_UNKNOWN;
const NodeKind kinds[] = {
NodeKind::UNKNOWN,
NodeKind::TYPE,
NodeKind::BUILTIN_TYPE,
NodeKind::MODULE,
NodeKind::NAMESPACE,
NodeKind::PACKAGE,
NodeKind::STRUCT,
NodeKind::CLASS,
NodeKind::INTERFACE,
NodeKind::ANNOTATION,
NodeKind::GLOBAL_VARIABLE,
NodeKind::FIELD,
NodeKind::FUNCTION,
NodeKind::METHOD,
NodeKind::ENUM,
NodeKind::ENUM_CONSTANT,
NodeKind::TYPEDEF,
NodeKind::TEMPLATE_PARAMETER,
NodeKind::TYPE_PARAMETER,
NodeKind::FILE,
NodeKind::MACRO,
NodeKind::UNION
};
for (NodeKind kind : kinds)
{
if (i == nodeKindToInt(kind))
{
return kind;
}
}
return NodeKind::UNKNOWN;
}
}
+31 -31
View File
@@ -20,39 +20,39 @@
namespace sourcetrail
{
EdgeKind referenceKindToEdgeKind(ReferenceKind v)
EdgeKind referenceKindToEdgeKind(ReferenceKind kind)
{
switch (v)
switch (kind)
{
case REFERENCE_TYPE_USAGE:
return EDGE_TYPE_USAGE;
case REFERENCE_USAGE:
return EDGE_USAGE;
case REFERENCE_CALL:
return EDGE_CALL;
case REFERENCE_INHERITANCE:
return EDGE_INHERITANCE;
case REFERENCE_OVERRIDE:
return EDGE_OVERRIDE;
case REFERENCE_TEMPLATE_ARGUMENT:
return EDGE_TEMPLATE_ARGUMENT;
case REFERENCE_TYPE_ARGUMENT:
return EDGE_TYPE_ARGUMENT;
case REFERENCE_TEMPLATE_DEFAULT_ARGUMENT:
return EDGE_TEMPLATE_DEFAULT_ARGUMENT;
case REFERENCE_TEMPLATE_SPECIALIZATION:
return EDGE_TEMPLATE_SPECIALIZATION;
case REFERENCE_TEMPLATE_MEMBER_SPECIALIZATION:
return EDGE_TEMPLATE_MEMBER_SPECIALIZATION;
case REFERENCE_INCLUDE:
return EDGE_INCLUDE;
case REFERENCE_IMPORT:
return EDGE_IMPORT;
case REFERENCE_MACRO_USAGE:
return EDGE_MACRO_USAGE;
case REFERENCE_ANNOTATION_USAGE:
return EDGE_ANNOTATION_USAGE;
case ReferenceKind::TYPE_USAGE:
return EdgeKind::TYPE_USAGE;
case ReferenceKind::USAGE:
return EdgeKind::USAGE;
case ReferenceKind::CALL:
return EdgeKind::CALL;
case ReferenceKind::INHERITANCE:
return EdgeKind::INHERITANCE;
case ReferenceKind::OVERRIDE:
return EdgeKind::OVERRIDE;
case ReferenceKind::TEMPLATE_ARGUMENT:
return EdgeKind::TEMPLATE_ARGUMENT;
case ReferenceKind::TYPE_ARGUMENT:
return EdgeKind::TYPE_ARGUMENT;
case ReferenceKind::TEMPLATE_DEFAULT_ARGUMENT:
return EdgeKind::TEMPLATE_DEFAULT_ARGUMENT;
case ReferenceKind::TEMPLATE_SPECIALIZATION:
return EdgeKind::TEMPLATE_SPECIALIZATION;
case ReferenceKind::TEMPLATE_MEMBER_SPECIALIZATION:
return EdgeKind::TEMPLATE_MEMBER_SPECIALIZATION;
case ReferenceKind::INCLUDE:
return EdgeKind::INCLUDE;
case ReferenceKind::IMPORT:
return EdgeKind::IMPORT;
case ReferenceKind::MACRO_USAGE:
return EdgeKind::MACRO_USAGE;
case ReferenceKind::ANNOTATION_USAGE:
return EdgeKind::ANNOTATION_USAGE;
}
return EDGE_UNKNOWN;
return EdgeKind::UNKNOWN;
}
}
+10 -10
View File
@@ -377,7 +377,7 @@ namespace sourcetrail
try
{
addSourceLocation(symbolId, location, LOCATION_TOKEN);
addSourceLocation(symbolId, location, LocationKind::TOKEN);
return true;
}
catch (const SourcetrailException e)
@@ -397,7 +397,7 @@ namespace sourcetrail
try
{
addSourceLocation(symbolId, location, LOCATION_SCOPE);
addSourceLocation(symbolId, location, LocationKind::SCOPE);
return true;
}
catch (const SourcetrailException e)
@@ -417,7 +417,7 @@ namespace sourcetrail
try
{
addSourceLocation(symbolId, location, LOCATION_SIGNATURE);
addSourceLocation(symbolId, location, LocationKind::SIGNATURE);
return true;
}
catch (const SourcetrailException e)
@@ -456,7 +456,7 @@ namespace sourcetrail
try
{
addSourceLocation(referenceId, location, LOCATION_TOKEN);
addSourceLocation(referenceId, location, LocationKind::TOKEN);
return true;
}
catch (const SourcetrailException e)
@@ -535,7 +535,7 @@ namespace sourcetrail
try
{
addSourceLocation(localSymbolId, location, LOCATION_LOCAL_SYMBOL);
addSourceLocation(localSymbolId, location, LocationKind::LOCAL_SYMBOL);
return true;
}
catch (const SourcetrailException e)
@@ -561,7 +561,7 @@ namespace sourcetrail
location.startColumn,
location.endLine,
location.endColumn,
locationKindToInt(LOCATION_COMMENT)
locationKindToInt(LocationKind::COMMENT)
));
return true;
@@ -584,7 +584,7 @@ namespace sourcetrail
try
{
const int errorId = m_storage->addError(StorageErrorData(message, "", fatal, true));
addSourceLocation(errorId, location, LOCATION_ERROR);
addSourceLocation(errorId, location, LocationKind::ERROR);
return true;
}
catch (const SourcetrailException e)
@@ -678,13 +678,13 @@ namespace sourcetrail
currentNameHierarchy.nameElements.push_back(nameHierarchy.nameElements[i]);
int nodeId = m_storage->addNode(StorageNodeData(
nodeKindToInt(NODE_UNKNOWN),
nodeKindToInt(NodeKind::UNKNOWN),
serializeNameHierarchyToDatabaseString(currentNameHierarchy)
));
if (parentNodeId != 0)
{
addEdge(parentNodeId, nodeId, EDGE_MEMBER);
addEdge(parentNodeId, nodeId, EdgeKind::MEMBER);
}
parentNodeId = nodeId;
@@ -701,7 +701,7 @@ namespace sourcetrail
nameHierarchy.nameElements.push_back(nameElement);
const int nodeId = addNodeHierarchy(nameHierarchy);
m_storage->setNodeType(nodeId, nodeKindToInt(NODE_FILE));
m_storage->setNodeType(nodeId, nodeKindToInt(NodeKind::FILE));
m_storage->addFile(StorageFile(nodeId, filePath, "", utility::getDateTimeString(time(0)), true, true));
+43 -43
View File
@@ -20,51 +20,51 @@
namespace sourcetrail
{
NodeKind symbolKindToNodeKind(SymbolKind v)
NodeKind symbolKindToNodeKind(SymbolKind kind)
{
switch (v)
switch (kind)
{
case SYMBOL_TYPE:
return NODE_TYPE;
case SYMBOL_BUILTIN_TYPE:
return NODE_BUILTIN_TYPE;
case SYMBOL_MODULE:
return NODE_MODULE;
case SYMBOL_NAMESPACE:
return NODE_NAMESPACE;
case SYMBOL_PACKAGE:
return NODE_PACKAGE;
case SYMBOL_STRUCT:
return NODE_STRUCT;
case SYMBOL_CLASS:
return NODE_CLASS;
case SYMBOL_INTERFACE:
return NODE_INTERFACE;
case SYMBOL_ANNOTATION:
return NODE_ANNOTATION;
case SYMBOL_GLOBAL_VARIABLE:
return NODE_GLOBAL_VARIABLE;
case SYMBOL_FIELD:
return NODE_FIELD;
case SYMBOL_FUNCTION:
return NODE_FUNCTION;
case SYMBOL_METHOD:
return NODE_METHOD;
case SYMBOL_ENUM:
return NODE_ENUM;
case SYMBOL_ENUM_CONSTANT:
return NODE_ENUM_CONSTANT;
case SYMBOL_TYPEDEF:
return NODE_TYPEDEF;
case SYMBOL_TEMPLATE_PARAMETER:
return NODE_TEMPLATE_PARAMETER;
case SYMBOL_TYPE_PARAMETER:
return NODE_TYPE_PARAMETER;
case SYMBOL_MACRO:
return NODE_MACRO;
case SYMBOL_UNION:
return NODE_UNION;
case SymbolKind::TYPE:
return NodeKind::TYPE;
case SymbolKind::BUILTIN_TYPE:
return NodeKind::BUILTIN_TYPE;
case SymbolKind::MODULE:
return NodeKind::MODULE;
case SymbolKind::NAMESPACE:
return NodeKind::NAMESPACE;
case SymbolKind::PACKAGE:
return NodeKind::PACKAGE;
case SymbolKind::STRUCT:
return NodeKind::STRUCT;
case SymbolKind::CLASS:
return NodeKind::CLASS;
case SymbolKind::INTERFACE:
return NodeKind::INTERFACE;
case SymbolKind::ANNOTATION:
return NodeKind::ANNOTATION;
case SymbolKind::GLOBAL_VARIABLE:
return NodeKind::GLOBAL_VARIABLE;
case SymbolKind::FIELD:
return NodeKind::FIELD;
case SymbolKind::FUNCTION:
return NodeKind::FUNCTION;
case SymbolKind::METHOD:
return NodeKind::METHOD;
case SymbolKind::ENUM:
return NodeKind::ENUM;
case SymbolKind::ENUM_CONSTANT:
return NodeKind::ENUM_CONSTANT;
case SymbolKind::TYPEDEF:
return NodeKind::TYPEDEF;
case SymbolKind::TEMPLATE_PARAMETER:
return NodeKind::TEMPLATE_PARAMETER;
case SymbolKind::TYPE_PARAMETER:
return NodeKind::TYPE_PARAMETER;
case SymbolKind::MACRO:
return NodeKind::MACRO;
case SymbolKind::UNION:
return NodeKind::UNION;
}
return NODE_UNKNOWN;
return NodeKind::UNKNOWN;
}
}