当前位置: 首页>>代码示例>>C++>>正文


C++ UnqualifiedId::toSource方法代码示例

本文整理汇总了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;
}
开发者ID:ktok07b6,项目名称:scc,代码行数:40,代码来源:TypeCheck.cpp


注:本文中的UnqualifiedId::toSource方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。