本文整理汇总了C++中UmlOperation::phpDecl方法的典型用法代码示例。如果您正苦于以下问题:C++ UmlOperation::phpDecl方法的具体用法?C++ UmlOperation::phpDecl怎么用?C++ UmlOperation::phpDecl使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类UmlOperation
的用法示例。
在下文中一共展示了UmlOperation::phpDecl方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: new_one
//.........这里部分代码省略.........
// goto the end of the body
char c;
int level = 1; // '{' already read
for (;;) {
if ((c = Lex::read_word_bis()) == 0)
return FALSE;
else if (c == '{')
level += 1;
else if ((c == '}') && (--level == 0))
break;
}
#ifdef REVERSE
if (op != 0) {
Q3CString e = Lex::region();
e.truncate(e.length() - 1); // remove }
// remove fist \n
if (*((const char *) e) == '\n')
e.remove(0, 1);
// remove last spaces and tabs
int ln = e.length();
while (ln && ((e[ln - 1] == ' ') || (e[ln - 1] == '\t')))
ln -= 1;
e.truncate(ln);
op->set_PhpBody(e);
op->set_PhpContextualBodyIndent(FALSE);
}
#endif
}
if ((op != 0) && (def != op->phpDecl()))
op->set_PhpDecl(def);
Lex::clear_comments(); // params & body comments
Lex::finish_line();
if ((op != 0) && !comment.isEmpty()) {
s = (def.find("${description}") != -1) ? description : comment;
UmlTypeSpec t;
int index1;
if (! (t.explicit_type = value_of(s, "@return", index1)).isEmpty()) {
op->set_ReturnType(t);
s.replace(index1, t.explicit_type.length(), "${type}");
}
Q3ValueList<UmlParameter> l = op->params();
unsigned nparams = l.count();
if (nparams != 0) {
Q3CString varname;
int index2;
char xn[16];
index1 = 0;
rank = 0;
while (!((t.explicit_type = value_of(s, "@param", index1, varname, index2))
.isEmpty())) {
if (varname.isEmpty() || (varname[0] != '$')) {
if (rank < nparams) {
UmlParameter & p = l[rank];
p.type = t;
op->replaceParameter(rank, p);
}
}
else {
varname = varname.mid(1);
Q3ValueList<UmlParameter>::Iterator it;
for (it = l.begin(), rank = 0; it != l.end(); ++it, rank += 1) {
if ((*it).name == varname) {
(*it).type = t;
op->replaceParameter(rank, *it);
sprintf(xn, "${p%d}", rank);
s.replace(index2, varname.length() + 1, xn);
break;
}
}
}
sprintf(xn, "${t%d}", rank++);
s.replace(index1, t.explicit_type.length(), xn);
}
}
op->set_Description(s);
}
return TRUE;
}