fix bookmaker

add error handling if bmh has #Populate
but include has been marked deprecated

TBR=reed@google.com

Bug: skia:
Change-Id: I1a577bbf95ebe4f5fe46ea2c6a1e1f10f6b8e684
Reviewed-on: https://skia-review.googlesource.com/c/177062
Reviewed-by: Cary Clark <caryclark@skia.org>
Commit-Queue: Cary Clark <caryclark@skia.org>
Auto-Submit: Cary Clark <caryclark@skia.org>
diff --git a/tools/bookmaker/includeParser.cpp b/tools/bookmaker/includeParser.cpp
index 7fb5938..82bbce5 100644
--- a/tools/bookmaker/includeParser.cpp
+++ b/tools/bookmaker/includeParser.cpp
@@ -1828,7 +1828,9 @@
         className = className.substr(subClassPos + 2);
     }
     // match may be constructor; compare strings to see if this is so
-    SkASSERT(string::npos != methodName.find('('));
+    if (string::npos == methodName.find('(')) {
+        return nullptr;
+    }
     auto stripper = [](string s) -> string {
         bool last = false;
         string result;
diff --git a/tools/bookmaker/mdOut.cpp b/tools/bookmaker/mdOut.cpp
index c78790d..3e16b06 100644
--- a/tools/bookmaker/mdOut.cpp
+++ b/tools/bookmaker/mdOut.cpp
@@ -1668,7 +1668,10 @@
                 SkASSERT(MarkType::kMethod == parent->fMarkType);
                 // retrieve parameters, return, description from include
                 Definition* iMethod = fIncludeParser.findMethod(*parent);
-                SkASSERT(iMethod);  // deprecated or 'in progress' functions should not include populate
+                if (!iMethod) {  // deprecated or 'in progress' functions should not include populate
+                    SkDebugf("#Populate found in deprecated or missing method %s\n", def->fName.c_str());
+                    def->fParent->reportError<void>("Remove #Method");
+                }
                 bool wroteParam = false;
                 SkASSERT(fMethod == iMethod);
                 for (auto& entry : iMethod->fTokens) {