diff options
Diffstat (limited to 'tools/bookmaker/includeWriter.cpp')
-rw-r--r-- | tools/bookmaker/includeWriter.cpp | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/tools/bookmaker/includeWriter.cpp b/tools/bookmaker/includeWriter.cpp index 566cc7cc58..38cd2232ef 100644 --- a/tools/bookmaker/includeWriter.cpp +++ b/tools/bookmaker/includeWriter.cpp @@ -1342,6 +1342,7 @@ bool IncludeWriter::populate(Definition* def, ParentPair* prevPair, RootDefiniti bool sawConst = false; bool staticOnly = false; bool sawTypedef = false; + Definition* deferredTypedefComment = nullptr; const Definition* requireDense = nullptr; const Definition* startDef = nullptr; for (auto& child : def->fTokens) { @@ -1621,7 +1622,9 @@ bool IncludeWriter::populate(Definition* def, ParentPair* prevPair, RootDefiniti child.fContentStart; this->writeBlockTrim((int) (bodyEnd - fStart), fStart); if (fPendingMethod) { - this->indentOut(); + if (fIndent >= 4) { + this->indentOut(); + } fPendingMethod = false; } startDef = requireDense ? requireDense : &child; @@ -1784,6 +1787,7 @@ bool IncludeWriter::populate(Definition* def, ParentPair* prevPair, RootDefiniti case KeyWord::kTypedef: SkASSERT(!memberStart); memberStart = &child; + deferredTypedefComment = fDeferComment; sawTypedef = true; break; case KeyWord::kSK_BEGIN_REQUIRE_DENSE: @@ -2013,6 +2017,7 @@ bool IncludeWriter::populate(Definition* def, ParentPair* prevPair, RootDefiniti SkASSERT(fBmhParser->fTypedefMap.end() != typedefIter); bmhTypedef = &typedefIter->second; } + fDeferComment = deferredTypedefComment; this->constOut(memberStart, bmhTypedef); fDeferComment = nullptr; sawTypedef = false; @@ -2768,6 +2773,13 @@ bool IncludeWriter::writeHeader(std::pair<const string, Definition>& include) { this->writeString("*/"); this->lf(2); fIndent = 0; + if (this->startsWith("/* Generated by tools/bookmaker from")) { + this->skipToEndBracket("*/"); + if (!this->skipExact("*/\n\n")) { + return this->reportError<bool>("malformed generated comment"); + } + } fStart = fChar; + return true; } |