ultimatepp/uppsrc/CppBase/CppItem.cpp
cxl e7e9bf0f0b CppBase: CppItem::Dump
git-svn-id: svn://ultimatepp.org/upp/trunk@7538 f0d560ea-af0d-0410-9eb7-867de7ffcac7
2014-07-24 06:59:18 +00:00

68 lines
1.6 KiB
C++

#include "CppBase.h"
NAMESPACE_UPP
void CppItem::Dump(Stream& s) const
{
s << Nvl(qitem, "?") << ' ';
s << decode(kind,
STRUCT, "STRUCT",
STRUCTTEMPLATE, "STRUCTTEMPLATE",
TYPEDEF, "TYPEDEF",
CONSTRUCTOR, "CONSTRUCTOR",
DESTRUCTOR, "DESTRUCTOR",
FUNCTION, "FUNCTION",
INSTANCEFUNCTION, "INSTANCEFUNCTION",
CLASSFUNCTION, "CLASSFUNCTION",
FUNCTIONTEMPLATE, "FUNCTIONTEMPLATE",
INSTANCEFUNCTIONTEMPLATE, "INSTANCEFUNCTIONTEMPLATE",
CLASSFUNCTIONTEMPLATE, "CLASSFUNCTIONTEMPLATE",
INLINEFRIEND, "INLINEFRIEND",
VARIABLE, "VARIABLE",
INSTANCEVARIABLE, "INSTANCEVARIABLE",
CLASSVARIABLE, "CLASSVARIABLE",
ENUM, "ENUM",
MACRO, "MACRO",
FRIENDCLASS, "FRIENDCLASS",
"?kind:" + AsString(kind)) << ' '
<< decode(access,
PUBLIC, "PUBLIC",
PROTECTED, "PROTECTED",
PRIVATE, "PRIVATE",
"?access:" + AsString(access)) << ' '
<< decode(filetype,
FILE_H, "FILE_H",
FILE_HPP, "FILE_HPP",
FILE_CPP, "FILE_CPP",
FILE_C, "FILE_C",
FILE_OTHER, "FILE_OTHER",
"?filetype:" + AsString(filetype))
;
#define PUT(x) if(x) s << ' ' << #x;
PUT(virt);
PUT(decla);
PUT(lvalue);
PUT(isptr);
PUT(impl);
PUT(qualify_type);
PUT(qualify_param);
#undef PUT
s << ' ' << line << '\n';
#define PUT(x) if(x.GetCount()) s << " " << #x << ": " << x << '\n';
PUT(item);
PUT(name);
PUT(uname);
PUT(natural);
PUT(type);
PUT(qtype);
PUT(tparam);
PUT(param);
PUT(pname);
PUT(ptype);
PUT(qptype);
PUT(tname);
PUT(ctname);
#undef PUT
}
END_UPP_NAMESPACE