代码拉取完成,页面将自动刷新
同步操作将从 RonxBulld/ftrpc 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
//
// Created by Rexfield on 2018/4/27.
//
#ifndef FTRPC_AST_TREE_H
#define FTRPC_AST_TREE_H
#include <list>
#include <memory>
enum NodeType {
NT_NONE = -1, NT_ROOT = 0, NT_MODULE, NT_API, NT_PARAM, NT_TYPE, NT_STRUCT
};
#include "TypeDef.h"
class astTreeNode
{
public:
enum NodeType nodeType = NT_NONE;
astTreeNode() {}
};
class TypeNode : public astTreeNode
{
public:
enum Type type;
bool isArray = false;
explicit TypeNode(enum Type type = TY_NAN) {
this->nodeType = NT_TYPE;
this->type = type;
}
};
class StructNode : public TypeNode
{
public:
unsigned int name = (unsigned int)-1;
StructNode() {
this->nodeType = NT_STRUCT;
}
};
class ParamNode : public astTreeNode
{
public:
TypeNode type;
unsigned int name = (unsigned int)-1;
ParamNode() {
this->nodeType = NT_PARAM;
}
};
class ApiNode : public astTreeNode
{
public:
TypeNode retType;
unsigned int name = (unsigned int)-1;
std::list<ParamNode> params;
ApiNode() {
this->nodeType = NT_API;
this->params.clear();
}
};
class ModuleNode : public astTreeNode
{
public:
std::list<ApiNode> apis;
std::list<StructNode> structs;
unsigned int name = (unsigned int)-1;
ModuleNode () {
this->nodeType = NT_MODULE;
this->apis.clear();
this->structs.clear();
}
};
class RootNode : public astTreeNode
{
public:
unsigned int version = 0;
std::list<ModuleNode> modules;
RootNode() {
this->nodeType = NT_ROOT;
this->modules.clear();
}
};
#endif //FTRPC_AST_TREE_H
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。