本文整理汇总了C++中UmlOperation::set_isPhpFinal方法的典型用法代码示例。如果您正苦于以下问题:C++ UmlOperation::set_isPhpFinal方法的具体用法?C++ UmlOperation::set_isPhpFinal怎么用?C++ UmlOperation::set_isPhpFinal使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类UmlOperation
的用法示例。
在下文中一共展示了UmlOperation::set_isPhpFinal方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: new_one
bool UmlOperation::new_one(Class * container, aVisibility visibility,
bool finalp, bool abstractp, bool staticp,
Q3CString comment, Q3CString description)
{
// 'function' was read, it is followed by :
// ['&'] name'(' {'array' | <classname>] ['&'] '$'<varname> ['=' <value>]}* ')' '{' ... '}'
Q3CString s = Lex::read_word();
bool refp;
if (s == "&") {
refp = TRUE;
s = Lex::read_word();
}
else
refp = FALSE;
if (s.isEmpty()) {
Lex::premature_eof();
return FALSE;
}
Q3CString name = s;
#ifdef TRACE
QLOG_INFO() <<"OPERATION '" << name << "'\n";
#endif
s = Lex::read_word();
if (s != "(") {
Lex::syntax_error("'(' expected rather than '" + s + "'");
return FALSE;
}
UmlClass * cl = container->get_uml();
UmlOperation * op;
#ifndef REVERSE
if (visibility == PrivateVisibility)
op = 0;
else
#endif
{
op = UmlBaseOperation::create(cl, name);
if (op == 0) {
PhpCatWindow::trace(Q3CString("<font face=helvetica><b>cannot add operation <i>")
+ name + "</i> in <i>" + cl->name()
+ "</i></b></font><br>");
return FALSE;
}
#ifdef REVERSE
Statistic::one_operation_more();
#endif
}
Q3CString def;
if (op != 0) {
op->set_Visibility(visibility);
if (staticp) op->set_isClassMember(TRUE);
if (finalp) op->set_isPhpFinal(TRUE);
def = PhpSettings::operationDef();
int index;
if (((index = def.find("${(}")) == -1) ||
(def.find("${)}", index + 4) == -1) ||
((index = def.find("${name}")) == -1) ||
(def.find("${body}") == -1)) {
// use a definition where ${body] is not indented
def = " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)}\n{\n ${body}}\n";
index = def.find("${name}");
}
if (refp)
def.insert(index, "&");
if ((name == cl->name()) || (name == "__construct")) {
// constructor, remove useless ${}
if ((index = def.find("${static}")) != -1)
def.remove(index, 9);
if ((index = def.find("${final}")) != -1)
def.remove(index, 8);
if ((index = def.find("${abstract}")) != -1)
def.remove(index, 11);
}
if (abstractp) {
op->set_isAbstract(TRUE);
def = def.left(def.find("${)}") + 4) + ";";
}
}
// parameters
unsigned rank = 0;
UmlParameter param;
//.........这里部分代码省略.........