本文整理汇总了C++中ConstructPtr::dump方法的典型用法代码示例。如果您正苦于以下问题:C++ ConstructPtr::dump方法的具体用法?C++ ConstructPtr::dump怎么用?C++ ConstructPtr::dump使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ConstructPtr
的用法示例。
在下文中一共展示了ConstructPtr::dump方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: dump
void Construct::dump(int spc, AnalysisResultPtr ar) {
int nkid = getKidCount();
std::string name;
int type = 0;
std::string scontext = "";
std::string value = "";
std::string type_info = "";
unsigned id = 0;
ExpressionPtr idPtr = ExpressionPtr();
if (Statement *s = dynamic_cast<Statement*>(this)) {
Statement::KindOf stype = s->getKindOf();
switch (stype) {
case Statement::KindOfFunctionStatement:
name="FunctionStatement";
break;
case Statement::KindOfClassStatement:
name="ClassStatement";
break;
case Statement::KindOfInterfaceStatement:
name="InterfaceStatement";
break;
case Statement::KindOfClassVariable:
name="ClassVariable";
break;
case Statement::KindOfClassConstant:
name="ClassConstant";
break;
case Statement::KindOfMethodStatement:
name="MethodStatement";
break;
case Statement::KindOfStatementList:
name="StatementList";
break;
case Statement::KindOfBlockStatement:
name="BlockStatement";
break;
case Statement::KindOfIfBranchStatement:
name="IfBranchStatement";
break;
case Statement::KindOfIfStatement:
name="IfStatement";
break;
case Statement::KindOfWhileStatement:
name="WhileStatement";
break;
case Statement::KindOfDoStatement:
name="DoStatement";
break;
case Statement::KindOfForStatement:
name="ForStatement";
break;
case Statement::KindOfSwitchStatement:
name="SwitchStatement";
break;
case Statement::KindOfCaseStatement:
name="CaseStatement";
break;
case Statement::KindOfBreakStatement:
name="BreakStatement";
break;
case Statement::KindOfContinueStatement:
name="ContinueStatement";
break;
case Statement::KindOfReturnStatement:
name="ReturnStatement";
break;
case Statement::KindOfGlobalStatement:
name="GlobalStatement";
break;
case Statement::KindOfStaticStatement:
name="StaticStatement";
break;
case Statement::KindOfEchoStatement:
name="EchoStatement";
break;
case Statement::KindOfUnsetStatement:
name="UnsetStatement";
break;
case Statement::KindOfExpStatement:
name="ExpStatement";
break;
case Statement::KindOfForEachStatement:
name="ForEachStatement";
break;
case Statement::KindOfCatchStatement:
name="CatchStatement";
break;
case Statement::KindOfTryStatement:
name="TryStatement";
break;
case Statement::KindOfThrowStatement:
name="ThrowStatement";
break;
}
type = (int)stype;
} else if (Expression *e = dynamic_cast<Expression*>(this)) {
id = e->getCanonID();
idPtr = e->getCanonPtr();
//.........这里部分代码省略.........