extern "C" POETCode* make_localPar(POETCode* id, POETCode* restr, LocalVarType type) { try { LvarSymbolTable* local = top_scope(); assert(local != 0); LocalVar* res = local->insert(id, type); POETCode* restr1 = res->get_entry().get_restr(); if (restr != 0 && restr1 != 0 && restr != restr1 && !match_AST(restr,restr1, MATCH_AST_EQ)) { SYM_DIFF_DEFINED(id->toString() + ":" + restr->get_className() + ":" + restr->toString(),restr1->get_className() + ":" + restr1->toString()); return res; } if (restr != 0) res->get_entry().set_restr(restr); return res; } catch (Error err) { std::cerr << "\nAt line " << yylineno << " of file " << curfile->get_filename() << "\n"; exit(1); } }