本文整理汇总了C++中CppModelManager::fallbackProjectPart方法的典型用法代码示例。如果您正苦于以下问题:C++ CppModelManager::fallbackProjectPart方法的具体用法?C++ CppModelManager::fallbackProjectPart怎么用?C++ CppModelManager::fallbackProjectPart使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CppModelManager
的用法示例。
在下文中一共展示了CppModelManager::fallbackProjectPart方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: determineProjectPart
ProjectPart::Ptr BaseEditorDocumentParser::determineProjectPart(const QString &filePath,
const Configuration &config,
const State &state)
{
if (config.manuallySetProjectPart)
return config.manuallySetProjectPart;
ProjectPart::Ptr projectPart = state.projectPart;
CppModelManager *cmm = CppModelManager::instance();
QList<ProjectPart::Ptr> projectParts = cmm->projectPart(filePath);
if (projectParts.isEmpty()) {
if (projectPart && config.stickToPreviousProjectPart)
// File is not directly part of any project, but we got one before. We will re-use it,
// because re-calculating this can be expensive when the dependency table is big.
return projectPart;
// Fall-back step 1: Get some parts through the dependency table:
projectParts = cmm->projectPartFromDependencies(Utils::FileName::fromString(filePath));
if (projectParts.isEmpty())
// Fall-back step 2: Use fall-back part from the model manager:
projectPart = cmm->fallbackProjectPart();
else
projectPart = projectParts.first();
} else {
if (!projectParts.contains(projectPart))
// Apparently the project file changed, so update our project part.
projectPart = projectParts.first();
}
return projectPart;
}