Skip to content
This repository has been archived by the owner on Oct 20, 2022. It is now read-only.

Commit

Permalink
Merge pull request #49 from brycelelbach/kind-to-type
Browse files Browse the repository at this point in the history
Add a `kindToType` function for converting from a kind to a type
  • Loading branch information
matusnovak authored Jun 25, 2021
2 parents a35ed5f + 5d09838 commit d18d2f4
Show file tree
Hide file tree
Showing 3 changed files with 66 additions and 75 deletions.
2 changes: 2 additions & 0 deletions include/Doxybook/Enums.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,8 @@ namespace Doxybook2 {
extern std::string toStr(Virtual value);
extern std::string toStr(FolderCategory value);

extern Type kindToType(Kind kind);

extern bool isKindLanguage(Kind kind);
extern bool isKindStructured(Kind kind);
extern bool isKindFile(Kind kind);
Expand Down
63 changes: 63 additions & 0 deletions src/Doxybook/Enums.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,69 @@ std::string Doxybook2::toStr(const FolderCategory value) {
return fromEnum<FolderCategory>(FOLDER_CATEGORY_STRS, value);
}

Doxybook2::Type Doxybook2::kindToType(const Doxybook2::Kind kind) {
switch (kind) {
case Kind::DEFINE: {
return Type::DEFINES;
}
case Kind::FRIEND: {
return Type::FRIENDS;
}
case Kind::VARIABLE: {
return Type::ATTRIBUTES;
}
case Kind::FUNCTION: {
return Type::FUNCTIONS;
}
case Kind::ENUMVALUE:
case Kind::ENUM:
case Kind::USING:
case Kind::TYPEDEF: {
return Type::TYPES;
}
case Kind::MODULE: {
return Type::MODULES;
}
case Kind::NAMESPACE: {
return Type::NAMESPACES;
}
case Kind::UNION:
case Kind::INTERFACE:
case Kind::STRUCT:
case Kind::CLASS: {
return Type::CLASSES;
}
case Kind::FILE: {
return Type::FILES;
}
case Kind::DIR: {
return Type::DIRS;
}
case Kind::PAGE: {
return Type::PAGES;
}
case Kind::EXAMPLE: {
return Type::EXAMPLES;
}
case Kind::SIGNAL: {
return Type::SIGNALS;
}
case Kind::SLOT: {
return Type::SLOTS;
}
case Kind::EVENT: {
return Type::EVENTS;
}
case Kind::PROPERTY: {
return Type::PROPERTIES;
}
default: {
break;
}
}
return Type::NONE;
}

bool Doxybook2::isKindStructured(const Kind kind) {
switch (kind) {
case Doxybook2::Kind::CLASS:
Expand Down
76 changes: 1 addition & 75 deletions src/Doxybook/Node.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -206,81 +206,7 @@ void Doxybook2::Node::parseBaseInfo(const Xml::Element& element) {
this->title = this->name;
}

switch (kind) {
case Kind::DEFINE: {
type = Type::DEFINES;
break;
}
case Kind::FRIEND: {
type = Type::FRIENDS;
break;
}
case Kind::VARIABLE: {
type = Type::ATTRIBUTES;
break;
}
case Kind::FUNCTION: {
type = Type::FUNCTIONS;
break;
}
case Kind::ENUMVALUE:
case Kind::ENUM:
case Kind::USING:
case Kind::TYPEDEF: {
type = Type::TYPES;
break;
}
case Kind::MODULE: {
type = Type::MODULES;
break;
}
case Kind::NAMESPACE: {
type = Type::NAMESPACES;
break;
}
case Kind::UNION:
case Kind::INTERFACE:
case Kind::STRUCT:
case Kind::CLASS: {
type = Type::CLASSES;
break;
}
case Kind::FILE: {
type = Type::FILES;
break;
}
case Kind::DIR: {
type = Type::DIRS;
break;
}
case Kind::PAGE: {
type = Type::PAGES;
break;
}
case Kind::EXAMPLE: {
type = Type::EXAMPLES;
break;
}
case Kind::SIGNAL: {
type = Type::SIGNALS;
break;
}
case Kind::SLOT: {
type = Type::SLOTS;
break;
}
case Kind::EVENT: {
type = Type::EVENTS;
break;
}
case Kind::PROPERTY: {
type = Type::PROPERTIES;
break;
}
default: {
break;
}
}
type = kindToType(kind);
}

void Doxybook2::Node::parseInheritanceInfo(const Xml::Element& element) {
Expand Down

0 comments on commit d18d2f4

Please # to comment.