forked from OSchip/llvm-project
[Format] Add debugging to ObjC language guesser
Summary: To handle diagnosing bugs where ObjCHeaderStyleGuesser guesses wrong, this diff adds a bit more debug logging to the Objective-C language guesser. Reviewers: krasimir Reviewed By: krasimir Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D54110 llvm-svn: 346144
This commit is contained in:
parent
87aa10062c
commit
0675e87ec8
|
@ -1504,7 +1504,8 @@ public:
|
|||
SmallVectorImpl<AnnotatedLine *> &AnnotatedLines,
|
||||
FormatTokenLexer &Tokens) override {
|
||||
assert(Style.Language == FormatStyle::LK_Cpp);
|
||||
IsObjC = guessIsObjC(AnnotatedLines, Tokens.getKeywords());
|
||||
IsObjC = guessIsObjC(Env.getSourceManager(), AnnotatedLines,
|
||||
Tokens.getKeywords());
|
||||
tooling::Replacements Result;
|
||||
return {Result, 0};
|
||||
}
|
||||
|
@ -1512,8 +1513,10 @@ public:
|
|||
bool isObjC() { return IsObjC; }
|
||||
|
||||
private:
|
||||
static bool guessIsObjC(const SmallVectorImpl<AnnotatedLine *> &AnnotatedLines,
|
||||
const AdditionalKeywords &Keywords) {
|
||||
static bool
|
||||
guessIsObjC(const SourceManager &SourceManager,
|
||||
const SmallVectorImpl<AnnotatedLine *> &AnnotatedLines,
|
||||
const AdditionalKeywords &Keywords) {
|
||||
// Keep this array sorted, since we are binary searching over it.
|
||||
static constexpr llvm::StringLiteral FoundationIdentifiers[] = {
|
||||
"CGFloat",
|
||||
|
@ -1604,9 +1607,15 @@ private:
|
|||
TT_ObjCBlockLBrace, TT_ObjCBlockLParen,
|
||||
TT_ObjCDecl, TT_ObjCForIn, TT_ObjCMethodExpr,
|
||||
TT_ObjCMethodSpecifier, TT_ObjCProperty)) {
|
||||
LLVM_DEBUG(llvm::dbgs()
|
||||
<< "Detected ObjC at location "
|
||||
<< FormatTok->Tok.getLocation().printToString(
|
||||
SourceManager)
|
||||
<< " token: " << FormatTok->TokenText << " token type: "
|
||||
<< getTokenTypeName(FormatTok->Type) << "\n");
|
||||
return true;
|
||||
}
|
||||
if (guessIsObjC(Line->Children, Keywords))
|
||||
if (guessIsObjC(SourceManager, Line->Children, Keywords))
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue