Parse macros in getNameFromDecl.
Fleshes out the table of contents more.
Change-Id: I8f8f0e43bdf7419f978b4fc66de80922ed1ae425
Reviewed-on: https://boringssl-review.googlesource.com/4785
Reviewed-by: Adam Langley <agl@google.com>
diff --git a/util/doc.go b/util/doc.go
index 20feae5..ae89c30 100644
--- a/util/doc.go
+++ b/util/doc.go
@@ -215,6 +215,18 @@
if strings.HasPrefix(decl, "struct ") {
return "", false
}
+ if strings.HasPrefix(decl, "#define ") {
+ // This is a preprocessor #define. The name is the next symbol.
+ decl = strings.TrimPrefix(decl, "#define ")
+ for len(decl) > 0 && decl[0] == ' ' {
+ decl = decl[1:]
+ }
+ i := strings.IndexAny(decl, "( ")
+ if i < 0 {
+ return "", false
+ }
+ return decl[:i], true
+ }
decl = skipPast(decl, "STACK_OF(")
decl = skipPast(decl, "LHASH_OF(")
i := strings.Index(decl, "(")