本文整理汇总了C++中locationt::get_line方法的典型用法代码示例。如果您正苦于以下问题:C++ locationt::get_line方法的具体用法?C++ locationt::get_line怎么用?C++ locationt::get_line使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类locationt
的用法示例。
在下文中一共展示了locationt::get_line方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: xml
xmlt xml(const locationt &location)
{
xmlt xml_location;
xml_location.name="location";
if(location.get_file()!="")
xml_location.set_attribute("file", id2string(location.get_file()));
if(location.get_line()!="")
xml_location.set_attribute("line", id2string(location.get_line()));
return xml_location;
}
示例2: xml
xmlt xml(const locationt &location)
{
xmlt result;
result.name="location";
// these will go away
result.new_element("file").data=id2string(location.get_file());
result.new_element("line").data=id2string(location.get_line());
result.new_element("function").data=id2string(location.get_function());
// these are to stay
if(location.get_file()!="")
result.set_attribute("file", id2string(location.get_file()));
if(location.get_line()!="")
result.set_attribute("line", id2string(location.get_line()));
if(location.get_function()!="")
result.set_attribute("function", id2string(location.get_function()));
return result;
}
示例3: print
void message_handlert::print(
unsigned level,
const std::string &message,
int sequence_number,
const locationt &location)
{
std::string dest;
const irep_idt &file=location.get_file();
const irep_idt &line=location.get_line();
const irep_idt &column=location.get_column();
const irep_idt &function=location.get_function();
if(file!="") { if(dest!="") dest+=" "; dest+="file "+id2string(file); }
if(line!="") { if(dest!="") dest+=" "; dest+="line "+id2string(line); }
if(column!="") { if(dest!="") dest+=" "; dest+="column "+id2string(column); }
if(function!="") { if(dest!="") dest+=" "; dest+="function "+id2string(function); }
if(dest!="") dest+=": ";
dest+=message;
print(level, dest);
}
示例4: get_code
void document_claimst::get_code(
const locationt &location,
std::string &dest)
{
dest="";
const irep_idt &file=location.get_file();
const irep_idt &line=location.get_line();
if(file=="" || line=="") return;
std::ifstream in(file.c_str());
if(!in)
{
dest+="ERROR: unable to open ";
dest+=id2string(file);
dest+="\n";
return;
}
int line_int=atoi(line.c_str());
int line_start=line_int-3,
line_end=line_int+3;
if(line_start<=1) line_start=1;
// skip line_start-1 lines
for(int l=0; l<line_start-1; l++)
{
std::string tmp;
std::getline(in, tmp);
}
// read till line_end
std::list<linet> lines;
for(int l=line_start; l<=line_end && in; l++)
{
lines.push_back(linet());
std::string &line=lines.back().text;
std::getline(in, line);
if(!line.empty() && line[line.size()-1]=='\r')
line.resize(line.size()-1);
lines.back().line_number=l;
}
// remove empty lines at the end and at the beginning
for(std::list<linet>::iterator it=lines.begin();
it!=lines.end();)
{
if(is_empty(it->text))
it=lines.erase(it);
else
break;
}
for(std::list<linet>::iterator it=lines.end();
it!=lines.begin();)
{
it--;
if(is_empty(it->text))
it=lines.erase(it);
else
break;
}
// strip space
strip_space(lines);
// build dest
for(std::list<linet>::iterator it=lines.begin();
it!=lines.end(); it++)
{
std::string line_no=i2string(it->line_number);
std::string tmp;
switch(format)
{
case LATEX:
while(line_no.size()<4)
line_no=" "+line_no;
line_no+" ";
tmp+=escape_latex(it->text, true);
if(it->line_number==line_int)
tmp="{\\ttb{}"+tmp+"}";
//.........这里部分代码省略.........