本文整理汇总了C++中SgVariableDeclaration::get_parent方法的典型用法代码示例。如果您正苦于以下问题:C++ SgVariableDeclaration::get_parent方法的具体用法?C++ SgVariableDeclaration::get_parent怎么用?C++ SgVariableDeclaration::get_parent使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SgVariableDeclaration
的用法示例。
在下文中一共展示了SgVariableDeclaration::get_parent方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: visit
virtual void visit(SgNode* n)
{
if (isSgFunctionDefinition(n)) {
renameLabels(isSgFunctionDefinition(n), isSgFunctionDefinition(n));
} else if (isSgInitializedName(n))
{
SgInitializedName* n2 = isSgInitializedName(n);
ROSE_ASSERT(n2->get_file_info() != NULL);
if (isMemberVariable(*n2)) return;
// JW (7/16/2004): Added patch
if (isSgVariableDeclaration(n2->get_parent()))
{
SgVariableDeclaration* decl = isSgVariableDeclaration(n2->get_parent());
if (isSgGlobal(decl->get_parent())) return;
if (isSgNamespaceDefinitionStatement(decl->get_parent())) return;
}
if (isSgCtorInitializerList(n2->get_parent())) return;
if (n2->get_name().getString() == "") return;
SgName name(n2->get_name());
SgSymbolTable* symtab = n2->get_scope()->get_symbol_table();
SgSymbol* sym = symtab->find(n2);
if (sym) {
symtab->remove(sym);
}
name << "__" << counter++;
n2->set_name(name);
SgVariableSymbol* n2symbol = new SgVariableSymbol(n2);
n2symbol->set_parent(symtab);
symtab->insert(name, n2symbol);
// printf ("RenameVariablesVisitor(): name = %s scope = %p = %s \n",name.str(),savedScope,savedScope->class_name().c_str());
ROSE_ASSERT(n2->get_parent() != NULL);
ROSE_ASSERT(n2->get_file_info() != NULL);
}
}