本文整理汇总了C++中typet::add_source_location方法的典型用法代码示例。如果您正苦于以下问题:C++ typet::add_source_location方法的具体用法?C++ typet::add_source_location怎么用?C++ typet::add_source_location使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类typet
的用法示例。
在下文中一共展示了typet::add_source_location方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: typecheck_typeof_type
void c_typecheck_baset::typecheck_typeof_type(typet &type)
{
// save location
source_locationt source_location=type.source_location();
// retain the qualifiers as is
c_qualifierst c_qualifiers;
c_qualifiers.read(type);
if(!((const exprt &)type).has_operands())
{
typet t=static_cast<const typet &>(type.find(ID_type_arg));
typecheck_type(t);
type.swap(t);
}
else
{
exprt expr=((const exprt &)type).op0();
typecheck_expr(expr);
// undo an implicit address-of
if(expr.id()==ID_address_of &&
expr.get_bool(ID_C_implicit))
{
assert(expr.operands().size()==1);
exprt tmp;
tmp.swap(expr.op0());
expr.swap(tmp);
}
type.swap(expr.type());
}
type.add_source_location()=source_location;
c_qualifiers.write(type);
}