data: added Node type NODE_ENUM_CONSTANT
This commit is contained in:
@@ -89,7 +89,7 @@ Storage.cpp INFO: method: Class::isMethod <file.cpp 1:1 1:1>
|
|||||||
Storage.cpp INFO: namespace: utility <file.cpp 1:1 1:1>
|
Storage.cpp INFO: namespace: utility <file.cpp 1:1 1:1>
|
||||||
Storage.cpp INFO: enum: Category <file.cpp 1:17 1:17>
|
Storage.cpp INFO: enum: Category <file.cpp 1:17 1:17>
|
||||||
Storage.cpp INFO: enum: Class::Category <file.cpp 1:1 1:1>
|
Storage.cpp INFO: enum: Class::Category <file.cpp 1:1 1:1>
|
||||||
Storage.cpp INFO: enum field: VALUE <file.cpp 1:1 1:1>
|
Storage.cpp INFO: enum constant: VALUE <file.cpp 1:1 1:1>
|
||||||
Storage.cpp INFO: class: ClassA <file.cpp 1:0 1:0>
|
Storage.cpp INFO: class: ClassA <file.cpp 1:0 1:0>
|
||||||
Storage.cpp INFO: class: ClassB <file.cpp 1:0 1:0>
|
Storage.cpp INFO: class: ClassB <file.cpp 1:0 1:0>
|
||||||
Storage.cpp INFO: inheritance: ClassB : ClassA <file.cpp 1:5 1:5>
|
Storage.cpp INFO: inheritance: ClassB : ClassA <file.cpp 1:5 1:5>
|
||||||
|
|||||||
@@ -41,6 +41,7 @@ QFont QtGraphNode::getFontForNodeType(Node::NodeType type)
|
|||||||
case Node::NODE_UNDEFINED_VARIABLE:
|
case Node::NODE_UNDEFINED_VARIABLE:
|
||||||
case Node::NODE_GLOBAL_VARIABLE:
|
case Node::NODE_GLOBAL_VARIABLE:
|
||||||
case Node::NODE_FIELD:
|
case Node::NODE_FIELD:
|
||||||
|
case Node::NODE_ENUM_CONSTANT:
|
||||||
font.setPixelSize(11);
|
font.setPixelSize(11);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -339,6 +340,7 @@ void QtGraphNode::setStyle()
|
|||||||
useUndefinedColor = true;
|
useUndefinedColor = true;
|
||||||
case Node::NODE_GLOBAL_VARIABLE:
|
case Node::NODE_GLOBAL_VARIABLE:
|
||||||
case Node::NODE_FIELD:
|
case Node::NODE_FIELD:
|
||||||
|
case Node::NODE_ENUM_CONSTANT:
|
||||||
if (m_isActive || m_isHovering)
|
if (m_isActive || m_isHovering)
|
||||||
{
|
{
|
||||||
color = "#62b29d";
|
color = "#62b29d";
|
||||||
|
|||||||
@@ -494,6 +494,7 @@ GraphController::Margins GraphController::getMarginsForDummyNode(DummyNode& node
|
|||||||
case Node::NODE_UNDEFINED_VARIABLE:
|
case Node::NODE_UNDEFINED_VARIABLE:
|
||||||
case Node::NODE_GLOBAL_VARIABLE:
|
case Node::NODE_GLOBAL_VARIABLE:
|
||||||
case Node::NODE_FIELD:
|
case Node::NODE_FIELD:
|
||||||
|
case Node::NODE_ENUM_CONSTANT:
|
||||||
margins.left = margins.right = 5;
|
margins.left = margins.right = 5;
|
||||||
margins.top = margins.bottom = 10;
|
margins.top = margins.bottom = 10;
|
||||||
|
|
||||||
|
|||||||
@@ -330,11 +330,11 @@ Id Storage::onEnumParsed(
|
|||||||
return node->getId();
|
return node->getId();
|
||||||
}
|
}
|
||||||
|
|
||||||
Id Storage::onEnumFieldParsed(const ParseLocation& location, const std::vector<std::string>& nameHierarchy)
|
Id Storage::onEnumConstantParsed(const ParseLocation& location, const std::vector<std::string>& nameHierarchy)
|
||||||
{
|
{
|
||||||
log("enum field", utility::join(nameHierarchy, "::"), location);
|
log("enum constant", utility::join(nameHierarchy, "::"), location);
|
||||||
|
|
||||||
Node* node = addNodeHierarchy(Node::NODE_FIELD, nameHierarchy);
|
Node* node = addNodeHierarchy(Node::NODE_ENUM_CONSTANT, nameHierarchy);
|
||||||
addTokenLocation(node, location);
|
addTokenLocation(node, location);
|
||||||
|
|
||||||
return node->getId();
|
return node->getId();
|
||||||
@@ -438,16 +438,16 @@ Id Storage::onGlobalVariableUsageParsed(
|
|||||||
return edge->getId();
|
return edge->getId();
|
||||||
}
|
}
|
||||||
|
|
||||||
Id Storage::onEnumFieldUsageParsed(
|
Id Storage::onEnumConstantUsageParsed(
|
||||||
const ParseLocation& location, const ParseFunction& user, const std::vector<std::string>& usedNameHierarchy
|
const ParseLocation& location, const ParseFunction& user, const std::vector<std::string>& usedNameHierarchy
|
||||||
){
|
){
|
||||||
return onVariableUsageParsed("enum field usage", location, user, usedNameHierarchy);
|
return onVariableUsageParsed("enum constant usage", location, user, usedNameHierarchy);
|
||||||
}
|
}
|
||||||
|
|
||||||
Id Storage::onEnumFieldUsageParsed(
|
Id Storage::onEnumConstantUsageParsed(
|
||||||
const ParseLocation& location, const ParseVariable& user, const std::vector<std::string>& usedNameHierarchy
|
const ParseLocation& location, const ParseVariable& user, const std::vector<std::string>& usedNameHierarchy
|
||||||
){
|
){
|
||||||
log("enum field usage", user.getFullName() + " -> " + utility::join(usedNameHierarchy, "::"), location);
|
log("enum constant usage", user.getFullName() + " -> " + utility::join(usedNameHierarchy, "::"), location);
|
||||||
|
|
||||||
Node* userNode = addNodeHierarchy(Node::NODE_UNDEFINED_VARIABLE, user.nameHierarchy);
|
Node* userNode = addNodeHierarchy(Node::NODE_UNDEFINED_VARIABLE, user.nameHierarchy);
|
||||||
Node* usedNode = addNodeHierarchy(Node::NODE_UNDEFINED_VARIABLE, usedNameHierarchy);
|
Node* usedNode = addNodeHierarchy(Node::NODE_UNDEFINED_VARIABLE, usedNameHierarchy);
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ public:
|
|||||||
virtual Id onEnumParsed(
|
virtual Id onEnumParsed(
|
||||||
const ParseLocation& location, const std::vector<std::string>& nameHierarchy, AccessType access,
|
const ParseLocation& location, const std::vector<std::string>& nameHierarchy, AccessType access,
|
||||||
const ParseLocation& scopeLocation);
|
const ParseLocation& scopeLocation);
|
||||||
virtual Id onEnumFieldParsed(const ParseLocation& location, const std::vector<std::string>& nameHierarchy);
|
virtual Id onEnumConstantParsed(const ParseLocation& location, const std::vector<std::string>& nameHierarchy);
|
||||||
|
|
||||||
virtual Id onInheritanceParsed(
|
virtual Id onInheritanceParsed(
|
||||||
const ParseLocation& location, const std::vector<std::string>& nameHierarchy,
|
const ParseLocation& location, const std::vector<std::string>& nameHierarchy,
|
||||||
@@ -77,9 +77,9 @@ public:
|
|||||||
const ParseLocation& location, const ParseFunction& user, const std::vector<std::string>& usedNameHierarchy);
|
const ParseLocation& location, const ParseFunction& user, const std::vector<std::string>& usedNameHierarchy);
|
||||||
virtual Id onGlobalVariableUsageParsed(
|
virtual Id onGlobalVariableUsageParsed(
|
||||||
const ParseLocation& location, const ParseVariable& user, const std::vector<std::string>& usedNameHierarchy);
|
const ParseLocation& location, const ParseVariable& user, const std::vector<std::string>& usedNameHierarchy);
|
||||||
virtual Id onEnumFieldUsageParsed(
|
virtual Id onEnumConstantUsageParsed(
|
||||||
const ParseLocation& location, const ParseFunction& user, const std::vector<std::string>& usedNameHierarchy);
|
const ParseLocation& location, const ParseFunction& user, const std::vector<std::string>& usedNameHierarchy);
|
||||||
virtual Id onEnumFieldUsageParsed(
|
virtual Id onEnumConstantUsageParsed(
|
||||||
const ParseLocation& location, const ParseVariable& user, const std::vector<std::string>& usedNameHierarchy);
|
const ParseLocation& location, const ParseVariable& user, const std::vector<std::string>& usedNameHierarchy);
|
||||||
virtual Id onTypeUsageParsed(const ParseTypeUsage& type, const ParseFunction& function);
|
virtual Id onTypeUsageParsed(const ParseTypeUsage& type, const ParseFunction& function);
|
||||||
virtual Id onTypeUsageParsed(const ParseTypeUsage& type, const ParseVariable& variable);
|
virtual Id onTypeUsageParsed(const ParseTypeUsage& type, const ParseVariable& variable);
|
||||||
|
|||||||
@@ -190,7 +190,7 @@ bool Edge::checkType() const
|
|||||||
case EDGE_MEMBER:
|
case EDGE_MEMBER:
|
||||||
if (!m_from->isType(typeMask | Node::NODE_NAMESPACE) ||
|
if (!m_from->isType(typeMask | Node::NODE_NAMESPACE) ||
|
||||||
(!m_from->isType(Node::NODE_UNDEFINED | Node::NODE_NAMESPACE) && m_to->isType(Node::NODE_NAMESPACE)) ||
|
(!m_from->isType(Node::NODE_UNDEFINED | Node::NODE_NAMESPACE) && m_to->isType(Node::NODE_NAMESPACE)) ||
|
||||||
(m_from->isType(Node::NODE_ENUM) && !m_to->isType(Node::NODE_FIELD)))
|
(m_from->isType(Node::NODE_ENUM) && !m_to->isType(Node::NODE_ENUM_CONSTANT)))
|
||||||
{
|
{
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -235,7 +235,7 @@ bool Edge::checkType() const
|
|||||||
return true;
|
return true;
|
||||||
|
|
||||||
case EDGE_USAGE:
|
case EDGE_USAGE:
|
||||||
if (!m_from->isType(functionMask) || !m_to->isType(variableMask))
|
if (!m_from->isType(functionMask) || !m_to->isType(variableMask | Node::NODE_ENUM_CONSTANT))
|
||||||
{
|
{
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -336,6 +336,8 @@ std::string Node::getTypeString(NodeType type) const
|
|||||||
return "namespace";
|
return "namespace";
|
||||||
case NODE_ENUM:
|
case NODE_ENUM:
|
||||||
return "enum";
|
return "enum";
|
||||||
|
case NODE_ENUM_CONSTANT:
|
||||||
|
return "enum constant";
|
||||||
case NODE_TYPEDEF:
|
case NODE_TYPEDEF:
|
||||||
return "typedef";
|
return "typedef";
|
||||||
case NODE_TEMPLATE_PARAMETER_TYPE:
|
case NODE_TEMPLATE_PARAMETER_TYPE:
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ public:
|
|||||||
NODE_UNDEFINED_FUNCTION = 0x2,
|
NODE_UNDEFINED_FUNCTION = 0x2,
|
||||||
NODE_UNDEFINED_VARIABLE = 0x4,
|
NODE_UNDEFINED_VARIABLE = 0x4,
|
||||||
NODE_UNDEFINED_TYPE = 0x8,
|
NODE_UNDEFINED_TYPE = 0x8,
|
||||||
|
|
||||||
NODE_STRUCT = 0x10,
|
NODE_STRUCT = 0x10,
|
||||||
NODE_CLASS = 0x20,
|
NODE_CLASS = 0x20,
|
||||||
NODE_GLOBAL_VARIABLE = 0x40,
|
NODE_GLOBAL_VARIABLE = 0x40,
|
||||||
@@ -34,8 +35,9 @@ public:
|
|||||||
NODE_METHOD = 0x200,
|
NODE_METHOD = 0x200,
|
||||||
NODE_NAMESPACE = 0x400,
|
NODE_NAMESPACE = 0x400,
|
||||||
NODE_ENUM = 0x800,
|
NODE_ENUM = 0x800,
|
||||||
NODE_TYPEDEF = 0x1000,
|
NODE_ENUM_CONSTANT = 0x1000,
|
||||||
NODE_TEMPLATE_PARAMETER_TYPE = 0x2000
|
NODE_TYPEDEF = 0x2000,
|
||||||
|
NODE_TEMPLATE_PARAMETER_TYPE = 0x4000
|
||||||
};
|
};
|
||||||
|
|
||||||
Node(NodeType type, std::shared_ptr<TokenComponentName> nameComponent);
|
Node(NodeType type, std::shared_ptr<TokenComponentName> nameComponent);
|
||||||
|
|||||||
@@ -125,6 +125,9 @@ void GraphFilterConductor::filterCommandNode(const QueryCommand* node, const Fil
|
|||||||
case QueryCommand::COMMAND_ENUM:
|
case QueryCommand::COMMAND_ENUM:
|
||||||
GraphFilterCommandNodeType(Node::NODE_ENUM).apply(in, out);
|
GraphFilterCommandNodeType(Node::NODE_ENUM).apply(in, out);
|
||||||
break;
|
break;
|
||||||
|
case QueryCommand::COMMAND_ENUM_CONSTANT:
|
||||||
|
GraphFilterCommandNodeType(Node::NODE_ENUM_CONSTANT).apply(in, out);
|
||||||
|
break;
|
||||||
case QueryCommand::COMMAND_TYPEDEF:
|
case QueryCommand::COMMAND_TYPEDEF:
|
||||||
GraphFilterCommandNodeType(Node::NODE_TYPEDEF).apply(in, out);
|
GraphFilterCommandNodeType(Node::NODE_TYPEDEF).apply(in, out);
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ public:
|
|||||||
virtual Id onEnumParsed(
|
virtual Id onEnumParsed(
|
||||||
const ParseLocation& location, const std::vector<std::string>& nameHierarchy, AccessType access,
|
const ParseLocation& location, const std::vector<std::string>& nameHierarchy, AccessType access,
|
||||||
const ParseLocation& scopeLocation) = 0;
|
const ParseLocation& scopeLocation) = 0;
|
||||||
virtual Id onEnumFieldParsed(const ParseLocation& location, const std::vector<std::string>& nameHierarchy) = 0;
|
virtual Id onEnumConstantParsed(const ParseLocation& location, const std::vector<std::string>& nameHierarchy) = 0;
|
||||||
|
|
||||||
virtual Id onInheritanceParsed(
|
virtual Id onInheritanceParsed(
|
||||||
const ParseLocation& location, const std::vector<std::string>& nameHierarchy,
|
const ParseLocation& location, const std::vector<std::string>& nameHierarchy,
|
||||||
@@ -93,9 +93,9 @@ public:
|
|||||||
const ParseLocation& location, const ParseFunction& user, const std::vector<std::string>& usedNameHierarchy) = 0;
|
const ParseLocation& location, const ParseFunction& user, const std::vector<std::string>& usedNameHierarchy) = 0;
|
||||||
virtual Id onGlobalVariableUsageParsed(
|
virtual Id onGlobalVariableUsageParsed(
|
||||||
const ParseLocation& location, const ParseVariable& user, const std::vector<std::string>& usedNameHierarchy) = 0;
|
const ParseLocation& location, const ParseVariable& user, const std::vector<std::string>& usedNameHierarchy) = 0;
|
||||||
virtual Id onEnumFieldUsageParsed(
|
virtual Id onEnumConstantUsageParsed(
|
||||||
const ParseLocation& location, const ParseFunction& user, const std::vector<std::string>& usedNameHierarchy) = 0;
|
const ParseLocation& location, const ParseFunction& user, const std::vector<std::string>& usedNameHierarchy) = 0;
|
||||||
virtual Id onEnumFieldUsageParsed(
|
virtual Id onEnumConstantUsageParsed(
|
||||||
const ParseLocation& location, const ParseVariable& user, const std::vector<std::string>& usedNameHierarchy) = 0;
|
const ParseLocation& location, const ParseVariable& user, const std::vector<std::string>& usedNameHierarchy) = 0;
|
||||||
virtual Id onTypeUsageParsed(const ParseTypeUsage& type, const ParseFunction& function) = 0;
|
virtual Id onTypeUsageParsed(const ParseTypeUsage& type, const ParseFunction& function) = 0;
|
||||||
virtual Id onTypeUsageParsed(const ParseTypeUsage& type, const ParseVariable& variable) = 0;
|
virtual Id onTypeUsageParsed(const ParseTypeUsage& type, const ParseVariable& variable) = 0;
|
||||||
|
|||||||
@@ -271,7 +271,7 @@ bool ASTVisitor::VisitEnumConstantDecl(clang::EnumConstantDecl* declaration)
|
|||||||
{
|
{
|
||||||
if (isLocatedInMainFile(declaration))
|
if (isLocatedInMainFile(declaration))
|
||||||
{
|
{
|
||||||
m_client->onEnumFieldParsed(
|
m_client->onEnumConstantParsed(
|
||||||
getParseLocation(declaration->getSourceRange()),
|
getParseLocation(declaration->getSourceRange()),
|
||||||
utility::getDeclNameHierarchy(declaration)
|
utility::getDeclNameHierarchy(declaration)
|
||||||
);
|
);
|
||||||
@@ -593,7 +593,7 @@ void ASTVisitor::VisitEnumExprInDeclBody(clang::FunctionDecl* decl, clang::DeclR
|
|||||||
const std::string exprName = expr->getNameInfo().getAsString();
|
const std::string exprName = expr->getNameInfo().getAsString();
|
||||||
parseLocation.endColumnNumber += exprName.size() - 1;
|
parseLocation.endColumnNumber += exprName.size() - 1;
|
||||||
|
|
||||||
m_client->onEnumFieldUsageParsed(
|
m_client->onEnumConstantUsageParsed(
|
||||||
parseLocation,
|
parseLocation,
|
||||||
getParseFunction(decl),
|
getParseFunction(decl),
|
||||||
utility::getDeclNameHierarchy(expr->getDecl())
|
utility::getDeclNameHierarchy(expr->getDecl())
|
||||||
@@ -607,7 +607,7 @@ void ASTVisitor::VisitEnumExprInDeclBody(clang::VarDecl* decl, clang::DeclRefExp
|
|||||||
const std::string exprName = expr->getNameInfo().getAsString();
|
const std::string exprName = expr->getNameInfo().getAsString();
|
||||||
parseLocation.endColumnNumber += exprName.size() - 1;
|
parseLocation.endColumnNumber += exprName.size() - 1;
|
||||||
|
|
||||||
m_client->onEnumFieldUsageParsed(
|
m_client->onEnumConstantUsageParsed(
|
||||||
parseLocation,
|
parseLocation,
|
||||||
getParseVariable(decl),
|
getParseVariable(decl),
|
||||||
utility::getDeclNameHierarchy(expr->getDecl())
|
utility::getDeclNameHierarchy(expr->getDecl())
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ std::map<std::string, QueryCommand::CommandType> QueryCommand::getCommandTypeMap
|
|||||||
commandMap.emplace("namespace", COMMAND_NAMESPACE);
|
commandMap.emplace("namespace", COMMAND_NAMESPACE);
|
||||||
commandMap.emplace("struct", COMMAND_STRUCT);
|
commandMap.emplace("struct", COMMAND_STRUCT);
|
||||||
commandMap.emplace("enum", COMMAND_ENUM);
|
commandMap.emplace("enum", COMMAND_ENUM);
|
||||||
|
commandMap.emplace("enum-constant", COMMAND_ENUM_CONSTANT);
|
||||||
commandMap.emplace("typedef", COMMAND_TYPEDEF);
|
commandMap.emplace("typedef", COMMAND_TYPEDEF);
|
||||||
|
|
||||||
commandMap.emplace("const", COMMAND_CONST);
|
commandMap.emplace("const", COMMAND_CONST);
|
||||||
|
|||||||
@@ -23,6 +23,7 @@ public:
|
|||||||
COMMAND_NAMESPACE,
|
COMMAND_NAMESPACE,
|
||||||
COMMAND_STRUCT,
|
COMMAND_STRUCT,
|
||||||
COMMAND_ENUM,
|
COMMAND_ENUM,
|
||||||
|
COMMAND_ENUM_CONSTANT,
|
||||||
COMMAND_TYPEDEF,
|
COMMAND_TYPEDEF,
|
||||||
|
|
||||||
COMMAND_CONST,
|
COMMAND_CONST,
|
||||||
|
|||||||
@@ -388,7 +388,7 @@ public:
|
|||||||
TS_ASSERT_EQUALS(client->enums[0], "n::Z <3:2 <3:7 3:7> 5:2>");
|
TS_ASSERT_EQUALS(client->enums[0], "n::Z <3:2 <3:7 3:7> 5:2>");
|
||||||
}
|
}
|
||||||
|
|
||||||
void test_cxx_parser_finds_enum_field_in_global_enum()
|
void test_cxx_parser_finds_enum_constant_in_global_enum()
|
||||||
{
|
{
|
||||||
std::shared_ptr<TestParserClient> client = parseCode(
|
std::shared_ptr<TestParserClient> client = parseCode(
|
||||||
"enum E\n"
|
"enum E\n"
|
||||||
@@ -397,8 +397,8 @@ public:
|
|||||||
"};\n"
|
"};\n"
|
||||||
);
|
);
|
||||||
|
|
||||||
TS_ASSERT_EQUALS(client->enumFields.size(), 1);
|
TS_ASSERT_EQUALS(client->enumConstants.size(), 1);
|
||||||
TS_ASSERT_EQUALS(client->enumFields[0], "E::P <3:2 3:2>");
|
TS_ASSERT_EQUALS(client->enumConstants[0], "E::P <3:2 3:2>");
|
||||||
}
|
}
|
||||||
|
|
||||||
void test_cxx_parser_finds_typedef_in_global_namespace()
|
void test_cxx_parser_finds_typedef_in_global_namespace()
|
||||||
@@ -1458,7 +1458,7 @@ public:
|
|||||||
TS_ASSERT_EQUALS(client->fields[0], "private A<T>::TestType A<T>::foo <9:11 9:13>");
|
TS_ASSERT_EQUALS(client->fields[0], "private A<T>::TestType A<T>::foo <9:11 9:13>");
|
||||||
}
|
}
|
||||||
|
|
||||||
void test_cxx_parser_finds_enum_fields_in_template_class()
|
void test_cxx_parser_finds_enum_constants_in_template_class()
|
||||||
{
|
{
|
||||||
std::shared_ptr<TestParserClient> client = parseCode(
|
std::shared_ptr<TestParserClient> client = parseCode(
|
||||||
"template <typename T>\n"
|
"template <typename T>\n"
|
||||||
@@ -1472,9 +1472,9 @@ public:
|
|||||||
"};\n"
|
"};\n"
|
||||||
);
|
);
|
||||||
|
|
||||||
TS_ASSERT_EQUALS(client->enumFields.size(), 2);
|
TS_ASSERT_EQUALS(client->enumConstants.size(), 2);
|
||||||
TS_ASSERT_EQUALS(client->enumFields[0], "A<T>::TestType::TEST_ONE <6:3 6:3>");
|
TS_ASSERT_EQUALS(client->enumConstants[0], "A<T>::TestType::TEST_ONE <6:3 6:3>");
|
||||||
TS_ASSERT_EQUALS(client->enumFields[1], "A<T>::TestType::TEST_TWO <7:3 7:3>");
|
TS_ASSERT_EQUALS(client->enumConstants[1], "A<T>::TestType::TEST_TWO <7:3 7:3>");
|
||||||
}
|
}
|
||||||
|
|
||||||
void test_cxx_parser_finds_correct_field_member_type_of_nested_template_class_in_declaration_____typedef()
|
void test_cxx_parser_finds_correct_field_member_type_of_nested_template_class_in_declaration_____typedef()
|
||||||
@@ -1625,7 +1625,7 @@ public:
|
|||||||
TS_ASSERT_EQUALS(client.typedefs.size(), 1);
|
TS_ASSERT_EQUALS(client.typedefs.size(), 1);
|
||||||
TS_ASSERT_EQUALS(client.classes.size(), 4);
|
TS_ASSERT_EQUALS(client.classes.size(), 4);
|
||||||
TS_ASSERT_EQUALS(client.enums.size(), 1);
|
TS_ASSERT_EQUALS(client.enums.size(), 1);
|
||||||
TS_ASSERT_EQUALS(client.enumFields.size(), 2);
|
TS_ASSERT_EQUALS(client.enumConstants.size(), 2);
|
||||||
TS_ASSERT_EQUALS(client.functions.size(), 2);
|
TS_ASSERT_EQUALS(client.functions.size(), 2);
|
||||||
TS_ASSERT_EQUALS(client.fields.size(), 4);
|
TS_ASSERT_EQUALS(client.fields.size(), 4);
|
||||||
TS_ASSERT_EQUALS(client.globalVariables.size(), 2);
|
TS_ASSERT_EQUALS(client.globalVariables.size(), 2);
|
||||||
@@ -1742,9 +1742,9 @@ private:
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual Id onEnumFieldParsed(const ParseLocation& location, const std::vector<std::string>& nameHierarchy)
|
virtual Id onEnumConstantParsed(const ParseLocation& location, const std::vector<std::string>& nameHierarchy)
|
||||||
{
|
{
|
||||||
enumFields.push_back(addLocationSuffix(utility::join(nameHierarchy, "::"), location));
|
enumConstants.push_back(addLocationSuffix(utility::join(nameHierarchy, "::"), location));
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1797,14 +1797,14 @@ private:
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual Id onEnumFieldUsageParsed(
|
virtual Id onEnumConstantUsageParsed(
|
||||||
const ParseLocation& location, const ParseFunction& user, const std::vector<std::string>& usedNameHierarchy)
|
const ParseLocation& location, const ParseFunction& user, const std::vector<std::string>& usedNameHierarchy)
|
||||||
{
|
{
|
||||||
usages.push_back(addLocationSuffix(functionStr(user) + " -> " + utility::join(usedNameHierarchy, "::"), location));
|
usages.push_back(addLocationSuffix(functionStr(user) + " -> " + utility::join(usedNameHierarchy, "::"), location));
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual Id onEnumFieldUsageParsed(
|
virtual Id onEnumConstantUsageParsed(
|
||||||
const ParseLocation& location, const ParseVariable& user, const std::vector<std::string>& usedNameHierarchy)
|
const ParseLocation& location, const ParseVariable& user, const std::vector<std::string>& usedNameHierarchy)
|
||||||
{
|
{
|
||||||
usages.push_back(addLocationSuffix(variableStr(user) + " -> " + utility::join(usedNameHierarchy, "::"), location));
|
usages.push_back(addLocationSuffix(variableStr(user) + " -> " + utility::join(usedNameHierarchy, "::"), location));
|
||||||
@@ -1887,7 +1887,7 @@ private:
|
|||||||
std::vector<std::string> typedefs;
|
std::vector<std::string> typedefs;
|
||||||
std::vector<std::string> classes;
|
std::vector<std::string> classes;
|
||||||
std::vector<std::string> enums;
|
std::vector<std::string> enums;
|
||||||
std::vector<std::string> enumFields;
|
std::vector<std::string> enumConstants;
|
||||||
std::vector<std::string> functions;
|
std::vector<std::string> functions;
|
||||||
std::vector<std::string> fields;
|
std::vector<std::string> fields;
|
||||||
std::vector<std::string> globalVariables;
|
std::vector<std::string> globalVariables;
|
||||||
|
|||||||
@@ -342,15 +342,15 @@ public:
|
|||||||
TS_ASSERT_EQUALS(memberEdge->getFrom()->getType(), Node::NODE_UNDEFINED);
|
TS_ASSERT_EQUALS(memberEdge->getFrom()->getType(), Node::NODE_UNDEFINED);
|
||||||
}
|
}
|
||||||
|
|
||||||
void test_storage_saves_enum_field()
|
void test_storage_saves_enum_constant()
|
||||||
{
|
{
|
||||||
TestStorage storage;
|
TestStorage storage;
|
||||||
Id id = storage.onEnumFieldParsed(validLocation(1), utility::splitToVector("VALUE", "::"));
|
Id id = storage.onEnumConstantParsed(validLocation(1), utility::splitToVector("VALUE", "::"));
|
||||||
|
|
||||||
Node* node = storage.getNodeWithId(id);
|
Node* node = storage.getNodeWithId(id);
|
||||||
TS_ASSERT(node);
|
TS_ASSERT(node);
|
||||||
TS_ASSERT_EQUALS(node->getFullName(), "VALUE");
|
TS_ASSERT_EQUALS(node->getFullName(), "VALUE");
|
||||||
TS_ASSERT_EQUALS(node->getType(), Node::NODE_FIELD);
|
TS_ASSERT_EQUALS(node->getType(), Node::NODE_ENUM_CONSTANT);
|
||||||
|
|
||||||
std::vector<TokenLocation*> locations = storage.getLocationsForId(id);
|
std::vector<TokenLocation*> locations = storage.getLocationsForId(id);
|
||||||
TS_ASSERT_EQUALS(locations.size(), 1);
|
TS_ASSERT_EQUALS(locations.size(), 1);
|
||||||
|
|||||||
Reference in New Issue
Block a user