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.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/tools/bookmaker/includeWriter.cpp b/tools/bookmaker/includeWriter.cpp
index e16da320eb..922f2200a9 100644
--- a/tools/bookmaker/includeWriter.cpp
+++ b/tools/bookmaker/includeWriter.cpp
@@ -436,6 +436,9 @@ void IncludeWriter::enumHeaderOut(RootDefinition* root, const Definition& child)
enumDef = &mapEntry->second;
}
}
+ if (!enumDef && enumName == root->fName) {
+ enumDef = root;
+ }
SkASSERT(enumDef);
// child[0] should be #Code comment starts at child[0].fTerminator
// though skip until #Code is found (in case there's a #ToDo, etc)
@@ -1464,7 +1467,13 @@ bool IncludeWriter::populate(Definition* def, ParentPair* prevPair, RootDefiniti
while (continueEnd > fContinuation && isspace(continueEnd[-1])) {
--continueEnd;
}
- methodName += string(fContinuation, continueEnd - fContinuation);
+ const char defaultTag[] = " = default";
+ size_t tagSize = sizeof(defaultTag) - 1;
+ const char* tokenEnd = continueEnd - tagSize;
+ if (tokenEnd <= fContinuation || strncmp(tokenEnd, defaultTag, tagSize)) {
+ tokenEnd = continueEnd;
+ }
+ methodName += string(fContinuation, tokenEnd - fContinuation);
if (string::npos != methodName.find('\n')) {
methodName.erase(std::remove(methodName.begin(), methodName.end(), '\n'),
methodName.end());