diff options
Diffstat (limited to 'clang/lib/Tooling')
14 files changed, 33 insertions, 32 deletions
diff --git a/clang/lib/Tooling/ASTDiff/ASTDiff.cpp b/clang/lib/Tooling/ASTDiff/ASTDiff.cpp index bfaa902..52e5797 100644 --- a/clang/lib/Tooling/ASTDiff/ASTDiff.cpp +++ b/clang/lib/Tooling/ASTDiff/ASTDiff.cpp @@ -687,7 +687,7 @@ ASTNodeKind Node::getType() const { return ASTNode.getNodeKind(); } StringRef Node::getTypeLabel() const { return getType().asStringRef(); } -llvm::Optional<std::string> Node::getQualifiedIdentifier() const { +std::optional<std::string> Node::getQualifiedIdentifier() const { if (auto *ND = ASTNode.get<NamedDecl>()) { if (ND->getDeclName().isIdentifier()) return ND->getQualifiedNameAsString(); @@ -695,7 +695,7 @@ llvm::Optional<std::string> Node::getQualifiedIdentifier() const { return std::nullopt; } -llvm::Optional<StringRef> Node::getIdentifier() const { +std::optional<StringRef> Node::getIdentifier() const { if (auto *ND = ASTNode.get<NamedDecl>()) { if (ND->getDeclName().isIdentifier()) return ND->getName(); diff --git a/clang/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp b/clang/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp index 859497b..97b41fc 100644 --- a/clang/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp +++ b/clang/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp @@ -68,7 +68,7 @@ EntryRef DependencyScanningWorkerFilesystem::scanForDirectivesIfNecessary( Directives)) { Contents->DepDirectiveTokens.clear(); // FIXME: Propagate the diagnostic if desired by the client. - Contents->DepDirectives.store(new Optional<DependencyDirectivesTy>()); + Contents->DepDirectives.store(new std::optional<DependencyDirectivesTy>()); return EntryRef(Filename, Entry); } @@ -77,7 +77,7 @@ EntryRef DependencyScanningWorkerFilesystem::scanForDirectivesIfNecessary( // threads may skip the // critical section (`DepDirectives != nullptr`), leading to a data race. Contents->DepDirectives.store( - new Optional<DependencyDirectivesTy>(std::move(Directives))); + new std::optional<DependencyDirectivesTy>(std::move(Directives))); return EntryRef(Filename, Entry); } diff --git a/clang/lib/Tooling/DependencyScanning/DependencyScanningTool.cpp b/clang/lib/Tooling/DependencyScanning/DependencyScanningTool.cpp index 70832f4..3fcef00 100644 --- a/clang/lib/Tooling/DependencyScanning/DependencyScanningTool.cpp +++ b/clang/lib/Tooling/DependencyScanning/DependencyScanningTool.cpp @@ -42,7 +42,7 @@ DependencyScanningTool::DependencyScanningTool( llvm::Expected<std::string> DependencyScanningTool::getDependencyFile( const std::vector<std::string> &CommandLine, StringRef CWD, - llvm::Optional<StringRef> ModuleName) { + std::optional<StringRef> ModuleName) { /// Prints out all of the gathered dependencies into a string. class MakeDependencyPrinterConsumer : public DependencyConsumer { public: @@ -116,7 +116,7 @@ DependencyScanningTool::getFullDependencies( const std::vector<std::string> &CommandLine, StringRef CWD, const llvm::StringSet<> &AlreadySeen, LookupModuleOutputCallback LookupModuleOutput, - llvm::Optional<StringRef> ModuleName) { + std::optional<StringRef> ModuleName) { FullDependencyConsumer Consumer(AlreadySeen, LookupModuleOutput, Worker.shouldEagerLoadModules()); llvm::Error Result = @@ -131,7 +131,7 @@ DependencyScanningTool::getFullDependenciesLegacyDriverCommand( const std::vector<std::string> &CommandLine, StringRef CWD, const llvm::StringSet<> &AlreadySeen, LookupModuleOutputCallback LookupModuleOutput, - llvm::Optional<StringRef> ModuleName) { + std::optional<StringRef> ModuleName) { FullDependencyConsumer Consumer(AlreadySeen, LookupModuleOutput, Worker.shouldEagerLoadModules()); llvm::Error Result = diff --git a/clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp b/clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp index 957e016..b54b8de 100644 --- a/clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp +++ b/clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp @@ -148,7 +148,7 @@ public: StringRef WorkingDirectory, DependencyConsumer &Consumer, llvm::IntrusiveRefCntPtr<DependencyScanningWorkerFilesystem> DepFS, ScanningOutputFormat Format, bool OptimizeArgs, bool EagerLoadModules, - bool DisableFree, llvm::Optional<StringRef> ModuleName = std::nullopt) + bool DisableFree, std::optional<StringRef> ModuleName = std::nullopt) : WorkingDirectory(WorkingDirectory), Consumer(Consumer), DepFS(std::move(DepFS)), Format(Format), OptimizeArgs(OptimizeArgs), EagerLoadModules(EagerLoadModules), DisableFree(DisableFree), @@ -216,7 +216,7 @@ public: DepFS; ScanInstance.getPreprocessorOpts().DependencyDirectivesForFile = [LocalDepFS = std::move(LocalDepFS)](FileEntryRef File) - -> Optional<ArrayRef<dependency_directives_scan::Directive>> { + -> std::optional<ArrayRef<dependency_directives_scan::Directive>> { if (llvm::ErrorOr<EntryRef> Entry = LocalDepFS->getOrCreateFileSystemEntry(File.getName())) return Entry->getDirectiveTokens(); @@ -303,8 +303,8 @@ private: bool OptimizeArgs; bool EagerLoadModules; bool DisableFree; - Optional<StringRef> ModuleName; - Optional<CompilerInstance> ScanInstanceStorage; + std::optional<StringRef> ModuleName; + std::optional<CompilerInstance> ScanInstanceStorage; std::shared_ptr<ModuleDepCollector> MDC; std::vector<std::string> LastCC1Arguments; bool Scanned = false; @@ -340,7 +340,7 @@ DependencyScanningWorker::DependencyScanningWorker( llvm::Error DependencyScanningWorker::computeDependencies( StringRef WorkingDirectory, const std::vector<std::string> &CommandLine, - DependencyConsumer &Consumer, llvm::Optional<StringRef> ModuleName) { + DependencyConsumer &Consumer, std::optional<StringRef> ModuleName) { std::vector<const char *> CLI; for (const std::string &Arg : CommandLine) CLI.push_back(Arg.c_str()); @@ -387,11 +387,11 @@ static bool forEachDriverJob( bool DependencyScanningWorker::computeDependencies( StringRef WorkingDirectory, const std::vector<std::string> &CommandLine, DependencyConsumer &Consumer, DiagnosticConsumer &DC, - llvm::Optional<StringRef> ModuleName) { + std::optional<StringRef> ModuleName) { // Reset what might have been modified in the previous worker invocation. BaseFS->setCurrentWorkingDirectory(WorkingDirectory); - Optional<std::vector<std::string>> ModifiedCommandLine; + std::optional<std::vector<std::string>> ModifiedCommandLine; llvm::IntrusiveRefCntPtr<llvm::vfs::FileSystem> ModifiedFS; if (ModuleName) { ModifiedCommandLine = CommandLine; diff --git a/clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp b/clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp index a91157c..1ae35c2 100644 --- a/clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp +++ b/clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp @@ -328,7 +328,7 @@ void ModuleDepCollectorPP::FileChanged(SourceLocation Loc, // Dependency generation really does want to go all the way to the // file entry for a source location to find out what is depended on. // We do not want #line markers to affect dependency generation! - if (Optional<StringRef> Filename = + if (std::optional<StringRef> Filename = SM.getNonBuiltinFilenameForID(SM.getFileID(SM.getExpansionLoc(Loc)))) MDC.addFileDep(llvm::sys::path::remove_leading_dotslash(*Filename)); } diff --git a/clang/lib/Tooling/Inclusions/HeaderIncludes.cpp b/clang/lib/Tooling/Inclusions/HeaderIncludes.cpp index c7128f2..08d4cdab 100644 --- a/clang/lib/Tooling/Inclusions/HeaderIncludes.cpp +++ b/clang/lib/Tooling/Inclusions/HeaderIncludes.cpp @@ -59,7 +59,7 @@ unsigned getOffsetAfterTokenSequence( // (second) raw_identifier name is checked. bool checkAndConsumeDirectiveWithName( Lexer &Lex, StringRef Name, Token &Tok, - llvm::Optional<StringRef> RawIDName = std::nullopt) { + std::optional<StringRef> RawIDName = std::nullopt) { bool Matched = Tok.is(tok::hash) && !Lex.LexFromRawLexer(Tok) && Tok.is(tok::raw_identifier) && Tok.getRawIdentifier() == Name && !Lex.LexFromRawLexer(Tok) && @@ -344,7 +344,7 @@ void HeaderIncludes::addExistingInclude(Include IncludeToAdd, } } -llvm::Optional<tooling::Replacement> +std::optional<tooling::Replacement> HeaderIncludes::insert(llvm::StringRef IncludeName, bool IsAngled, IncludeDirective Directive) const { assert(IncludeName == trimInclude(IncludeName)); diff --git a/clang/lib/Tooling/InterpolatingCompilationDatabase.cpp b/clang/lib/Tooling/InterpolatingCompilationDatabase.cpp index 338797c..55ec67b 100644 --- a/clang/lib/Tooling/InterpolatingCompilationDatabase.cpp +++ b/clang/lib/Tooling/InterpolatingCompilationDatabase.cpp @@ -129,7 +129,7 @@ struct TransferableCommand { // Flags that should not apply to all files are stripped from CommandLine. CompileCommand Cmd; // Language detected from -x or the filename. Never TY_INVALID. - Optional<types::ID> Type; + std::optional<types::ID> Type; // Standard specified by -std. LangStandard::Kind Std = LangStandard::lang_unspecified; // Whether the command line is for the cl-compatible driver. @@ -280,7 +280,7 @@ private: } // Try to interpret the argument as a type specifier, e.g. '-x'. - Optional<types::ID> tryParseTypeArg(const llvm::opt::Arg &Arg) { + std::optional<types::ID> tryParseTypeArg(const llvm::opt::Arg &Arg) { const llvm::opt::Option &Opt = Arg.getOption(); using namespace driver::options; if (ClangCLMode) { @@ -296,7 +296,7 @@ private: } // Try to interpret the argument as '-std='. - Optional<LangStandard::Kind> tryParseStdArg(const llvm::opt::Arg &Arg) { + std::optional<LangStandard::Kind> tryParseStdArg(const llvm::opt::Arg &Arg) { using namespace driver::options; if (Arg.getOption().matches(ClangCLMode ? OPT__SLASH_std : OPT_std_EQ)) return LangStandard::getLangKind(Arg.getValue()); diff --git a/clang/lib/Tooling/JSONCompilationDatabase.cpp b/clang/lib/Tooling/JSONCompilationDatabase.cpp index cc5bd4a..41e502d 100644 --- a/clang/lib/Tooling/JSONCompilationDatabase.cpp +++ b/clang/lib/Tooling/JSONCompilationDatabase.cpp @@ -350,7 +350,7 @@ bool JSONCompilationDatabase::parse(std::string &ErrorMessage) { return false; } llvm::yaml::ScalarNode *Directory = nullptr; - llvm::Optional<std::vector<llvm::yaml::ScalarNode *>> Command; + std::optional<std::vector<llvm::yaml::ScalarNode *>> Command; llvm::yaml::ScalarNode *File = nullptr; llvm::yaml::ScalarNode *Output = nullptr; for (auto& NextKeyValue : *Object) { diff --git a/clang/lib/Tooling/Refactoring/ASTSelection.cpp b/clang/lib/Tooling/Refactoring/ASTSelection.cpp index 943d4ed..058574d 100644 --- a/clang/lib/Tooling/Refactoring/ASTSelection.cpp +++ b/clang/lib/Tooling/Refactoring/ASTSelection.cpp @@ -51,7 +51,7 @@ public: SourceSelectionKind::None)); } - Optional<SelectedASTNode> getSelectedASTNode() { + std::optional<SelectedASTNode> getSelectedASTNode() { assert(SelectionStack.size() == 1 && "stack was not popped"); SelectedASTNode Result = std::move(SelectionStack.back()); SelectionStack.pop_back(); @@ -179,7 +179,7 @@ private: } // end anonymous namespace -Optional<SelectedASTNode> +std::optional<SelectedASTNode> clang::tooling::findSelectedASTNodes(const ASTContext &Context, SourceRange SelectionRange) { assert(SelectionRange.isValid() && @@ -376,7 +376,7 @@ static void findDeepestWithKind( findDeepestWithKind(ASTSelection, MatchingNodes, Kind, ParentStack); } -Optional<CodeRangeASTSelection> +std::optional<CodeRangeASTSelection> CodeRangeASTSelection::create(SourceRange SelectionRange, const SelectedASTNode &ASTSelection) { // Code range is selected when the selection range is not empty. diff --git a/clang/lib/Tooling/Refactoring/ASTSelectionRequirements.cpp b/clang/lib/Tooling/Refactoring/ASTSelectionRequirements.cpp index e6a8e12..0e052bb1 100644 --- a/clang/lib/Tooling/Refactoring/ASTSelectionRequirements.cpp +++ b/clang/lib/Tooling/Refactoring/ASTSelectionRequirements.cpp @@ -21,7 +21,7 @@ ASTSelectionRequirement::evaluate(RefactoringRuleContext &Context) const { if (!Range) return Range.takeError(); - Optional<SelectedASTNode> Selection = + std::optional<SelectedASTNode> Selection = findSelectedASTNodes(Context.getASTContext(), *Range); if (!Selection) return Context.createDiagnosticError( @@ -38,8 +38,9 @@ Expected<CodeRangeASTSelection> CodeRangeASTSelectionRequirement::evaluate( return ASTSelection.takeError(); std::unique_ptr<SelectedASTNode> StoredSelection = std::make_unique<SelectedASTNode>(std::move(*ASTSelection)); - Optional<CodeRangeASTSelection> CodeRange = CodeRangeASTSelection::create( - Context.getSelectionRange(), *StoredSelection); + std::optional<CodeRangeASTSelection> CodeRange = + CodeRangeASTSelection::create(Context.getSelectionRange(), + *StoredSelection); if (!CodeRange) return Context.createDiagnosticError( Context.getSelectionRange().getBegin(), diff --git a/clang/lib/Tooling/Refactoring/Extract/Extract.cpp b/clang/lib/Tooling/Refactoring/Extract/Extract.cpp index efd29fc..d437f4c 100644 --- a/clang/lib/Tooling/Refactoring/Extract/Extract.cpp +++ b/clang/lib/Tooling/Refactoring/Extract/Extract.cpp @@ -69,7 +69,7 @@ const RefactoringDescriptor &ExtractFunction::describe() { Expected<ExtractFunction> ExtractFunction::initiate(RefactoringRuleContext &Context, CodeRangeASTSelection Code, - Optional<std::string> DeclName) { + std::optional<std::string> DeclName) { // We would like to extract code out of functions/methods/blocks. // Prohibit extraction from things like global variable / field // initializers and other top-level expressions. diff --git a/clang/lib/Tooling/Refactoring/Extract/SourceExtraction.cpp b/clang/lib/Tooling/Refactoring/Extract/SourceExtraction.cpp index d4de57f..5e69fb8 100644 --- a/clang/lib/Tooling/Refactoring/Extract/SourceExtraction.cpp +++ b/clang/lib/Tooling/Refactoring/Extract/SourceExtraction.cpp @@ -101,7 +101,7 @@ ExtractionSemicolonPolicy::compute(const Stmt *S, SourceRange &ExtractedRange, /// Other statements should generally have a trailing ';'. We can try to find /// it and move it together it with the extracted code. - Optional<Token> NextToken = Lexer::findNextToken(End, SM, LangOpts); + std::optional<Token> NextToken = Lexer::findNextToken(End, SM, LangOpts); if (NextToken && NextToken->is(tok::semi) && areOnSameLine(NextToken->getLocation(), End, SM)) { ExtractedRange.setEnd(NextToken->getLocation()); diff --git a/clang/lib/Tooling/Syntax/Tokens.cpp b/clang/lib/Tooling/Syntax/Tokens.cpp index d99eda3..df2a4e80 100644 --- a/clang/lib/Tooling/Syntax/Tokens.cpp +++ b/clang/lib/Tooling/Syntax/Tokens.cpp @@ -806,7 +806,7 @@ private: // In the simplest case, skips spelled tokens until finding one that produced // the NextExpanded token, and creates an empty mapping for them. // If Drain is provided, skips remaining tokens from that file instead. - void discard(llvm::Optional<FileID> Drain = std::nullopt) { + void discard(std::optional<FileID> Drain = std::nullopt) { SourceLocation Target = Drain ? SM.getLocForEndOfFile(*Drain) : SM.getExpansionLoc( diff --git a/clang/lib/Tooling/Transformer/Parsing.cpp b/clang/lib/Tooling/Transformer/Parsing.cpp index dade271..53a78e8 100644 --- a/clang/lib/Tooling/Transformer/Parsing.cpp +++ b/clang/lib/Tooling/Transformer/Parsing.cpp @@ -120,8 +120,8 @@ getBinaryRangeSelectors() { } template <typename Element> -llvm::Optional<Element> findOptional(const llvm::StringMap<Element> &Map, - llvm::StringRef Key) { +std::optional<Element> findOptional(const llvm::StringMap<Element> &Map, + llvm::StringRef Key) { auto it = Map.find(Key); if (it == Map.end()) return std::nullopt; |