本文整理汇总了C++中FunctionNode::borrowParameterNames方法的典型用法代码示例。如果您正苦于以下问题:C++ FunctionNode::borrowParameterNames方法的具体用法?C++ FunctionNode::borrowParameterNames怎么用?C++ FunctionNode::borrowParameterNames使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FunctionNode
的用法示例。
在下文中一共展示了FunctionNode::borrowParameterNames方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: if
Node *QsCodeParser::processTopicCommand(const Doc& doc,
const QString& command,
const QString& arg)
{
if (command == COMMAND_QUICKFN) {
QStringList parentPath;
FunctionNode *quickFunc = 0;
FunctionNode *clone;
if (makeFunctionNode(arg, &parentPath, &clone)) {
FunctionNode *kernelFunc = findKernelFunction(parentPath,
clone->name());
if (kernelFunc != 0)
kernelFunc->setAccess(Node::Private);
quickFunc = qsTre->findFunctionNode(parentPath, clone);
if (quickFunc == 0 && kernelFunc != 0) {
quickFunc = new FunctionNode(kernelFunc->parent(),
kernelFunc->name());
quickFunc->setLocation(kernelFunc->location());
quickFunc->setReturnType(clone->returnType());
quickFunc->setParameters(clone->parameters());
}
if (quickFunc == 0) {
doc.location().warning(tr("Cannot find '%1' specified with '\\%2'")
.arg(arg).arg(command));
}
else {
quickFunc->setAccess(Node::Public);
QStringList qtParams = quickFunc->parameterNames();
quickFunc->borrowParameterNames(clone);
QStringList quickParams = quickFunc->parameterNames();
setQuickDoc(quickFunc, doc, qtParams, quickParams);
}
delete clone;
}
else {
doc.location().warning(tr("Cannot find '%1' specified with '\\%2'")
.arg(arg).arg(command));
}
return 0;
}
else if (nodeTypeMap.contains(command)) {
QStringList subArgs = arg.split(" ");
QString dataType;
if (subArgs.count() == 3 && subArgs[1] == ":") {
dataType = subArgs[2];
}
else if (subArgs.count() != 1) {
doc.location().warning(tr("Invalid syntax in '\\%1'")
.arg(command));
}
QStringList path = subArgs[0].split(".");
Node *quickNode = qsTre->findNode(path, nodeTypeMap[command]);
if (quickNode == 0) {
doc.location().warning(tr("Cannot find '%1' specified with '\\%2'")
.arg(arg).arg(command));
}
else {
setQuickDoc(quickNode, doc);
if (quickNode->type() == Node::Class) {
classesWithNoQuickDoc.remove(quickNode->name());
if (doc.briefText().isEmpty())
doc.location().warning(tr("Missing '\\%1' for class '%2'")
.arg(COMMAND_BRIEF)
.arg(quickNode->name()));
}
else if (quickNode->type() == Node::Property) {
PropertyNode *quickProperty = (PropertyNode *) quickNode;
if (quickProperty->dataType() == "Object") {
if (dataType.isEmpty()) {
doc.location().warning(tr("Missing data type in '\\%1'"
" (assuming 'Object')")
.arg(command));
}
else {
quickProperty->setDataType(dataType);
}
}
else if (dataType != quickProperty->dataType()) {
doc.location().warning(tr("Ignored contradictory data type"
" in '\\%1'")
.arg(command));
}
}
}
return 0;
}
else {
return CppCodeParser::processTopicCommand(doc, command, arg);
}
}