summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/parsers/functiondeclnode.cpp6
-rw-r--r--src/parsers/generic.cpp48
-rw-r--r--src/parsers/generic.h2
3 files changed, 22 insertions, 34 deletions
diff --git a/src/parsers/functiondeclnode.cpp b/src/parsers/functiondeclnode.cpp
index 2d76333..25cf605 100644
--- a/src/parsers/functiondeclnode.cpp
+++ b/src/parsers/functiondeclnode.cpp
@@ -35,10 +35,8 @@ void parseFunctionDeclNode(Node *node)
fillType(node);
fillLocation(node);
Log::log(node);
- Node *typeNode = createEmptyNode(node, TREE_TYPE(node->gccNode));
- parseNode(typeNode);
- Node *resultNode = createEmptyNode(node, DECL_RESULT(node->gccNode));
- parseNode(resultNode);
+ Node *typeNode = createParseNode(node, TREE_TYPE(node->gccNode));
+ Node *resultNode = createParseNode(node, DECL_RESULT(node->gccNode));
}
}
diff --git a/src/parsers/generic.cpp b/src/parsers/generic.cpp
index 2db51aa..4bb9a2a 100644
--- a/src/parsers/generic.cpp
+++ b/src/parsers/generic.cpp
@@ -33,7 +33,7 @@
namespace Generic
{
-Node *createEmptyNode(Node *parent, tree gccNode)
+Node *createParseNode(Node *parent, tree gccNode)
{
if (gccNode == NULL_TREE)
{
@@ -63,40 +63,30 @@ Node *createEmptyNode(Node *parent, tree gccNode)
node->gccNode = gccNode;
if (parent)
node->indent = parent->indent + 1;
- }
- return node;
-}
-
-void parseNode(Node *node)
-{
- if (!node || node->gccNode == NULL_TREE)
- {
- return;
- }
- switch (TREE_CODE(node->gccNode))
- {
- case FUNCTION_DECL:
- parseFunctionDeclNode(node);
- break;
- case FUNCTION_TYPE:
- parseFunctionTypeNode(node);
- break;
- case RESULT_DECL:
- parseResultDeclNode(node);
- break;
- default:
- Log::log(node, "Not supported node type: %s",
- get_tree_code_name(TREE_CODE(node->gccNode)));
- break;
+ switch (TREE_CODE(node->gccNode))
+ {
+ case FUNCTION_DECL:
+ parseFunctionDeclNode(node);
+ break;
+ case FUNCTION_TYPE:
+ parseFunctionTypeNode(node);
+ break;
+ case RESULT_DECL:
+ parseResultDeclNode(node);
+ break;
+ default:
+ Log::log(node, "Not supported node type: %s",
+ get_tree_code_name(TREE_CODE(node->gccNode)));
+ break;
+ }
}
+ return node;
}
void parseNodes(tree gccNode)
{
- //Node *rootNode = new Node;
- Node *node = createEmptyNode(nullptr, gccNode);
- parseNode(node);
+ createParseNode(nullptr, gccNode);
}
void fillType(Node *node)
diff --git a/src/parsers/generic.h b/src/parsers/generic.h
index ebbc48e..120aaa1 100644
--- a/src/parsers/generic.h
+++ b/src/parsers/generic.h
@@ -36,7 +36,7 @@ namespace Generic
void fillLocation(Node *node);
- Node *createEmptyNode(Node *parent, tree gccNode);
+ Node *createParseNode(Node *parent, tree gccNode);
}
#endif // PARSERS_GENERIC_H