aboutsummaryrefslogtreecommitdiffhomepage
path: root/tools/bookmaker/includeWriter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/bookmaker/includeWriter.cpp')
-rw-r--r--tools/bookmaker/includeWriter.cpp14
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;
}