本文整理汇总了C++中llvm::StringRef::append方法的典型用法代码示例。如果您正苦于以下问题:C++ StringRef::append方法的具体用法?C++ StringRef::append怎么用?C++ StringRef::append使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类llvm::StringRef
的用法示例。
在下文中一共展示了StringRef::append方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: inclusionDirective
void HeaderTracker::inclusionDirective( llvm::StringRef searchPath, llvm::StringRef relativePath, llvm::StringRef fileName, bool isAngled, clang::FileEntry const * entry )
{
commitMacros();
assert( !fileStack_.empty() );
bool const relativeToParent( !isAngled && ( fileStack_.back().file->getDir()->getName() == searchPath ) );
Dir dir;
HeaderName headerName;
if ( relativeToParent )
{
dir = Dir( fileStack_.back().dir );
llvm::StringRef const parentFilename = fileStack_.back().name.get();
std::size_t const slashPos = parentFilename.find_last_of('/');
if ( slashPos == llvm::StringRef::npos )
headerName = HeaderName( relativePath );
else
{
llvm::SmallString<512> fileName( parentFilename.data(), parentFilename.data() + slashPos + 1 );
fileName.append( relativePath );
headerName = HeaderName( fileName.str() );
}
}
else
{
dir = Dir( searchPath );
headerName = HeaderName( relativePath );
}
fileStack_.emplace_back
(
dir,
headerName,
relativeToParent,
entry
);
}