本文整理汇总了C++中UnqualifiedId::toSource方法的典型用法代码示例。如果您正苦于以下问题:C++ UnqualifiedId::toSource方法的具体用法?C++ UnqualifiedId::toSource怎么用?C++ UnqualifiedId::toSource使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类UnqualifiedId
的用法示例。
在下文中一共展示了UnqualifiedId::toSource方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: IntType
Type *
TypeCheck::visit(PrimaryExpression *ast)
{
FUNCLOG;
//Type * t;
switch (ast->op) {
case PRIMARY_ID: {
ScopedId *scopedId = ast->v.id;
if (scopedId->scope) {
//TODO:
}
UnqualifiedId *unqualifiedId = scopedId->id;
String s = unqualifiedId->toSource();
Type *t = SymbolTable.findVar(Symbol::symbol(s));
if (!t) {
SEMANTIC_ERROR(SE_UNDEFINED_SYMBOL);
}
return t;
}
case PRIMARY_INT: {
IntType *itype = new IntType(32, true);
if (ast->v.i == 0) {
itype->setNullable(true);
}
return itype;
}
case PRIMARY_BOOL: return new IntType(8, false);
case PRIMARY_STR: {
PointerType *ptrType = new PointerType();
ptrType->reference = new IntType(8, true);
DBG("$$ %s", ptrType->toString().c_str());
return ptrType;
}
case PRIMARY_EXP: return ast->v.exp->accept(this);
default:
assert(0);
break;
}
return NULL;
}