[clang-doc] Pass over function-internal declarations
authorJulie Hockett <juliehockett@google.com>
Mon, 13 Aug 2018 18:05:50 +0000 (18:05 +0000)
committerJulie Hockett <juliehockett@google.com>
Mon, 13 Aug 2018 18:05:50 +0000 (18:05 +0000)
llvm-svn: 339592

clang-tools-extra/clang-doc/Mapper.cpp
clang-tools-extra/test/clang-doc/bc-linkage.cpp
clang-tools-extra/test/clang-doc/bc-record.cpp
clang-tools-extra/test/clang-doc/mapper-linkage.cpp
clang-tools-extra/test/clang-doc/mapper-record.cpp
clang-tools-extra/test/clang-doc/yaml-linkage.cpp
clang-tools-extra/test/clang-doc/yaml-record.cpp

index 71e9404..6131a35 100644 (file)
@@ -29,6 +29,10 @@ template <typename T> bool MapASTVisitor::mapDecl(const T *D) {
   if (D->getASTContext().getSourceManager().isInSystemHeader(D->getLocation()))
     return true;
 
+  // Skip function-internal decls.
+  if (const DeclContext *F = D->getParentFunctionOrMethod())
+    return true;
+
   llvm::SmallString<128> USR;
   // If there is an error generating a USR for the decl, skip this decl.
   if (index::generateUSRForDecl(D, USR))
index 8fec0d3..9440798 100644 (file)
@@ -97,72 +97,118 @@ inline void anonInlineFunction();
 // RUN: clang-doc --dump-intermediate --doxygen --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs
 
 
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/C9B3B71ACDD84C5BB320D34E97677715CDB3EA32.bc | FileCheck %s --check-prefix CHECK-0
+// RUN: llvm-bcanalyzer --dump %t/docs/bc/8960B5C9247D6F5C532756E53A1AD1240FA2146F.bc | FileCheck %s --check-prefix CHECK-0
 // CHECK-0: <BLOCKINFO_BLOCK/>
 // CHECK-0-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
 // CHECK-0-NEXT:   <Version abbrevid=4 op0=2/>
 // CHECK-0-NEXT: </VersionBlock>
-// CHECK-0-NEXT: <RecordBlock NumWords=107 BlockCodeSize=4>
+// CHECK-0-NEXT: <NamespaceBlock NumWords=126 BlockCodeSize=4>
 // CHECK-0-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-0-NEXT:   <Name abbrevid=5 op0=10/> blob data = 'InnerClass'
-// CHECK-0-NEXT:   <ReferenceBlock NumWords=17 BlockCodeSize=4>
+// CHECK-0-NEXT:   <Name abbrevid=5 op0=5/> blob data = 'named'
+// CHECK-0-NEXT:   <FunctionBlock NumWords=36 BlockCodeSize=4>
 // CHECK-0-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-0-NEXT:     <Name abbrevid=5 op0=29/> blob data = 'inlinedFunctionWithInnerClass'
-// CHECK-0-NEXT:     <RefType abbrevid=6 op0=3/>
-// CHECK-0-NEXT:     <Field abbrevid=7 op0=1/>
-// CHECK-0-NEXT:   </ReferenceBlock>
-// CHECK-0-NEXT:   <DefLocation abbrevid=6 op0=24 op1=4/> blob data = '{{.*}}'
-// CHECK-0-NEXT:   <TagType abbrevid=8 op0=3/>
-// CHECK-0-NEXT:   <FunctionBlock NumWords=71 BlockCodeSize=4>
-// CHECK-0-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-0-NEXT:     <Name abbrevid=5 op0=17/> blob data = 'innerPublicMethod'
-// CHECK-0-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
+// CHECK-0-NEXT:     <Name abbrevid=5 op0=13/> blob data = 'namedFunction'
+// CHECK-0-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4>
 // CHECK-0-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-0-NEXT:       <Name abbrevid=5 op0=10/> blob data = 'InnerClass'
-// CHECK-0-NEXT:       <RefType abbrevid=6 op0=2/>
+// CHECK-0-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'named'
+// CHECK-0-NEXT:       <RefType abbrevid=6 op0=1/>
 // CHECK-0-NEXT:       <Field abbrevid=7 op0=1/>
 // CHECK-0-NEXT:     </ReferenceBlock>
-// CHECK-0-NEXT:     <ReferenceBlock NumWords=17 BlockCodeSize=4>
+// CHECK-0-NEXT:     <Location abbrevid=7 op0=61 op1=4/> blob data = '{{.*}}'
+// CHECK-0-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
+// CHECK-0-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
+// CHECK-0-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
+// CHECK-0-NEXT:         <Field abbrevid=7 op0=4/>
+// CHECK-0-NEXT:       </ReferenceBlock>
+// CHECK-0-NEXT:     </TypeBlock>
+// CHECK-0-NEXT:   </FunctionBlock>
+// CHECK-0-NEXT:   <FunctionBlock NumWords=37 BlockCodeSize=4>
+// CHECK-0-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
+// CHECK-0-NEXT:     <Name abbrevid=5 op0=19/> blob data = 'namedStaticFunction'
+// CHECK-0-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4>
 // CHECK-0-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-0-NEXT:       <Name abbrevid=5 op0=29/> blob data = 'inlinedFunctionWithInnerClass'
-// CHECK-0-NEXT:       <RefType abbrevid=6 op0=3/>
+// CHECK-0-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'named'
+// CHECK-0-NEXT:       <RefType abbrevid=6 op0=1/>
 // CHECK-0-NEXT:       <Field abbrevid=7 op0=1/>
 // CHECK-0-NEXT:     </ReferenceBlock>
-// CHECK-0-NEXT:     <IsMethod abbrevid=9 op0=1/>
-// CHECK-0-NEXT:     <DefLocation abbrevid=6 op0=26 op1=4/> blob data = '{{.*}}'
-// CHECK-0-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
+// CHECK-0-NEXT:     <Location abbrevid=7 op0=62 op1=4/> blob data = '{{.*}}'
+// CHECK-0-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
+// CHECK-0-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
+// CHECK-0-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
+// CHECK-0-NEXT:         <Field abbrevid=7 op0=4/>
+// CHECK-0-NEXT:       </ReferenceBlock>
+// CHECK-0-NEXT:     </TypeBlock>
+// CHECK-0-NEXT:   </FunctionBlock>
+// CHECK-0-NEXT:   <FunctionBlock NumWords=37 BlockCodeSize=4>
+// CHECK-0-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
+// CHECK-0-NEXT:     <Name abbrevid=5 op0=19/> blob data = 'namedInlineFunction'
+// CHECK-0-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4>
 // CHECK-0-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-0-NEXT:       <Name abbrevid=5 op0=10/> blob data = 'InnerClass'
-// CHECK-0-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-0-NEXT:       <Field abbrevid=7 op0=2/>
+// CHECK-0-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'named'
+// CHECK-0-NEXT:       <RefType abbrevid=6 op0=1/>
+// CHECK-0-NEXT:       <Field abbrevid=7 op0=1/>
 // CHECK-0-NEXT:     </ReferenceBlock>
+// CHECK-0-NEXT:     <Location abbrevid=7 op0=63 op1=4/> blob data = '{{.*}}'
 // CHECK-0-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
 // CHECK-0-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-0-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
+// CHECK-0-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
 // CHECK-0-NEXT:         <Field abbrevid=7 op0=4/>
 // CHECK-0-NEXT:       </ReferenceBlock>
 // CHECK-0-NEXT:     </TypeBlock>
 // CHECK-0-NEXT:   </FunctionBlock>
-// CHECK-0-NEXT: </RecordBlock>
+// CHECK-0-NEXT: </NamespaceBlock>
 
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/8960B5C9247D6F5C532756E53A1AD1240FA2146F.bc | FileCheck %s --check-prefix CHECK-1
+// RUN: llvm-bcanalyzer --dump %t/docs/bc/7CDD73DCD6CD72F7E5CE25502810A182C66C4B45.bc | FileCheck %s --check-prefix CHECK-1
 // CHECK-1: <BLOCKINFO_BLOCK/>
 // CHECK-1-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
 // CHECK-1-NEXT:   <Version abbrevid=4 op0=2/>
 // CHECK-1-NEXT: </VersionBlock>
-// CHECK-1-NEXT: <NamespaceBlock NumWords=126 BlockCodeSize=4>
+// CHECK-1-NEXT: <RecordBlock NumWords=203 BlockCodeSize=4>
 // CHECK-1-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-1-NEXT:   <Name abbrevid=5 op0=5/> blob data = 'named'
-// CHECK-1-NEXT:   <FunctionBlock NumWords=36 BlockCodeSize=4>
+// CHECK-1-NEXT:   <Name abbrevid=5 op0=5/> blob data = 'Class'
+// CHECK-1-NEXT:   <DefLocation abbrevid=6 op0=32 op1=4/> blob data = '{{.*}}'
+// CHECK-1-NEXT:   <TagType abbrevid=8 op0=3/>
+// CHECK-1-NEXT:   <MemberTypeBlock NumWords=10 BlockCodeSize=4>
+// CHECK-1-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
+// CHECK-1-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
+// CHECK-1-NEXT:       <Field abbrevid=7 op0=4/>
+// CHECK-1-NEXT:     </ReferenceBlock>
+// CHECK-1-NEXT:     <Name abbrevid=4 op0=11/> blob data = 'publicField'
+// CHECK-1-NEXT:     <Access abbrevid=5 op0=3/>
+// CHECK-1-NEXT:   </MemberTypeBlock>
+// CHECK-1-NEXT:   <MemberTypeBlock NumWords=11 BlockCodeSize=4>
+// CHECK-1-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
+// CHECK-1-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
+// CHECK-1-NEXT:       <Field abbrevid=7 op0=4/>
+// CHECK-1-NEXT:     </ReferenceBlock>
+// CHECK-1-NEXT:     <Name abbrevid=4 op0=14/> blob data = 'protectedField'
+// CHECK-1-NEXT:     <Access abbrevid=5 op0=1/>
+// CHECK-1-NEXT:   </MemberTypeBlock>
+// CHECK-1-NEXT:   <MemberTypeBlock NumWords=10 BlockCodeSize=4>
+// CHECK-1-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
+// CHECK-1-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
+// CHECK-1-NEXT:       <Field abbrevid=7 op0=4/>
+// CHECK-1-NEXT:     </ReferenceBlock>
+// CHECK-1-NEXT:     <Name abbrevid=4 op0=12/> blob data = 'privateField'
+// CHECK-1-NEXT:     <Access abbrevid=5 op0=2/>
+// CHECK-1-NEXT:   </MemberTypeBlock>
+// CHECK-1-NEXT:   <FunctionBlock NumWords=48 BlockCodeSize=4>
 // CHECK-1-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-1-NEXT:     <Name abbrevid=5 op0=13/> blob data = 'namedFunction'
+// CHECK-1-NEXT:     <Name abbrevid=5 op0=12/> blob data = 'publicMethod'
 // CHECK-1-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4>
 // CHECK-1-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-1-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'named'
-// CHECK-1-NEXT:       <RefType abbrevid=6 op0=1/>
+// CHECK-1-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'Class'
+// CHECK-1-NEXT:       <RefType abbrevid=6 op0=2/>
 // CHECK-1-NEXT:       <Field abbrevid=7 op0=1/>
 // CHECK-1-NEXT:     </ReferenceBlock>
-// CHECK-1-NEXT:     <Location abbrevid=7 op0=61 op1=4/> blob data = '{{.*}}'
+// CHECK-1-NEXT:     <IsMethod abbrevid=9 op0=1/>
+// CHECK-1-NEXT:     <Location abbrevid=7 op0=34 op1=4/> blob data = '{{.*}}'
+// CHECK-1-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4>
+// CHECK-1-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
+// CHECK-1-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'Class'
+// CHECK-1-NEXT:       <RefType abbrevid=6 op0=2/>
+// CHECK-1-NEXT:       <Field abbrevid=7 op0=2/>
+// CHECK-1-NEXT:     </ReferenceBlock>
 // CHECK-1-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
 // CHECK-1-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
 // CHECK-1-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
@@ -170,16 +216,23 @@ inline void anonInlineFunction();
 // CHECK-1-NEXT:       </ReferenceBlock>
 // CHECK-1-NEXT:     </TypeBlock>
 // CHECK-1-NEXT:   </FunctionBlock>
-// CHECK-1-NEXT:   <FunctionBlock NumWords=37 BlockCodeSize=4>
+// CHECK-1-NEXT:   <FunctionBlock NumWords=49 BlockCodeSize=4>
 // CHECK-1-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-1-NEXT:     <Name abbrevid=5 op0=19/> blob data = 'namedStaticFunction'
+// CHECK-1-NEXT:     <Name abbrevid=5 op0=15/> blob data = 'protectedMethod'
 // CHECK-1-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4>
 // CHECK-1-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-1-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'named'
-// CHECK-1-NEXT:       <RefType abbrevid=6 op0=1/>
+// CHECK-1-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'Class'
+// CHECK-1-NEXT:       <RefType abbrevid=6 op0=2/>
 // CHECK-1-NEXT:       <Field abbrevid=7 op0=1/>
 // CHECK-1-NEXT:     </ReferenceBlock>
-// CHECK-1-NEXT:     <Location abbrevid=7 op0=62 op1=4/> blob data = '{{.*}}'
+// CHECK-1-NEXT:     <IsMethod abbrevid=9 op0=1/>
+// CHECK-1-NEXT:     <Location abbrevid=7 op0=38 op1=4/> blob data = '{{.*}}'
+// CHECK-1-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4>
+// CHECK-1-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
+// CHECK-1-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'Class'
+// CHECK-1-NEXT:       <RefType abbrevid=6 op0=2/>
+// CHECK-1-NEXT:       <Field abbrevid=7 op0=2/>
+// CHECK-1-NEXT:     </ReferenceBlock>
 // CHECK-1-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
 // CHECK-1-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
 // CHECK-1-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
@@ -187,16 +240,23 @@ inline void anonInlineFunction();
 // CHECK-1-NEXT:       </ReferenceBlock>
 // CHECK-1-NEXT:     </TypeBlock>
 // CHECK-1-NEXT:   </FunctionBlock>
-// CHECK-1-NEXT:   <FunctionBlock NumWords=37 BlockCodeSize=4>
+// CHECK-1-NEXT:   <FunctionBlock NumWords=49 BlockCodeSize=4>
 // CHECK-1-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-1-NEXT:     <Name abbrevid=5 op0=19/> blob data = 'namedInlineFunction'
+// CHECK-1-NEXT:     <Name abbrevid=5 op0=13/> blob data = 'privateMethod'
 // CHECK-1-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4>
 // CHECK-1-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-1-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'named'
-// CHECK-1-NEXT:       <RefType abbrevid=6 op0=1/>
+// CHECK-1-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'Class'
+// CHECK-1-NEXT:       <RefType abbrevid=6 op0=2/>
 // CHECK-1-NEXT:       <Field abbrevid=7 op0=1/>
 // CHECK-1-NEXT:     </ReferenceBlock>
-// CHECK-1-NEXT:     <Location abbrevid=7 op0=63 op1=4/> blob data = '{{.*}}'
+// CHECK-1-NEXT:     <IsMethod abbrevid=9 op0=1/>
+// CHECK-1-NEXT:     <Location abbrevid=7 op0=42 op1=4/> blob data = '{{.*}}'
+// CHECK-1-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4>
+// CHECK-1-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
+// CHECK-1-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'Class'
+// CHECK-1-NEXT:       <RefType abbrevid=6 op0=2/>
+// CHECK-1-NEXT:       <Field abbrevid=7 op0=2/>
+// CHECK-1-NEXT:     </ReferenceBlock>
 // CHECK-1-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
 // CHECK-1-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
 // CHECK-1-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
@@ -204,104 +264,184 @@ inline void anonInlineFunction();
 // CHECK-1-NEXT:       </ReferenceBlock>
 // CHECK-1-NEXT:     </TypeBlock>
 // CHECK-1-NEXT:   </FunctionBlock>
-// CHECK-1-NEXT: </NamespaceBlock>
+// CHECK-1-NEXT: </RecordBlock>
 
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/74A031CBE68C101F3E83F60ED17F20C11EC19D48.bc | FileCheck %s --check-prefix CHECK-2
+// RUN: llvm-bcanalyzer --dump %t/docs/bc/0000000000000000000000000000000000000000.bc | FileCheck %s --check-prefix CHECK-2
 // CHECK-2: <BLOCKINFO_BLOCK/>
 // CHECK-2-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
 // CHECK-2-NEXT:   <Version abbrevid=4 op0=2/>
 // CHECK-2-NEXT: </VersionBlock>
-// CHECK-2-NEXT: <RecordBlock NumWords=105 BlockCodeSize=4>
-// CHECK-2-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-2-NEXT:   <Name abbrevid=5 op0=10/> blob data = 'InnerClass'
-// CHECK-2-NEXT:   <ReferenceBlock NumWords=16 BlockCodeSize=4>
+// CHECK-2-NEXT: <NamespaceBlock NumWords=218 BlockCodeSize=4>
+// CHECK-2-NEXT:   <FunctionBlock NumWords=31 BlockCodeSize=4>
 // CHECK-2-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-2-NEXT:     <Name abbrevid=5 op0=28/> blob data = 'staticFunctionWithInnerClass'
-// CHECK-2-NEXT:     <RefType abbrevid=6 op0=3/>
-// CHECK-2-NEXT:     <Field abbrevid=7 op0=1/>
-// CHECK-2-NEXT:   </ReferenceBlock>
-// CHECK-2-NEXT:   <DefLocation abbrevid=6 op0=69 op1=4/> blob data = '{{.*}}'
-// CHECK-2-NEXT:   <TagType abbrevid=8 op0=3/>
-// CHECK-2-NEXT:   <FunctionBlock NumWords=70 BlockCodeSize=4>
+// CHECK-2-NEXT:     <Name abbrevid=5 op0=8/> blob data = 'function'
+// CHECK-2-NEXT:     <Location abbrevid=7 op0=10 op1=4/> blob data = '{{.*}}'
+// CHECK-2-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
+// CHECK-2-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
+// CHECK-2-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
+// CHECK-2-NEXT:         <Field abbrevid=7 op0=4/>
+// CHECK-2-NEXT:       </ReferenceBlock>
+// CHECK-2-NEXT:     </TypeBlock>
+// CHECK-2-NEXT:     <FieldTypeBlock NumWords=8 BlockCodeSize=4>
+// CHECK-2-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
+// CHECK-2-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
+// CHECK-2-NEXT:         <Field abbrevid=7 op0=4/>
+// CHECK-2-NEXT:       </ReferenceBlock>
+// CHECK-2-NEXT:       <Name abbrevid=4 op0=1/> blob data = 'x'
+// CHECK-2-NEXT:     </FieldTypeBlock>
+// CHECK-2-NEXT:   </FunctionBlock>
+// CHECK-2-NEXT:   <FunctionBlock NumWords=33 BlockCodeSize=4>
+// CHECK-2-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
+// CHECK-2-NEXT:     <Name abbrevid=5 op0=15/> blob data = 'inlinedFunction'
+// CHECK-2-NEXT:     <Location abbrevid=7 op0=12 op1=4/> blob data = '{{.*}}'
+// CHECK-2-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
+// CHECK-2-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
+// CHECK-2-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
+// CHECK-2-NEXT:         <Field abbrevid=7 op0=4/>
+// CHECK-2-NEXT:       </ReferenceBlock>
+// CHECK-2-NEXT:     </TypeBlock>
+// CHECK-2-NEXT:     <FieldTypeBlock NumWords=8 BlockCodeSize=4>
+// CHECK-2-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
+// CHECK-2-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
+// CHECK-2-NEXT:         <Field abbrevid=7 op0=4/>
+// CHECK-2-NEXT:       </ReferenceBlock>
+// CHECK-2-NEXT:       <Name abbrevid=4 op0=1/> blob data = 'x'
+// CHECK-2-NEXT:     </FieldTypeBlock>
+// CHECK-2-NEXT:   </FunctionBlock>
+// CHECK-2-NEXT:   <FunctionBlock NumWords=35 BlockCodeSize=4>
+// CHECK-2-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
+// CHECK-2-NEXT:     <Name abbrevid=5 op0=22/> blob data = 'functionWithInnerClass'
+// CHECK-2-NEXT:     <DefLocation abbrevid=6 op0=14 op1=4/> blob data = '{{.*}}'
+// CHECK-2-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
+// CHECK-2-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
+// CHECK-2-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
+// CHECK-2-NEXT:         <Field abbrevid=7 op0=4/>
+// CHECK-2-NEXT:       </ReferenceBlock>
+// CHECK-2-NEXT:     </TypeBlock>
+// CHECK-2-NEXT:     <FieldTypeBlock NumWords=8 BlockCodeSize=4>
+// CHECK-2-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
+// CHECK-2-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
+// CHECK-2-NEXT:         <Field abbrevid=7 op0=4/>
+// CHECK-2-NEXT:       </ReferenceBlock>
+// CHECK-2-NEXT:       <Name abbrevid=4 op0=1/> blob data = 'x'
+// CHECK-2-NEXT:     </FieldTypeBlock>
+// CHECK-2-NEXT:   </FunctionBlock>
+// CHECK-2-NEXT:   <FunctionBlock NumWords=37 BlockCodeSize=4>
+// CHECK-2-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
+// CHECK-2-NEXT:     <Name abbrevid=5 op0=29/> blob data = 'inlinedFunctionWithInnerClass'
+// CHECK-2-NEXT:     <DefLocation abbrevid=6 op0=23 op1=4/> blob data = '{{.*}}'
+// CHECK-2-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
+// CHECK-2-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
+// CHECK-2-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
+// CHECK-2-NEXT:         <Field abbrevid=7 op0=4/>
+// CHECK-2-NEXT:       </ReferenceBlock>
+// CHECK-2-NEXT:     </TypeBlock>
+// CHECK-2-NEXT:     <FieldTypeBlock NumWords=8 BlockCodeSize=4>
+// CHECK-2-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
+// CHECK-2-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
+// CHECK-2-NEXT:         <Field abbrevid=7 op0=4/>
+// CHECK-2-NEXT:       </ReferenceBlock>
+// CHECK-2-NEXT:       <Name abbrevid=4 op0=1/> blob data = 'x'
+// CHECK-2-NEXT:     </FieldTypeBlock>
+// CHECK-2-NEXT:   </FunctionBlock>
+// CHECK-2-NEXT:   <FunctionBlock NumWords=33 BlockCodeSize=4>
 // CHECK-2-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-2-NEXT:     <Name abbrevid=5 op0=17/> blob data = 'innerPublicMethod'
-// CHECK-2-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
-// CHECK-2-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-2-NEXT:       <Name abbrevid=5 op0=10/> blob data = 'InnerClass'
-// CHECK-2-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-2-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-2-NEXT:     </ReferenceBlock>
-// CHECK-2-NEXT:     <ReferenceBlock NumWords=16 BlockCodeSize=4>
-// CHECK-2-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-2-NEXT:       <Name abbrevid=5 op0=28/> blob data = 'staticFunctionWithInnerClass'
-// CHECK-2-NEXT:       <RefType abbrevid=6 op0=3/>
-// CHECK-2-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-2-NEXT:     </ReferenceBlock>
-// CHECK-2-NEXT:     <IsMethod abbrevid=9 op0=1/>
-// CHECK-2-NEXT:     <DefLocation abbrevid=6 op0=71 op1=4/> blob data = '{{.*}}'
-// CHECK-2-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
-// CHECK-2-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-2-NEXT:       <Name abbrevid=5 op0=10/> blob data = 'InnerClass'
-// CHECK-2-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-2-NEXT:       <Field abbrevid=7 op0=2/>
-// CHECK-2-NEXT:     </ReferenceBlock>
+// CHECK-2-NEXT:     <Name abbrevid=5 op0=14/> blob data = 'staticFunction'
+// CHECK-2-NEXT:     <Location abbrevid=7 op0=66 op1=4/> blob data = '{{.*}}'
+// CHECK-2-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
+// CHECK-2-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
+// CHECK-2-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
+// CHECK-2-NEXT:         <Field abbrevid=7 op0=4/>
+// CHECK-2-NEXT:       </ReferenceBlock>
+// CHECK-2-NEXT:     </TypeBlock>
+// CHECK-2-NEXT:     <FieldTypeBlock NumWords=8 BlockCodeSize=4>
+// CHECK-2-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
+// CHECK-2-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
+// CHECK-2-NEXT:         <Field abbrevid=7 op0=4/>
+// CHECK-2-NEXT:       </ReferenceBlock>
+// CHECK-2-NEXT:       <Name abbrevid=4 op0=1/> blob data = 'x'
+// CHECK-2-NEXT:     </FieldTypeBlock>
+// CHECK-2-NEXT:   </FunctionBlock>
+// CHECK-2-NEXT:   <FunctionBlock NumWords=36 BlockCodeSize=4>
+// CHECK-2-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
+// CHECK-2-NEXT:     <Name abbrevid=5 op0=28/> blob data = 'staticFunctionWithInnerClass'
+// CHECK-2-NEXT:     <DefLocation abbrevid=6 op0=68 op1=4/> blob data = '{{.*}}'
 // CHECK-2-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
 // CHECK-2-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
 // CHECK-2-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
 // CHECK-2-NEXT:         <Field abbrevid=7 op0=4/>
 // CHECK-2-NEXT:       </ReferenceBlock>
 // CHECK-2-NEXT:     </TypeBlock>
+// CHECK-2-NEXT:     <FieldTypeBlock NumWords=8 BlockCodeSize=4>
+// CHECK-2-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
+// CHECK-2-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
+// CHECK-2-NEXT:         <Field abbrevid=7 op0=4/>
+// CHECK-2-NEXT:       </ReferenceBlock>
+// CHECK-2-NEXT:       <Name abbrevid=4 op0=1/> blob data = 'x'
+// CHECK-2-NEXT:     </FieldTypeBlock>
 // CHECK-2-NEXT:   </FunctionBlock>
-// CHECK-2-NEXT: </RecordBlock>
+// CHECK-2-NEXT: </NamespaceBlock>
 
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/7CDD73DCD6CD72F7E5CE25502810A182C66C4B45.bc | FileCheck %s --check-prefix CHECK-3
+// RUN: llvm-bcanalyzer --dump %t/docs/bc/4712C5FA37B298A25501D1033C619B65B0ECC449.bc | FileCheck %s --check-prefix CHECK-3
 // CHECK-3: <BLOCKINFO_BLOCK/>
 // CHECK-3-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
 // CHECK-3-NEXT:   <Version abbrevid=4 op0=2/>
 // CHECK-3-NEXT: </VersionBlock>
-// CHECK-3-NEXT: <RecordBlock NumWords=203 BlockCodeSize=4>
+// CHECK-3-NEXT: <RecordBlock NumWords=270 BlockCodeSize=4>
 // CHECK-3-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-3-NEXT:   <Name abbrevid=5 op0=5/> blob data = 'Class'
-// CHECK-3-NEXT:   <DefLocation abbrevid=6 op0=32 op1=4/> blob data = '{{.*}}'
+// CHECK-3-NEXT:   <Name abbrevid=5 op0=10/> blob data = 'NamedClass'
+// CHECK-3-NEXT:   <ReferenceBlock NumWords=11 BlockCodeSize=4>
+// CHECK-3-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
+// CHECK-3-NEXT:     <Name abbrevid=5 op0=5/> blob data = 'named'
+// CHECK-3-NEXT:     <RefType abbrevid=6 op0=1/>
+// CHECK-3-NEXT:     <Field abbrevid=7 op0=1/>
+// CHECK-3-NEXT:   </ReferenceBlock>
+// CHECK-3-NEXT:   <DefLocation abbrevid=6 op0=47 op1=4/> blob data = '{{.*}}'
 // CHECK-3-NEXT:   <TagType abbrevid=8 op0=3/>
-// CHECK-3-NEXT:   <MemberTypeBlock NumWords=10 BlockCodeSize=4>
+// CHECK-3-NEXT:   <MemberTypeBlock NumWords=11 BlockCodeSize=4>
 // CHECK-3-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
 // CHECK-3-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
 // CHECK-3-NEXT:       <Field abbrevid=7 op0=4/>
 // CHECK-3-NEXT:     </ReferenceBlock>
-// CHECK-3-NEXT:     <Name abbrevid=4 op0=11/> blob data = 'publicField'
+// CHECK-3-NEXT:     <Name abbrevid=4 op0=16/> blob data = 'namedPublicField'
 // CHECK-3-NEXT:     <Access abbrevid=5 op0=3/>
 // CHECK-3-NEXT:   </MemberTypeBlock>
-// CHECK-3-NEXT:   <MemberTypeBlock NumWords=11 BlockCodeSize=4>
+// CHECK-3-NEXT:   <MemberTypeBlock NumWords=12 BlockCodeSize=4>
 // CHECK-3-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
 // CHECK-3-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
 // CHECK-3-NEXT:       <Field abbrevid=7 op0=4/>
 // CHECK-3-NEXT:     </ReferenceBlock>
-// CHECK-3-NEXT:     <Name abbrevid=4 op0=14/> blob data = 'protectedField'
+// CHECK-3-NEXT:     <Name abbrevid=4 op0=19/> blob data = 'namedProtectedField'
 // CHECK-3-NEXT:     <Access abbrevid=5 op0=1/>
 // CHECK-3-NEXT:   </MemberTypeBlock>
-// CHECK-3-NEXT:   <MemberTypeBlock NumWords=10 BlockCodeSize=4>
+// CHECK-3-NEXT:   <MemberTypeBlock NumWords=12 BlockCodeSize=4>
 // CHECK-3-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
 // CHECK-3-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
 // CHECK-3-NEXT:       <Field abbrevid=7 op0=4/>
 // CHECK-3-NEXT:     </ReferenceBlock>
-// CHECK-3-NEXT:     <Name abbrevid=4 op0=12/> blob data = 'privateField'
+// CHECK-3-NEXT:     <Name abbrevid=4 op0=17/> blob data = 'namedPrivateField'
 // CHECK-3-NEXT:     <Access abbrevid=5 op0=2/>
 // CHECK-3-NEXT:   </MemberTypeBlock>
-// CHECK-3-NEXT:   <FunctionBlock NumWords=48 BlockCodeSize=4>
+// CHECK-3-NEXT:   <FunctionBlock NumWords=65 BlockCodeSize=4>
 // CHECK-3-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-3-NEXT:     <Name abbrevid=5 op0=12/> blob data = 'publicMethod'
-// CHECK-3-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4>
+// CHECK-3-NEXT:     <Name abbrevid=5 op0=17/> blob data = 'namedPublicMethod'
+// CHECK-3-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
 // CHECK-3-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-3-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'Class'
+// CHECK-3-NEXT:       <Name abbrevid=5 op0=10/> blob data = 'NamedClass'
 // CHECK-3-NEXT:       <RefType abbrevid=6 op0=2/>
 // CHECK-3-NEXT:       <Field abbrevid=7 op0=1/>
 // CHECK-3-NEXT:     </ReferenceBlock>
-// CHECK-3-NEXT:     <IsMethod abbrevid=9 op0=1/>
-// CHECK-3-NEXT:     <Location abbrevid=7 op0=34 op1=4/> blob data = '{{.*}}'
 // CHECK-3-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4>
 // CHECK-3-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-3-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'Class'
+// CHECK-3-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'named'
+// CHECK-3-NEXT:       <RefType abbrevid=6 op0=1/>
+// CHECK-3-NEXT:       <Field abbrevid=7 op0=1/>
+// CHECK-3-NEXT:     </ReferenceBlock>
+// CHECK-3-NEXT:     <IsMethod abbrevid=9 op0=1/>
+// CHECK-3-NEXT:     <Location abbrevid=7 op0=49 op1=4/> blob data = '{{.*}}'
+// CHECK-3-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
+// CHECK-3-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
+// CHECK-3-NEXT:       <Name abbrevid=5 op0=10/> blob data = 'NamedClass'
 // CHECK-3-NEXT:       <RefType abbrevid=6 op0=2/>
 // CHECK-3-NEXT:       <Field abbrevid=7 op0=2/>
 // CHECK-3-NEXT:     </ReferenceBlock>
@@ -312,20 +452,26 @@ inline void anonInlineFunction();
 // CHECK-3-NEXT:       </ReferenceBlock>
 // CHECK-3-NEXT:     </TypeBlock>
 // CHECK-3-NEXT:   </FunctionBlock>
-// CHECK-3-NEXT:   <FunctionBlock NumWords=49 BlockCodeSize=4>
+// CHECK-3-NEXT:   <FunctionBlock NumWords=65 BlockCodeSize=4>
 // CHECK-3-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-3-NEXT:     <Name abbrevid=5 op0=15/> blob data = 'protectedMethod'
-// CHECK-3-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4>
+// CHECK-3-NEXT:     <Name abbrevid=5 op0=20/> blob data = 'namedProtectedMethod'
+// CHECK-3-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
 // CHECK-3-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-3-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'Class'
+// CHECK-3-NEXT:       <Name abbrevid=5 op0=10/> blob data = 'NamedClass'
 // CHECK-3-NEXT:       <RefType abbrevid=6 op0=2/>
 // CHECK-3-NEXT:       <Field abbrevid=7 op0=1/>
 // CHECK-3-NEXT:     </ReferenceBlock>
-// CHECK-3-NEXT:     <IsMethod abbrevid=9 op0=1/>
-// CHECK-3-NEXT:     <Location abbrevid=7 op0=38 op1=4/> blob data = '{{.*}}'
 // CHECK-3-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4>
 // CHECK-3-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-3-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'Class'
+// CHECK-3-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'named'
+// CHECK-3-NEXT:       <RefType abbrevid=6 op0=1/>
+// CHECK-3-NEXT:       <Field abbrevid=7 op0=1/>
+// CHECK-3-NEXT:     </ReferenceBlock>
+// CHECK-3-NEXT:     <IsMethod abbrevid=9 op0=1/>
+// CHECK-3-NEXT:     <Location abbrevid=7 op0=53 op1=4/> blob data = '{{.*}}'
+// CHECK-3-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
+// CHECK-3-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
+// CHECK-3-NEXT:       <Name abbrevid=5 op0=10/> blob data = 'NamedClass'
 // CHECK-3-NEXT:       <RefType abbrevid=6 op0=2/>
 // CHECK-3-NEXT:       <Field abbrevid=7 op0=2/>
 // CHECK-3-NEXT:     </ReferenceBlock>
@@ -336,20 +482,26 @@ inline void anonInlineFunction();
 // CHECK-3-NEXT:       </ReferenceBlock>
 // CHECK-3-NEXT:     </TypeBlock>
 // CHECK-3-NEXT:   </FunctionBlock>
-// CHECK-3-NEXT:   <FunctionBlock NumWords=49 BlockCodeSize=4>
+// CHECK-3-NEXT:   <FunctionBlock NumWords=65 BlockCodeSize=4>
 // CHECK-3-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-3-NEXT:     <Name abbrevid=5 op0=13/> blob data = 'privateMethod'
-// CHECK-3-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4>
+// CHECK-3-NEXT:     <Name abbrevid=5 op0=18/> blob data = 'namedPrivateMethod'
+// CHECK-3-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
 // CHECK-3-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-3-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'Class'
+// CHECK-3-NEXT:       <Name abbrevid=5 op0=10/> blob data = 'NamedClass'
 // CHECK-3-NEXT:       <RefType abbrevid=6 op0=2/>
 // CHECK-3-NEXT:       <Field abbrevid=7 op0=1/>
 // CHECK-3-NEXT:     </ReferenceBlock>
-// CHECK-3-NEXT:     <IsMethod abbrevid=9 op0=1/>
-// CHECK-3-NEXT:     <Location abbrevid=7 op0=42 op1=4/> blob data = '{{.*}}'
 // CHECK-3-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4>
 // CHECK-3-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-3-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'Class'
+// CHECK-3-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'named'
+// CHECK-3-NEXT:       <RefType abbrevid=6 op0=1/>
+// CHECK-3-NEXT:       <Field abbrevid=7 op0=1/>
+// CHECK-3-NEXT:     </ReferenceBlock>
+// CHECK-3-NEXT:     <IsMethod abbrevid=9 op0=1/>
+// CHECK-3-NEXT:     <Location abbrevid=7 op0=57 op1=4/> blob data = '{{.*}}'
+// CHECK-3-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
+// CHECK-3-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
+// CHECK-3-NEXT:       <Name abbrevid=5 op0=10/> blob data = 'NamedClass'
 // CHECK-3-NEXT:       <RefType abbrevid=6 op0=2/>
 // CHECK-3-NEXT:       <Field abbrevid=7 op0=2/>
 // CHECK-3-NEXT:     </ReferenceBlock>
@@ -362,483 +514,187 @@ inline void anonInlineFunction();
 // CHECK-3-NEXT:   </FunctionBlock>
 // CHECK-3-NEXT: </RecordBlock>
 
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/85427901413EC77C961019EBB3ADEF7B0BAAFE78.bc | FileCheck %s --check-prefix CHECK-4
+// RUN: llvm-bcanalyzer --dump %t/docs/bc/6E8FB72A89761E77020BFCEE9A9A6E64B15CC2A9.bc | FileCheck %s --check-prefix CHECK-4
 // CHECK-4: <BLOCKINFO_BLOCK/>
 // CHECK-4-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
 // CHECK-4-NEXT:   <Version abbrevid=4 op0=2/>
 // CHECK-4-NEXT: </VersionBlock>
-// CHECK-4-NEXT: <RecordBlock NumWords=103 BlockCodeSize=4>
+// CHECK-4-NEXT: <RecordBlock NumWords=252 BlockCodeSize=4>
 // CHECK-4-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-4-NEXT:   <Name abbrevid=5 op0=10/> blob data = 'InnerClass'
-// CHECK-4-NEXT:   <ReferenceBlock NumWords=15 BlockCodeSize=4>
+// CHECK-4-NEXT:   <Name abbrevid=5 op0=9/> blob data = 'AnonClass'
+// CHECK-4-NEXT:   <ReferenceBlock NumWords=7 BlockCodeSize=4>
 // CHECK-4-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-4-NEXT:     <Name abbrevid=5 op0=22/> blob data = 'functionWithInnerClass'
-// CHECK-4-NEXT:     <RefType abbrevid=6 op0=3/>
+// CHECK-4-NEXT:     <RefType abbrevid=6 op0=1/>
 // CHECK-4-NEXT:     <Field abbrevid=7 op0=1/>
 // CHECK-4-NEXT:   </ReferenceBlock>
-// CHECK-4-NEXT:   <DefLocation abbrevid=6 op0=15 op1=4/> blob data = '{{.*}}'
+// CHECK-4-NEXT:   <DefLocation abbrevid=6 op0=78 op1=4/> blob data = '{{.*}}'
 // CHECK-4-NEXT:   <TagType abbrevid=8 op0=3/>
-// CHECK-4-NEXT:   <FunctionBlock NumWords=69 BlockCodeSize=4>
+// CHECK-4-NEXT:   <MemberTypeBlock NumWords=11 BlockCodeSize=4>
+// CHECK-4-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
+// CHECK-4-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
+// CHECK-4-NEXT:       <Field abbrevid=7 op0=4/>
+// CHECK-4-NEXT:     </ReferenceBlock>
+// CHECK-4-NEXT:     <Name abbrevid=4 op0=15/> blob data = 'anonPublicField'
+// CHECK-4-NEXT:     <Access abbrevid=5 op0=3/>
+// CHECK-4-NEXT:   </MemberTypeBlock>
+// CHECK-4-NEXT:   <MemberTypeBlock NumWords=12 BlockCodeSize=4>
+// CHECK-4-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
+// CHECK-4-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
+// CHECK-4-NEXT:       <Field abbrevid=7 op0=4/>
+// CHECK-4-NEXT:     </ReferenceBlock>
+// CHECK-4-NEXT:     <Name abbrevid=4 op0=18/> blob data = 'anonProtectedField'
+// CHECK-4-NEXT:     <Access abbrevid=5 op0=1/>
+// CHECK-4-NEXT:   </MemberTypeBlock>
+// CHECK-4-NEXT:   <MemberTypeBlock NumWords=11 BlockCodeSize=4>
+// CHECK-4-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
+// CHECK-4-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
+// CHECK-4-NEXT:       <Field abbrevid=7 op0=4/>
+// CHECK-4-NEXT:     </ReferenceBlock>
+// CHECK-4-NEXT:     <Name abbrevid=4 op0=16/> blob data = 'anonPrivateField'
+// CHECK-4-NEXT:     <Access abbrevid=5 op0=2/>
+// CHECK-4-NEXT:   </MemberTypeBlock>
+// CHECK-4-NEXT:   <FunctionBlock NumWords=60 BlockCodeSize=4>
+// CHECK-4-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
+// CHECK-4-NEXT:     <Name abbrevid=5 op0=16/> blob data = 'anonPublicMethod'
+// CHECK-4-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
+// CHECK-4-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
+// CHECK-4-NEXT:       <Name abbrevid=5 op0=9/> blob data = 'AnonClass'
+// CHECK-4-NEXT:       <RefType abbrevid=6 op0=2/>
+// CHECK-4-NEXT:       <Field abbrevid=7 op0=1/>
+// CHECK-4-NEXT:     </ReferenceBlock>
+// CHECK-4-NEXT:     <ReferenceBlock NumWords=7 BlockCodeSize=4>
+// CHECK-4-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
+// CHECK-4-NEXT:       <RefType abbrevid=6 op0=1/>
+// CHECK-4-NEXT:       <Field abbrevid=7 op0=1/>
+// CHECK-4-NEXT:     </ReferenceBlock>
+// CHECK-4-NEXT:     <IsMethod abbrevid=9 op0=1/>
+// CHECK-4-NEXT:     <Location abbrevid=7 op0=80 op1=4/> blob data = '{{.*}}'
+// CHECK-4-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
+// CHECK-4-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
+// CHECK-4-NEXT:       <Name abbrevid=5 op0=9/> blob data = 'AnonClass'
+// CHECK-4-NEXT:       <RefType abbrevid=6 op0=2/>
+// CHECK-4-NEXT:       <Field abbrevid=7 op0=2/>
+// CHECK-4-NEXT:     </ReferenceBlock>
+// CHECK-4-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
+// CHECK-4-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
+// CHECK-4-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
+// CHECK-4-NEXT:         <Field abbrevid=7 op0=4/>
+// CHECK-4-NEXT:       </ReferenceBlock>
+// CHECK-4-NEXT:     </TypeBlock>
+// CHECK-4-NEXT:   </FunctionBlock>
+// CHECK-4-NEXT:   <FunctionBlock NumWords=61 BlockCodeSize=4>
+// CHECK-4-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
+// CHECK-4-NEXT:     <Name abbrevid=5 op0=19/> blob data = 'anonProtectedMethod'
+// CHECK-4-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
+// CHECK-4-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
+// CHECK-4-NEXT:       <Name abbrevid=5 op0=9/> blob data = 'AnonClass'
+// CHECK-4-NEXT:       <RefType abbrevid=6 op0=2/>
+// CHECK-4-NEXT:       <Field abbrevid=7 op0=1/>
+// CHECK-4-NEXT:     </ReferenceBlock>
+// CHECK-4-NEXT:     <ReferenceBlock NumWords=7 BlockCodeSize=4>
+// CHECK-4-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
+// CHECK-4-NEXT:       <RefType abbrevid=6 op0=1/>
+// CHECK-4-NEXT:       <Field abbrevid=7 op0=1/>
+// CHECK-4-NEXT:     </ReferenceBlock>
+// CHECK-4-NEXT:     <IsMethod abbrevid=9 op0=1/>
+// CHECK-4-NEXT:     <Location abbrevid=7 op0=84 op1=4/> blob data = '{{.*}}'
+// CHECK-4-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
+// CHECK-4-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
+// CHECK-4-NEXT:       <Name abbrevid=5 op0=9/> blob data = 'AnonClass'
+// CHECK-4-NEXT:       <RefType abbrevid=6 op0=2/>
+// CHECK-4-NEXT:       <Field abbrevid=7 op0=2/>
+// CHECK-4-NEXT:     </ReferenceBlock>
+// CHECK-4-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
+// CHECK-4-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
+// CHECK-4-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
+// CHECK-4-NEXT:         <Field abbrevid=7 op0=4/>
+// CHECK-4-NEXT:       </ReferenceBlock>
+// CHECK-4-NEXT:     </TypeBlock>
+// CHECK-4-NEXT:   </FunctionBlock>
+// CHECK-4-NEXT:   <FunctionBlock NumWords=61 BlockCodeSize=4>
 // CHECK-4-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-4-NEXT:     <Name abbrevid=5 op0=17/> blob data = 'innerPublicMethod'
+// CHECK-4-NEXT:     <Name abbrevid=5 op0=17/> blob data = 'anonPrivateMethod'
 // CHECK-4-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
 // CHECK-4-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-4-NEXT:       <Name abbrevid=5 op0=10/> blob data = 'InnerClass'
+// CHECK-4-NEXT:       <Name abbrevid=5 op0=9/> blob data = 'AnonClass'
 // CHECK-4-NEXT:       <RefType abbrevid=6 op0=2/>
 // CHECK-4-NEXT:       <Field abbrevid=7 op0=1/>
 // CHECK-4-NEXT:     </ReferenceBlock>
-// CHECK-4-NEXT:     <ReferenceBlock NumWords=15 BlockCodeSize=4>
+// CHECK-4-NEXT:     <ReferenceBlock NumWords=7 BlockCodeSize=4>
 // CHECK-4-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-4-NEXT:       <Name abbrevid=5 op0=22/> blob data = 'functionWithInnerClass'
-// CHECK-4-NEXT:       <RefType abbrevid=6 op0=3/>
+// CHECK-4-NEXT:       <RefType abbrevid=6 op0=1/>
 // CHECK-4-NEXT:       <Field abbrevid=7 op0=1/>
 // CHECK-4-NEXT:     </ReferenceBlock>
 // CHECK-4-NEXT:     <IsMethod abbrevid=9 op0=1/>
-// CHECK-4-NEXT:     <DefLocation abbrevid=6 op0=17 op1=4/> blob data = '{{.*}}'
+// CHECK-4-NEXT:     <Location abbrevid=7 op0=88 op1=4/> blob data = '{{.*}}'
 // CHECK-4-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
 // CHECK-4-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-4-NEXT:       <Name abbrevid=5 op0=10/> blob data = 'InnerClass'
+// CHECK-4-NEXT:       <Name abbrevid=5 op0=9/> blob data = 'AnonClass'
 // CHECK-4-NEXT:       <RefType abbrevid=6 op0=2/>
 // CHECK-4-NEXT:       <Field abbrevid=7 op0=2/>
 // CHECK-4-NEXT:     </ReferenceBlock>
 // CHECK-4-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
 // CHECK-4-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-4-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
+// CHECK-4-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
 // CHECK-4-NEXT:         <Field abbrevid=7 op0=4/>
 // CHECK-4-NEXT:       </ReferenceBlock>
 // CHECK-4-NEXT:     </TypeBlock>
 // CHECK-4-NEXT:   </FunctionBlock>
 // CHECK-4-NEXT: </RecordBlock>
 
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/0000000000000000000000000000000000000000.bc | FileCheck %s --check-prefix CHECK-5
+// RUN: llvm-bcanalyzer --dump %t/docs/bc/83CC52D32583E0771710A7742DE81C839E953AC8.bc | FileCheck %s --check-prefix CHECK-5
 // CHECK-5: <BLOCKINFO_BLOCK/>
 // CHECK-5-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
 // CHECK-5-NEXT:   <Version abbrevid=4 op0=2/>
 // CHECK-5-NEXT: </VersionBlock>
-// CHECK-5-NEXT: <NamespaceBlock NumWords=218 BlockCodeSize=4>
+// CHECK-5-NEXT: <NamespaceBlock NumWords=109 BlockCodeSize=4>
+// CHECK-5-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
 // CHECK-5-NEXT:   <FunctionBlock NumWords=31 BlockCodeSize=4>
 // CHECK-5-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-5-NEXT:     <Name abbrevid=5 op0=8/> blob data = 'function'
-// CHECK-5-NEXT:     <Location abbrevid=7 op0=10 op1=4/> blob data = '{{.*}}'
+// CHECK-5-NEXT:     <Name abbrevid=5 op0=12/> blob data = 'anonFunction'
+// CHECK-5-NEXT:     <ReferenceBlock NumWords=7 BlockCodeSize=4>
+// CHECK-5-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
+// CHECK-5-NEXT:       <RefType abbrevid=6 op0=1/>
+// CHECK-5-NEXT:       <Field abbrevid=7 op0=1/>
+// CHECK-5-NEXT:     </ReferenceBlock>
+// CHECK-5-NEXT:     <Location abbrevid=7 op0=92 op1=4/> blob data = '{{.*}}'
 // CHECK-5-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
 // CHECK-5-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
 // CHECK-5-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
 // CHECK-5-NEXT:         <Field abbrevid=7 op0=4/>
 // CHECK-5-NEXT:       </ReferenceBlock>
 // CHECK-5-NEXT:     </TypeBlock>
-// CHECK-5-NEXT:     <FieldTypeBlock NumWords=8 BlockCodeSize=4>
-// CHECK-5-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-5-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-5-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-5-NEXT:       </ReferenceBlock>
-// CHECK-5-NEXT:       <Name abbrevid=4 op0=1/> blob data = 'x'
-// CHECK-5-NEXT:     </FieldTypeBlock>
 // CHECK-5-NEXT:   </FunctionBlock>
 // CHECK-5-NEXT:   <FunctionBlock NumWords=33 BlockCodeSize=4>
 // CHECK-5-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-5-NEXT:     <Name abbrevid=5 op0=15/> blob data = 'inlinedFunction'
-// CHECK-5-NEXT:     <Location abbrevid=7 op0=12 op1=4/> blob data = '{{.*}}'
-// CHECK-5-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
-// CHECK-5-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-5-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-5-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-5-NEXT:       </ReferenceBlock>
-// CHECK-5-NEXT:     </TypeBlock>
-// CHECK-5-NEXT:     <FieldTypeBlock NumWords=8 BlockCodeSize=4>
-// CHECK-5-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-5-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-5-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-5-NEXT:       </ReferenceBlock>
-// CHECK-5-NEXT:       <Name abbrevid=4 op0=1/> blob data = 'x'
-// CHECK-5-NEXT:     </FieldTypeBlock>
-// CHECK-5-NEXT:   </FunctionBlock>
-// CHECK-5-NEXT:   <FunctionBlock NumWords=35 BlockCodeSize=4>
-// CHECK-5-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-5-NEXT:     <Name abbrevid=5 op0=22/> blob data = 'functionWithInnerClass'
-// CHECK-5-NEXT:     <DefLocation abbrevid=6 op0=14 op1=4/> blob data = '{{.*}}'
-// CHECK-5-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
-// CHECK-5-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-5-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-5-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-5-NEXT:       </ReferenceBlock>
-// CHECK-5-NEXT:     </TypeBlock>
-// CHECK-5-NEXT:     <FieldTypeBlock NumWords=8 BlockCodeSize=4>
-// CHECK-5-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-5-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-5-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-5-NEXT:       </ReferenceBlock>
-// CHECK-5-NEXT:       <Name abbrevid=4 op0=1/> blob data = 'x'
-// CHECK-5-NEXT:     </FieldTypeBlock>
-// CHECK-5-NEXT:   </FunctionBlock>
-// CHECK-5-NEXT:   <FunctionBlock NumWords=37 BlockCodeSize=4>
-// CHECK-5-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-5-NEXT:     <Name abbrevid=5 op0=29/> blob data = 'inlinedFunctionWithInnerClass'
-// CHECK-5-NEXT:     <DefLocation abbrevid=6 op0=23 op1=4/> blob data = '{{.*}}'
+// CHECK-5-NEXT:     <Name abbrevid=5 op0=18/> blob data = 'anonStaticFunction'
+// CHECK-5-NEXT:     <ReferenceBlock NumWords=7 BlockCodeSize=4>
+// CHECK-5-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
+// CHECK-5-NEXT:       <RefType abbrevid=6 op0=1/>
+// CHECK-5-NEXT:       <Field abbrevid=7 op0=1/>
+// CHECK-5-NEXT:     </ReferenceBlock>
+// CHECK-5-NEXT:     <Location abbrevid=7 op0=93 op1=4/> blob data = '{{.*}}'
 // CHECK-5-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
 // CHECK-5-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-5-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
+// CHECK-5-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
 // CHECK-5-NEXT:         <Field abbrevid=7 op0=4/>
 // CHECK-5-NEXT:       </ReferenceBlock>
 // CHECK-5-NEXT:     </TypeBlock>
-// CHECK-5-NEXT:     <FieldTypeBlock NumWords=8 BlockCodeSize=4>
-// CHECK-5-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-5-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-5-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-5-NEXT:       </ReferenceBlock>
-// CHECK-5-NEXT:       <Name abbrevid=4 op0=1/> blob data = 'x'
-// CHECK-5-NEXT:     </FieldTypeBlock>
 // CHECK-5-NEXT:   </FunctionBlock>
 // CHECK-5-NEXT:   <FunctionBlock NumWords=33 BlockCodeSize=4>
 // CHECK-5-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-5-NEXT:     <Name abbrevid=5 op0=14/> blob data = 'staticFunction'
-// CHECK-5-NEXT:     <Location abbrevid=7 op0=66 op1=4/> blob data = '{{.*}}'
+// CHECK-5-NEXT:     <Name abbrevid=5 op0=18/> blob data = 'anonInlineFunction'
+// CHECK-5-NEXT:     <ReferenceBlock NumWords=7 BlockCodeSize=4>
+// CHECK-5-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
+// CHECK-5-NEXT:       <RefType abbrevid=6 op0=1/>
+// CHECK-5-NEXT:       <Field abbrevid=7 op0=1/>
+// CHECK-5-NEXT:     </ReferenceBlock>
+// CHECK-5-NEXT:     <Location abbrevid=7 op0=94 op1=4/> blob data = '{{.*}}'
 // CHECK-5-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
 // CHECK-5-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
 // CHECK-5-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
 // CHECK-5-NEXT:         <Field abbrevid=7 op0=4/>
 // CHECK-5-NEXT:       </ReferenceBlock>
 // CHECK-5-NEXT:     </TypeBlock>
-// CHECK-5-NEXT:     <FieldTypeBlock NumWords=8 BlockCodeSize=4>
-// CHECK-5-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-5-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-5-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-5-NEXT:       </ReferenceBlock>
-// CHECK-5-NEXT:       <Name abbrevid=4 op0=1/> blob data = 'x'
-// CHECK-5-NEXT:     </FieldTypeBlock>
-// CHECK-5-NEXT:   </FunctionBlock>
-// CHECK-5-NEXT:   <FunctionBlock NumWords=36 BlockCodeSize=4>
-// CHECK-5-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-5-NEXT:     <Name abbrevid=5 op0=28/> blob data = 'staticFunctionWithInnerClass'
-// CHECK-5-NEXT:     <DefLocation abbrevid=6 op0=68 op1=4/> blob data = '{{.*}}'
-// CHECK-5-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
-// CHECK-5-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-5-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-5-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-5-NEXT:       </ReferenceBlock>
-// CHECK-5-NEXT:     </TypeBlock>
-// CHECK-5-NEXT:     <FieldTypeBlock NumWords=8 BlockCodeSize=4>
-// CHECK-5-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-5-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-5-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-5-NEXT:       </ReferenceBlock>
-// CHECK-5-NEXT:       <Name abbrevid=4 op0=1/> blob data = 'x'
-// CHECK-5-NEXT:     </FieldTypeBlock>
 // CHECK-5-NEXT:   </FunctionBlock>
 // CHECK-5-NEXT: </NamespaceBlock>
-
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/4712C5FA37B298A25501D1033C619B65B0ECC449.bc | FileCheck %s --check-prefix CHECK-6
-// CHECK-6: <BLOCKINFO_BLOCK/>
-// CHECK-6-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
-// CHECK-6-NEXT:   <Version abbrevid=4 op0=2/>
-// CHECK-6-NEXT: </VersionBlock>
-// CHECK-6-NEXT: <RecordBlock NumWords=270 BlockCodeSize=4>
-// CHECK-6-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-6-NEXT:   <Name abbrevid=5 op0=10/> blob data = 'NamedClass'
-// CHECK-6-NEXT:   <ReferenceBlock NumWords=11 BlockCodeSize=4>
-// CHECK-6-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-6-NEXT:     <Name abbrevid=5 op0=5/> blob data = 'named'
-// CHECK-6-NEXT:     <RefType abbrevid=6 op0=1/>
-// CHECK-6-NEXT:     <Field abbrevid=7 op0=1/>
-// CHECK-6-NEXT:   </ReferenceBlock>
-// CHECK-6-NEXT:   <DefLocation abbrevid=6 op0=47 op1=4/> blob data = '{{.*}}'
-// CHECK-6-NEXT:   <TagType abbrevid=8 op0=3/>
-// CHECK-6-NEXT:   <MemberTypeBlock NumWords=11 BlockCodeSize=4>
-// CHECK-6-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-6-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-6-NEXT:       <Field abbrevid=7 op0=4/>
-// CHECK-6-NEXT:     </ReferenceBlock>
-// CHECK-6-NEXT:     <Name abbrevid=4 op0=16/> blob data = 'namedPublicField'
-// CHECK-6-NEXT:     <Access abbrevid=5 op0=3/>
-// CHECK-6-NEXT:   </MemberTypeBlock>
-// CHECK-6-NEXT:   <MemberTypeBlock NumWords=12 BlockCodeSize=4>
-// CHECK-6-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-6-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-6-NEXT:       <Field abbrevid=7 op0=4/>
-// CHECK-6-NEXT:     </ReferenceBlock>
-// CHECK-6-NEXT:     <Name abbrevid=4 op0=19/> blob data = 'namedProtectedField'
-// CHECK-6-NEXT:     <Access abbrevid=5 op0=1/>
-// CHECK-6-NEXT:   </MemberTypeBlock>
-// CHECK-6-NEXT:   <MemberTypeBlock NumWords=12 BlockCodeSize=4>
-// CHECK-6-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-6-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-6-NEXT:       <Field abbrevid=7 op0=4/>
-// CHECK-6-NEXT:     </ReferenceBlock>
-// CHECK-6-NEXT:     <Name abbrevid=4 op0=17/> blob data = 'namedPrivateField'
-// CHECK-6-NEXT:     <Access abbrevid=5 op0=2/>
-// CHECK-6-NEXT:   </MemberTypeBlock>
-// CHECK-6-NEXT:   <FunctionBlock NumWords=65 BlockCodeSize=4>
-// CHECK-6-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-6-NEXT:     <Name abbrevid=5 op0=17/> blob data = 'namedPublicMethod'
-// CHECK-6-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
-// CHECK-6-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-6-NEXT:       <Name abbrevid=5 op0=10/> blob data = 'NamedClass'
-// CHECK-6-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-6-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-6-NEXT:     </ReferenceBlock>
-// CHECK-6-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4>
-// CHECK-6-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-6-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'named'
-// CHECK-6-NEXT:       <RefType abbrevid=6 op0=1/>
-// CHECK-6-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-6-NEXT:     </ReferenceBlock>
-// CHECK-6-NEXT:     <IsMethod abbrevid=9 op0=1/>
-// CHECK-6-NEXT:     <Location abbrevid=7 op0=49 op1=4/> blob data = '{{.*}}'
-// CHECK-6-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
-// CHECK-6-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-6-NEXT:       <Name abbrevid=5 op0=10/> blob data = 'NamedClass'
-// CHECK-6-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-6-NEXT:       <Field abbrevid=7 op0=2/>
-// CHECK-6-NEXT:     </ReferenceBlock>
-// CHECK-6-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
-// CHECK-6-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-6-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
-// CHECK-6-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-6-NEXT:       </ReferenceBlock>
-// CHECK-6-NEXT:     </TypeBlock>
-// CHECK-6-NEXT:   </FunctionBlock>
-// CHECK-6-NEXT:   <FunctionBlock NumWords=65 BlockCodeSize=4>
-// CHECK-6-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-6-NEXT:     <Name abbrevid=5 op0=20/> blob data = 'namedProtectedMethod'
-// CHECK-6-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
-// CHECK-6-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-6-NEXT:       <Name abbrevid=5 op0=10/> blob data = 'NamedClass'
-// CHECK-6-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-6-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-6-NEXT:     </ReferenceBlock>
-// CHECK-6-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4>
-// CHECK-6-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-6-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'named'
-// CHECK-6-NEXT:       <RefType abbrevid=6 op0=1/>
-// CHECK-6-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-6-NEXT:     </ReferenceBlock>
-// CHECK-6-NEXT:     <IsMethod abbrevid=9 op0=1/>
-// CHECK-6-NEXT:     <Location abbrevid=7 op0=53 op1=4/> blob data = '{{.*}}'
-// CHECK-6-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
-// CHECK-6-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-6-NEXT:       <Name abbrevid=5 op0=10/> blob data = 'NamedClass'
-// CHECK-6-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-6-NEXT:       <Field abbrevid=7 op0=2/>
-// CHECK-6-NEXT:     </ReferenceBlock>
-// CHECK-6-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
-// CHECK-6-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-6-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
-// CHECK-6-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-6-NEXT:       </ReferenceBlock>
-// CHECK-6-NEXT:     </TypeBlock>
-// CHECK-6-NEXT:   </FunctionBlock>
-// CHECK-6-NEXT:   <FunctionBlock NumWords=65 BlockCodeSize=4>
-// CHECK-6-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-6-NEXT:     <Name abbrevid=5 op0=18/> blob data = 'namedPrivateMethod'
-// CHECK-6-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
-// CHECK-6-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-6-NEXT:       <Name abbrevid=5 op0=10/> blob data = 'NamedClass'
-// CHECK-6-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-6-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-6-NEXT:     </ReferenceBlock>
-// CHECK-6-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4>
-// CHECK-6-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-6-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'named'
-// CHECK-6-NEXT:       <RefType abbrevid=6 op0=1/>
-// CHECK-6-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-6-NEXT:     </ReferenceBlock>
-// CHECK-6-NEXT:     <IsMethod abbrevid=9 op0=1/>
-// CHECK-6-NEXT:     <Location abbrevid=7 op0=57 op1=4/> blob data = '{{.*}}'
-// CHECK-6-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
-// CHECK-6-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-6-NEXT:       <Name abbrevid=5 op0=10/> blob data = 'NamedClass'
-// CHECK-6-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-6-NEXT:       <Field abbrevid=7 op0=2/>
-// CHECK-6-NEXT:     </ReferenceBlock>
-// CHECK-6-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
-// CHECK-6-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-6-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
-// CHECK-6-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-6-NEXT:       </ReferenceBlock>
-// CHECK-6-NEXT:     </TypeBlock>
-// CHECK-6-NEXT:   </FunctionBlock>
-// CHECK-6-NEXT: </RecordBlock>
-
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/6E8FB72A89761E77020BFCEE9A9A6E64B15CC2A9.bc | FileCheck %s --check-prefix CHECK-7
-// CHECK-7: <BLOCKINFO_BLOCK/>
-// CHECK-7-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
-// CHECK-7-NEXT:   <Version abbrevid=4 op0=2/>
-// CHECK-7-NEXT: </VersionBlock>
-// CHECK-7-NEXT: <RecordBlock NumWords=252 BlockCodeSize=4>
-// CHECK-7-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-7-NEXT:   <Name abbrevid=5 op0=9/> blob data = 'AnonClass'
-// CHECK-7-NEXT:   <ReferenceBlock NumWords=7 BlockCodeSize=4>
-// CHECK-7-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-7-NEXT:     <RefType abbrevid=6 op0=1/>
-// CHECK-7-NEXT:     <Field abbrevid=7 op0=1/>
-// CHECK-7-NEXT:   </ReferenceBlock>
-// CHECK-7-NEXT:   <DefLocation abbrevid=6 op0=78 op1=4/> blob data = '{{.*}}'
-// CHECK-7-NEXT:   <TagType abbrevid=8 op0=3/>
-// CHECK-7-NEXT:   <MemberTypeBlock NumWords=11 BlockCodeSize=4>
-// CHECK-7-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-7-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-7-NEXT:       <Field abbrevid=7 op0=4/>
-// CHECK-7-NEXT:     </ReferenceBlock>
-// CHECK-7-NEXT:     <Name abbrevid=4 op0=15/> blob data = 'anonPublicField'
-// CHECK-7-NEXT:     <Access abbrevid=5 op0=3/>
-// CHECK-7-NEXT:   </MemberTypeBlock>
-// CHECK-7-NEXT:   <MemberTypeBlock NumWords=12 BlockCodeSize=4>
-// CHECK-7-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-7-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-7-NEXT:       <Field abbrevid=7 op0=4/>
-// CHECK-7-NEXT:     </ReferenceBlock>
-// CHECK-7-NEXT:     <Name abbrevid=4 op0=18/> blob data = 'anonProtectedField'
-// CHECK-7-NEXT:     <Access abbrevid=5 op0=1/>
-// CHECK-7-NEXT:   </MemberTypeBlock>
-// CHECK-7-NEXT:   <MemberTypeBlock NumWords=11 BlockCodeSize=4>
-// CHECK-7-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-7-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-7-NEXT:       <Field abbrevid=7 op0=4/>
-// CHECK-7-NEXT:     </ReferenceBlock>
-// CHECK-7-NEXT:     <Name abbrevid=4 op0=16/> blob data = 'anonPrivateField'
-// CHECK-7-NEXT:     <Access abbrevid=5 op0=2/>
-// CHECK-7-NEXT:   </MemberTypeBlock>
-// CHECK-7-NEXT:   <FunctionBlock NumWords=60 BlockCodeSize=4>
-// CHECK-7-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-7-NEXT:     <Name abbrevid=5 op0=16/> blob data = 'anonPublicMethod'
-// CHECK-7-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
-// CHECK-7-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-7-NEXT:       <Name abbrevid=5 op0=9/> blob data = 'AnonClass'
-// CHECK-7-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-7-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-7-NEXT:     </ReferenceBlock>
-// CHECK-7-NEXT:     <ReferenceBlock NumWords=7 BlockCodeSize=4>
-// CHECK-7-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-7-NEXT:       <RefType abbrevid=6 op0=1/>
-// CHECK-7-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-7-NEXT:     </ReferenceBlock>
-// CHECK-7-NEXT:     <IsMethod abbrevid=9 op0=1/>
-// CHECK-7-NEXT:     <Location abbrevid=7 op0=80 op1=4/> blob data = '{{.*}}'
-// CHECK-7-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
-// CHECK-7-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-7-NEXT:       <Name abbrevid=5 op0=9/> blob data = 'AnonClass'
-// CHECK-7-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-7-NEXT:       <Field abbrevid=7 op0=2/>
-// CHECK-7-NEXT:     </ReferenceBlock>
-// CHECK-7-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
-// CHECK-7-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-7-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
-// CHECK-7-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-7-NEXT:       </ReferenceBlock>
-// CHECK-7-NEXT:     </TypeBlock>
-// CHECK-7-NEXT:   </FunctionBlock>
-// CHECK-7-NEXT:   <FunctionBlock NumWords=61 BlockCodeSize=4>
-// CHECK-7-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-7-NEXT:     <Name abbrevid=5 op0=19/> blob data = 'anonProtectedMethod'
-// CHECK-7-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
-// CHECK-7-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-7-NEXT:       <Name abbrevid=5 op0=9/> blob data = 'AnonClass'
-// CHECK-7-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-7-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-7-NEXT:     </ReferenceBlock>
-// CHECK-7-NEXT:     <ReferenceBlock NumWords=7 BlockCodeSize=4>
-// CHECK-7-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-7-NEXT:       <RefType abbrevid=6 op0=1/>
-// CHECK-7-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-7-NEXT:     </ReferenceBlock>
-// CHECK-7-NEXT:     <IsMethod abbrevid=9 op0=1/>
-// CHECK-7-NEXT:     <Location abbrevid=7 op0=84 op1=4/> blob data = '{{.*}}'
-// CHECK-7-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
-// CHECK-7-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-7-NEXT:       <Name abbrevid=5 op0=9/> blob data = 'AnonClass'
-// CHECK-7-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-7-NEXT:       <Field abbrevid=7 op0=2/>
-// CHECK-7-NEXT:     </ReferenceBlock>
-// CHECK-7-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
-// CHECK-7-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-7-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
-// CHECK-7-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-7-NEXT:       </ReferenceBlock>
-// CHECK-7-NEXT:     </TypeBlock>
-// CHECK-7-NEXT:   </FunctionBlock>
-// CHECK-7-NEXT:   <FunctionBlock NumWords=61 BlockCodeSize=4>
-// CHECK-7-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-7-NEXT:     <Name abbrevid=5 op0=17/> blob data = 'anonPrivateMethod'
-// CHECK-7-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
-// CHECK-7-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-7-NEXT:       <Name abbrevid=5 op0=9/> blob data = 'AnonClass'
-// CHECK-7-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-7-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-7-NEXT:     </ReferenceBlock>
-// CHECK-7-NEXT:     <ReferenceBlock NumWords=7 BlockCodeSize=4>
-// CHECK-7-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-7-NEXT:       <RefType abbrevid=6 op0=1/>
-// CHECK-7-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-7-NEXT:     </ReferenceBlock>
-// CHECK-7-NEXT:     <IsMethod abbrevid=9 op0=1/>
-// CHECK-7-NEXT:     <Location abbrevid=7 op0=88 op1=4/> blob data = '{{.*}}'
-// CHECK-7-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
-// CHECK-7-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-7-NEXT:       <Name abbrevid=5 op0=9/> blob data = 'AnonClass'
-// CHECK-7-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-7-NEXT:       <Field abbrevid=7 op0=2/>
-// CHECK-7-NEXT:     </ReferenceBlock>
-// CHECK-7-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
-// CHECK-7-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-7-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
-// CHECK-7-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-7-NEXT:       </ReferenceBlock>
-// CHECK-7-NEXT:     </TypeBlock>
-// CHECK-7-NEXT:   </FunctionBlock>
-// CHECK-7-NEXT: </RecordBlock>
-
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/83CC52D32583E0771710A7742DE81C839E953AC8.bc | FileCheck %s --check-prefix CHECK-8
-// CHECK-8: <BLOCKINFO_BLOCK/>
-// CHECK-8-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
-// CHECK-8-NEXT:   <Version abbrevid=4 op0=2/>
-// CHECK-8-NEXT: </VersionBlock>
-// CHECK-8-NEXT: <NamespaceBlock NumWords=109 BlockCodeSize=4>
-// CHECK-8-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-8-NEXT:   <FunctionBlock NumWords=31 BlockCodeSize=4>
-// CHECK-8-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-8-NEXT:     <Name abbrevid=5 op0=12/> blob data = 'anonFunction'
-// CHECK-8-NEXT:     <ReferenceBlock NumWords=7 BlockCodeSize=4>
-// CHECK-8-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-8-NEXT:       <RefType abbrevid=6 op0=1/>
-// CHECK-8-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-8-NEXT:     </ReferenceBlock>
-// CHECK-8-NEXT:     <Location abbrevid=7 op0=92 op1=4/> blob data = '{{.*}}'
-// CHECK-8-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
-// CHECK-8-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-8-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
-// CHECK-8-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-8-NEXT:       </ReferenceBlock>
-// CHECK-8-NEXT:     </TypeBlock>
-// CHECK-8-NEXT:   </FunctionBlock>
-// CHECK-8-NEXT:   <FunctionBlock NumWords=33 BlockCodeSize=4>
-// CHECK-8-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-8-NEXT:     <Name abbrevid=5 op0=18/> blob data = 'anonStaticFunction'
-// CHECK-8-NEXT:     <ReferenceBlock NumWords=7 BlockCodeSize=4>
-// CHECK-8-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-8-NEXT:       <RefType abbrevid=6 op0=1/>
-// CHECK-8-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-8-NEXT:     </ReferenceBlock>
-// CHECK-8-NEXT:     <Location abbrevid=7 op0=93 op1=4/> blob data = '{{.*}}'
-// CHECK-8-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
-// CHECK-8-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-8-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
-// CHECK-8-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-8-NEXT:       </ReferenceBlock>
-// CHECK-8-NEXT:     </TypeBlock>
-// CHECK-8-NEXT:   </FunctionBlock>
-// CHECK-8-NEXT:   <FunctionBlock NumWords=33 BlockCodeSize=4>
-// CHECK-8-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-8-NEXT:     <Name abbrevid=5 op0=18/> blob data = 'anonInlineFunction'
-// CHECK-8-NEXT:     <ReferenceBlock NumWords=7 BlockCodeSize=4>
-// CHECK-8-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-8-NEXT:       <RefType abbrevid=6 op0=1/>
-// CHECK-8-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-8-NEXT:     </ReferenceBlock>
-// CHECK-8-NEXT:     <Location abbrevid=7 op0=94 op1=4/> blob data = '{{.*}}'
-// CHECK-8-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
-// CHECK-8-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-8-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
-// CHECK-8-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-8-NEXT:       </ReferenceBlock>
-// CHECK-8-NEXT:     </TypeBlock>
-// CHECK-8-NEXT:   </FunctionBlock>
-// CHECK-8-NEXT: </NamespaceBlock>
index a0e2244..053954a 100644 (file)
@@ -127,167 +127,149 @@ class X {
 // CHECK-0-NEXT:   </FunctionBlock>
 // CHECK-0-NEXT: </RecordBlock>
 
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/3FB542274573CAEAD54CEBFFCAEE3D77FB9713D8.bc | FileCheck %s --check-prefix CHECK-1
+// RUN: llvm-bcanalyzer --dump %t/docs/bc/CA7C7935730B5EACD25F080E9C83FA087CCDC75E.bc | FileCheck %s --check-prefix CHECK-1
 // CHECK-1: <BLOCKINFO_BLOCK/>
 // CHECK-1-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
 // CHECK-1-NEXT:   <Version abbrevid=4 op0=2/>
 // CHECK-1-NEXT: </VersionBlock>
-// CHECK-1-NEXT: <RecordBlock NumWords=24 BlockCodeSize=4>
+// CHECK-1-NEXT: <RecordBlock NumWords=12 BlockCodeSize=4>
 // CHECK-1-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-1-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'I'
-// CHECK-1-NEXT:   <ReferenceBlock NumWords=10 BlockCodeSize=4>
-// CHECK-1-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-1-NEXT:     <Name abbrevid=5 op0=1/> blob data = 'H'
-// CHECK-1-NEXT:     <RefType abbrevid=6 op0=3/>
-// CHECK-1-NEXT:     <Field abbrevid=7 op0=1/>
-// CHECK-1-NEXT:   </ReferenceBlock>
-// CHECK-1-NEXT:   <DefLocation abbrevid=6 op0=12 op1=4/> blob data = '{{.*}}'
+// CHECK-1-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'X'
+// CHECK-1-NEXT:   <DefLocation abbrevid=6 op0=38 op1=4/> blob data = '{{.*}}'
 // CHECK-1-NEXT:   <TagType abbrevid=8 op0=3/>
 // CHECK-1-NEXT: </RecordBlock>
 
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/CA7C7935730B5EACD25F080E9C83FA087CCDC75E.bc | FileCheck %s --check-prefix CHECK-2
+// RUN: llvm-bcanalyzer --dump %t/docs/bc/06B5F6A19BA9F6A832E127C9968282B94619B210.bc | FileCheck %s --check-prefix CHECK-2
 // CHECK-2: <BLOCKINFO_BLOCK/>
 // CHECK-2-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
 // CHECK-2-NEXT:   <Version abbrevid=4 op0=2/>
 // CHECK-2-NEXT: </VersionBlock>
-// CHECK-2-NEXT: <RecordBlock NumWords=12 BlockCodeSize=4>
+// CHECK-2-NEXT: <RecordBlock NumWords=22 BlockCodeSize=4>
 // CHECK-2-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-2-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'X'
-// CHECK-2-NEXT:   <DefLocation abbrevid=6 op0=38 op1=4/> blob data = '{{.*}}'
-// CHECK-2-NEXT:   <TagType abbrevid=8 op0=3/>
+// CHECK-2-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'C'
+// CHECK-2-NEXT:   <DefLocation abbrevid=6 op0=21 op1=4/> blob data = '{{.*}}'
+// CHECK-2-NEXT:   <MemberTypeBlock NumWords=8 BlockCodeSize=4>
+// CHECK-2-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
+// CHECK-2-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
+// CHECK-2-NEXT:       <Field abbrevid=7 op0=4/>
+// CHECK-2-NEXT:     </ReferenceBlock>
+// CHECK-2-NEXT:     <Name abbrevid=4 op0=1/> blob data = 'i'
+// CHECK-2-NEXT:     <Access abbrevid=5 op0=3/>
+// CHECK-2-NEXT:   </MemberTypeBlock>
 // CHECK-2-NEXT: </RecordBlock>
 
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/06B5F6A19BA9F6A832E127C9968282B94619B210.bc | FileCheck %s --check-prefix CHECK-3
+// RUN: llvm-bcanalyzer --dump %t/docs/bc/641AB4A3D36399954ACDE29C7A8833032BF40472.bc | FileCheck %s --check-prefix CHECK-3
 // CHECK-3: <BLOCKINFO_BLOCK/>
 // CHECK-3-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
 // CHECK-3-NEXT:   <Version abbrevid=4 op0=2/>
 // CHECK-3-NEXT: </VersionBlock>
-// CHECK-3-NEXT: <RecordBlock NumWords=22 BlockCodeSize=4>
+// CHECK-3-NEXT: <RecordBlock NumWords=24 BlockCodeSize=4>
 // CHECK-3-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-3-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'C'
-// CHECK-3-NEXT:   <DefLocation abbrevid=6 op0=21 op1=4/> blob data = '{{.*}}'
-// CHECK-3-NEXT:   <MemberTypeBlock NumWords=8 BlockCodeSize=4>
-// CHECK-3-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-3-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-3-NEXT:       <Field abbrevid=7 op0=4/>
-// CHECK-3-NEXT:     </ReferenceBlock>
-// CHECK-3-NEXT:     <Name abbrevid=4 op0=1/> blob data = 'i'
-// CHECK-3-NEXT:     <Access abbrevid=5 op0=3/>
-// CHECK-3-NEXT:   </MemberTypeBlock>
+// CHECK-3-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'Y'
+// CHECK-3-NEXT:   <ReferenceBlock NumWords=10 BlockCodeSize=4>
+// CHECK-3-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
+// CHECK-3-NEXT:     <Name abbrevid=5 op0=1/> blob data = 'X'
+// CHECK-3-NEXT:     <RefType abbrevid=6 op0=2/>
+// CHECK-3-NEXT:     <Field abbrevid=7 op0=1/>
+// CHECK-3-NEXT:   </ReferenceBlock>
+// CHECK-3-NEXT:   <DefLocation abbrevid=6 op0=39 op1=4/> blob data = '{{.*}}'
+// CHECK-3-NEXT:   <TagType abbrevid=8 op0=3/>
 // CHECK-3-NEXT: </RecordBlock>
 
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/641AB4A3D36399954ACDE29C7A8833032BF40472.bc | FileCheck %s --check-prefix CHECK-4
+// RUN: llvm-bcanalyzer --dump %t/docs/bc/0000000000000000000000000000000000000000.bc | FileCheck %s --check-prefix CHECK-4
 // CHECK-4: <BLOCKINFO_BLOCK/>
 // CHECK-4-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
 // CHECK-4-NEXT:   <Version abbrevid=4 op0=2/>
 // CHECK-4-NEXT: </VersionBlock>
-// CHECK-4-NEXT: <RecordBlock NumWords=24 BlockCodeSize=4>
-// CHECK-4-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-4-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'Y'
-// CHECK-4-NEXT:   <ReferenceBlock NumWords=10 BlockCodeSize=4>
+// CHECK-4-NEXT: <NamespaceBlock NumWords=59 BlockCodeSize=4>
+// CHECK-4-NEXT:   <FunctionBlock NumWords=20 BlockCodeSize=4>
 // CHECK-4-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-4-NEXT:     <Name abbrevid=5 op0=1/> blob data = 'X'
-// CHECK-4-NEXT:     <RefType abbrevid=6 op0=2/>
-// CHECK-4-NEXT:     <Field abbrevid=7 op0=1/>
-// CHECK-4-NEXT:   </ReferenceBlock>
-// CHECK-4-NEXT:   <DefLocation abbrevid=6 op0=39 op1=4/> blob data = '{{.*}}'
-// CHECK-4-NEXT:   <TagType abbrevid=8 op0=3/>
-// CHECK-4-NEXT: </RecordBlock>
+// CHECK-4-NEXT:     <Name abbrevid=5 op0=1/> blob data = 'H'
+// CHECK-4-NEXT:     <DefLocation abbrevid=6 op0=11 op1=4/> blob data = '{{.*}}'
+// CHECK-4-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
+// CHECK-4-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
+// CHECK-4-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
+// CHECK-4-NEXT:         <Field abbrevid=7 op0=4/>
+// CHECK-4-NEXT:       </ReferenceBlock>
+// CHECK-4-NEXT:     </TypeBlock>
+// CHECK-4-NEXT:   </FunctionBlock>
+// CHECK-4-NEXT:   <EnumBlock NumWords=16 BlockCodeSize=4>
+// CHECK-4-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
+// CHECK-4-NEXT:     <Name abbrevid=5 op0=1/> blob data = 'B'
+// CHECK-4-NEXT:     <DefLocation abbrevid=6 op0=17 op1=4/> blob data = '{{.*}}'
+// CHECK-4-NEXT:     <Member abbrevid=8 op0=1/> blob data = 'X'
+// CHECK-4-NEXT:     <Member abbrevid=8 op0=1/> blob data = 'Y'
+// CHECK-4-NEXT:   </EnumBlock>
+// CHECK-4-NEXT:   <EnumBlock NumWords=16 BlockCodeSize=4>
+// CHECK-4-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
+// CHECK-4-NEXT:     <Name abbrevid=5 op0=2/> blob data = 'Bc'
+// CHECK-4-NEXT:     <DefLocation abbrevid=6 op0=19 op1=4/> blob data = '{{.*}}'
+// CHECK-4-NEXT:     <Scoped abbrevid=9 op0=1/>
+// CHECK-4-NEXT:     <Member abbrevid=8 op0=1/> blob data = 'A'
+// CHECK-4-NEXT:     <Member abbrevid=8 op0=1/> blob data = 'B'
+// CHECK-4-NEXT:   </EnumBlock>
+// CHECK-4-NEXT: </NamespaceBlock>
 
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/0000000000000000000000000000000000000000.bc | FileCheck %s --check-prefix CHECK-5
+// RUN: llvm-bcanalyzer --dump %t/docs/bc/0921737541208B8FA9BB42B60F78AC1D779AA054.bc | FileCheck %s --check-prefix CHECK-5
 // CHECK-5: <BLOCKINFO_BLOCK/>
 // CHECK-5-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
 // CHECK-5-NEXT:   <Version abbrevid=4 op0=2/>
 // CHECK-5-NEXT: </VersionBlock>
-// CHECK-5-NEXT: <NamespaceBlock NumWords=59 BlockCodeSize=4>
-// CHECK-5-NEXT:   <FunctionBlock NumWords=20 BlockCodeSize=4>
-// CHECK-5-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-5-NEXT:     <Name abbrevid=5 op0=1/> blob data = 'H'
-// CHECK-5-NEXT:     <DefLocation abbrevid=6 op0=11 op1=4/> blob data = '{{.*}}'
-// CHECK-5-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
-// CHECK-5-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-5-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
-// CHECK-5-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-5-NEXT:       </ReferenceBlock>
-// CHECK-5-NEXT:     </TypeBlock>
-// CHECK-5-NEXT:   </FunctionBlock>
-// CHECK-5-NEXT:   <EnumBlock NumWords=16 BlockCodeSize=4>
-// CHECK-5-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-5-NEXT:     <Name abbrevid=5 op0=1/> blob data = 'B'
-// CHECK-5-NEXT:     <DefLocation abbrevid=6 op0=17 op1=4/> blob data = '{{.*}}'
-// CHECK-5-NEXT:     <Member abbrevid=8 op0=1/> blob data = 'X'
-// CHECK-5-NEXT:     <Member abbrevid=8 op0=1/> blob data = 'Y'
-// CHECK-5-NEXT:   </EnumBlock>
-// CHECK-5-NEXT:   <EnumBlock NumWords=16 BlockCodeSize=4>
-// CHECK-5-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-5-NEXT:     <Name abbrevid=5 op0=2/> blob data = 'Bc'
-// CHECK-5-NEXT:     <DefLocation abbrevid=6 op0=19 op1=4/> blob data = '{{.*}}'
-// CHECK-5-NEXT:     <Scoped abbrevid=9 op0=1/>
-// CHECK-5-NEXT:     <Member abbrevid=8 op0=1/> blob data = 'A'
-// CHECK-5-NEXT:     <Member abbrevid=8 op0=1/> blob data = 'B'
-// CHECK-5-NEXT:   </EnumBlock>
-// CHECK-5-NEXT: </NamespaceBlock>
+// CHECK-5-NEXT: <RecordBlock NumWords=12 BlockCodeSize=4>
+// CHECK-5-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
+// CHECK-5-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'D'
+// CHECK-5-NEXT:   <DefLocation abbrevid=6 op0=23 op1=4/> blob data = '{{.*}}'
+// CHECK-5-NEXT:   <TagType abbrevid=8 op0=3/>
+// CHECK-5-NEXT: </RecordBlock>
 
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/0921737541208B8FA9BB42B60F78AC1D779AA054.bc | FileCheck %s --check-prefix CHECK-6
+// RUN: llvm-bcanalyzer --dump %t/docs/bc/E3B54702FABFF4037025BA194FC27C47006330B5.bc | FileCheck %s --check-prefix CHECK-6
 // CHECK-6: <BLOCKINFO_BLOCK/>
 // CHECK-6-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
 // CHECK-6-NEXT:   <Version abbrevid=4 op0=2/>
 // CHECK-6-NEXT: </VersionBlock>
-// CHECK-6-NEXT: <RecordBlock NumWords=12 BlockCodeSize=4>
+// CHECK-6-NEXT: <RecordBlock NumWords=37 BlockCodeSize=4>
 // CHECK-6-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-6-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'D'
-// CHECK-6-NEXT:   <DefLocation abbrevid=6 op0=23 op1=4/> blob data = '{{.*}}'
+// CHECK-6-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'F'
+// CHECK-6-NEXT:   <DefLocation abbrevid=6 op0=36 op1=4/> blob data = '{{.*}}'
 // CHECK-6-NEXT:   <TagType abbrevid=8 op0=3/>
+// CHECK-6-NEXT:   <ReferenceBlock NumWords=10 BlockCodeSize=4>
+// CHECK-6-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
+// CHECK-6-NEXT:     <Name abbrevid=5 op0=1/> blob data = 'E'
+// CHECK-6-NEXT:     <RefType abbrevid=6 op0=2/>
+// CHECK-6-NEXT:     <Field abbrevid=7 op0=2/>
+// CHECK-6-NEXT:   </ReferenceBlock>
+// CHECK-6-NEXT:   <ReferenceBlock NumWords=10 BlockCodeSize=4>
+// CHECK-6-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
+// CHECK-6-NEXT:     <Name abbrevid=5 op0=1/> blob data = 'D'
+// CHECK-6-NEXT:     <RefType abbrevid=6 op0=2/>
+// CHECK-6-NEXT:     <Field abbrevid=7 op0=3/>
+// CHECK-6-NEXT:   </ReferenceBlock>
 // CHECK-6-NEXT: </RecordBlock>
 
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/E3B54702FABFF4037025BA194FC27C47006330B5.bc | FileCheck %s --check-prefix CHECK-7
+// RUN: llvm-bcanalyzer --dump %t/docs/bc/ACE81AFA6627B4CEF2B456FB6E1252925674AF7E.bc | FileCheck %s --check-prefix CHECK-7
 // CHECK-7: <BLOCKINFO_BLOCK/>
 // CHECK-7-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
 // CHECK-7-NEXT:   <Version abbrevid=4 op0=2/>
 // CHECK-7-NEXT: </VersionBlock>
-// CHECK-7-NEXT: <RecordBlock NumWords=37 BlockCodeSize=4>
+// CHECK-7-NEXT: <RecordBlock NumWords=33 BlockCodeSize=4>
 // CHECK-7-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-7-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'F'
-// CHECK-7-NEXT:   <DefLocation abbrevid=6 op0=36 op1=4/> blob data = '{{.*}}'
-// CHECK-7-NEXT:   <TagType abbrevid=8 op0=3/>
-// CHECK-7-NEXT:   <ReferenceBlock NumWords=10 BlockCodeSize=4>
-// CHECK-7-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-7-NEXT:     <Name abbrevid=5 op0=1/> blob data = 'E'
-// CHECK-7-NEXT:     <RefType abbrevid=6 op0=2/>
-// CHECK-7-NEXT:     <Field abbrevid=7 op0=2/>
-// CHECK-7-NEXT:   </ReferenceBlock>
-// CHECK-7-NEXT:   <ReferenceBlock NumWords=10 BlockCodeSize=4>
-// CHECK-7-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-7-NEXT:     <Name abbrevid=5 op0=1/> blob data = 'D'
-// CHECK-7-NEXT:     <RefType abbrevid=6 op0=2/>
-// CHECK-7-NEXT:     <Field abbrevid=7 op0=3/>
-// CHECK-7-NEXT:   </ReferenceBlock>
+// CHECK-7-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'A'
+// CHECK-7-NEXT:   <DefLocation abbrevid=6 op0=15 op1=4/> blob data = '{{.*}}'
+// CHECK-7-NEXT:   <TagType abbrevid=8 op0=2/>
+// CHECK-7-NEXT:   <MemberTypeBlock NumWords=8 BlockCodeSize=4>
+// CHECK-7-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
+// CHECK-7-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
+// CHECK-7-NEXT:       <Field abbrevid=7 op0=4/>
+// CHECK-7-NEXT:     </ReferenceBlock>
+// CHECK-7-NEXT:     <Name abbrevid=4 op0=1/> blob data = 'X'
+// CHECK-7-NEXT:     <Access abbrevid=5 op0=3/>
+// CHECK-7-NEXT:   </MemberTypeBlock>
+// CHECK-7-NEXT:   <MemberTypeBlock NumWords=8 BlockCodeSize=4>
+// CHECK-7-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
+// CHECK-7-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
+// CHECK-7-NEXT:       <Field abbrevid=7 op0=4/>
+// CHECK-7-NEXT:     </ReferenceBlock>
+// CHECK-7-NEXT:     <Name abbrevid=4 op0=1/> blob data = 'Y'
+// CHECK-7-NEXT:     <Access abbrevid=5 op0=3/>
+// CHECK-7-NEXT:   </MemberTypeBlock>
 // CHECK-7-NEXT: </RecordBlock>
-
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/ACE81AFA6627B4CEF2B456FB6E1252925674AF7E.bc | FileCheck %s --check-prefix CHECK-8
-// CHECK-8: <BLOCKINFO_BLOCK/>
-// CHECK-8-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
-// CHECK-8-NEXT:   <Version abbrevid=4 op0=2/>
-// CHECK-8-NEXT: </VersionBlock>
-// CHECK-8-NEXT: <RecordBlock NumWords=33 BlockCodeSize=4>
-// CHECK-8-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-8-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'A'
-// CHECK-8-NEXT:   <DefLocation abbrevid=6 op0=15 op1=4/> blob data = '{{.*}}'
-// CHECK-8-NEXT:   <TagType abbrevid=8 op0=2/>
-// CHECK-8-NEXT:   <MemberTypeBlock NumWords=8 BlockCodeSize=4>
-// CHECK-8-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-8-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-8-NEXT:       <Field abbrevid=7 op0=4/>
-// CHECK-8-NEXT:     </ReferenceBlock>
-// CHECK-8-NEXT:     <Name abbrevid=4 op0=1/> blob data = 'X'
-// CHECK-8-NEXT:     <Access abbrevid=5 op0=3/>
-// CHECK-8-NEXT:   </MemberTypeBlock>
-// CHECK-8-NEXT:   <MemberTypeBlock NumWords=8 BlockCodeSize=4>
-// CHECK-8-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-8-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-8-NEXT:       <Field abbrevid=7 op0=4/>
-// CHECK-8-NEXT:     </ReferenceBlock>
-// CHECK-8-NEXT:     <Name abbrevid=4 op0=1/> blob data = 'Y'
-// CHECK-8-NEXT:     <Access abbrevid=5 op0=3/>
-// CHECK-8-NEXT:   </MemberTypeBlock>
-// CHECK-8-NEXT: </RecordBlock>
index 5b4fe7d..8d6b238 100644 (file)
@@ -97,62 +97,56 @@ inline void anonInlineFunction();
 // RUN: clang-doc --dump-mapper --doxygen --extra-arg=-fmodules-ts -p %t %t/test.cpp -output=%t/docs
 
 
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/C9B3B71ACDD84C5BB320D34E97677715CDB3EA32.bc | FileCheck %s --check-prefix CHECK-0
+// RUN: llvm-bcanalyzer --dump %t/docs/bc/8960B5C9247D6F5C532756E53A1AD1240FA2146F.bc | FileCheck %s --check-prefix CHECK-0
 // CHECK-0: <BLOCKINFO_BLOCK/>
 // CHECK-0-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
 // CHECK-0-NEXT:   <Version abbrevid=4 op0=2/>
 // CHECK-0-NEXT: </VersionBlock>
-// CHECK-0-NEXT: <RecordBlock NumWords=79 BlockCodeSize=4>
+// CHECK-0-NEXT: <NamespaceBlock NumWords=45 BlockCodeSize=4>
 // CHECK-0-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-0-NEXT:   <FunctionBlock NumWords=71 BlockCodeSize=4>
+// CHECK-0-NEXT:   <FunctionBlock NumWords=37 BlockCodeSize=4>
 // CHECK-0-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-0-NEXT:     <Name abbrevid=5 op0=17/> blob data = 'innerPublicMethod'
-// CHECK-0-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
+// CHECK-0-NEXT:     <Name abbrevid=5 op0=19/> blob data = 'namedInlineFunction'
+// CHECK-0-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4>
 // CHECK-0-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-0-NEXT:       <Name abbrevid=5 op0=10/> blob data = 'InnerClass'
-// CHECK-0-NEXT:       <RefType abbrevid=6 op0=2/>
+// CHECK-0-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'named'
+// CHECK-0-NEXT:       <RefType abbrevid=6 op0=1/>
 // CHECK-0-NEXT:       <Field abbrevid=7 op0=1/>
 // CHECK-0-NEXT:     </ReferenceBlock>
-// CHECK-0-NEXT:     <ReferenceBlock NumWords=17 BlockCodeSize=4>
-// CHECK-0-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-0-NEXT:       <Name abbrevid=5 op0=29/> blob data = 'inlinedFunctionWithInnerClass'
-// CHECK-0-NEXT:       <RefType abbrevid=6 op0=3/>
-// CHECK-0-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-0-NEXT:     </ReferenceBlock>
-// CHECK-0-NEXT:     <IsMethod abbrevid=9 op0=1/>
-// CHECK-0-NEXT:     <DefLocation abbrevid=6 op0=26 op1=4/> blob data = '{{.*}}'
-// CHECK-0-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
-// CHECK-0-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-0-NEXT:       <Name abbrevid=5 op0=10/> blob data = 'InnerClass'
-// CHECK-0-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-0-NEXT:       <Field abbrevid=7 op0=2/>
-// CHECK-0-NEXT:     </ReferenceBlock>
+// CHECK-0-NEXT:     <Location abbrevid=7 op0=63 op1=4/> blob data = '{{.*}}'
 // CHECK-0-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
 // CHECK-0-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-0-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
+// CHECK-0-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
 // CHECK-0-NEXT:         <Field abbrevid=7 op0=4/>
 // CHECK-0-NEXT:       </ReferenceBlock>
 // CHECK-0-NEXT:     </TypeBlock>
 // CHECK-0-NEXT:   </FunctionBlock>
-// CHECK-0-NEXT: </RecordBlock>
+// CHECK-0-NEXT: </NamespaceBlock>
 
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/8960B5C9247D6F5C532756E53A1AD1240FA2146F.bc | FileCheck %s --check-prefix CHECK-1
+// RUN: llvm-bcanalyzer --dump %t/docs/bc/7CDD73DCD6CD72F7E5CE25502810A182C66C4B45.bc | FileCheck %s --check-prefix CHECK-1
 // CHECK-1: <BLOCKINFO_BLOCK/>
 // CHECK-1-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
 // CHECK-1-NEXT:   <Version abbrevid=4 op0=2/>
 // CHECK-1-NEXT: </VersionBlock>
-// CHECK-1-NEXT: <NamespaceBlock NumWords=45 BlockCodeSize=4>
+// CHECK-1-NEXT: <RecordBlock NumWords=57 BlockCodeSize=4>
 // CHECK-1-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-1-NEXT:   <FunctionBlock NumWords=37 BlockCodeSize=4>
+// CHECK-1-NEXT:   <FunctionBlock NumWords=49 BlockCodeSize=4>
 // CHECK-1-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-1-NEXT:     <Name abbrevid=5 op0=19/> blob data = 'namedInlineFunction'
+// CHECK-1-NEXT:     <Name abbrevid=5 op0=13/> blob data = 'privateMethod'
 // CHECK-1-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4>
 // CHECK-1-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-1-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'named'
-// CHECK-1-NEXT:       <RefType abbrevid=6 op0=1/>
+// CHECK-1-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'Class'
+// CHECK-1-NEXT:       <RefType abbrevid=6 op0=2/>
 // CHECK-1-NEXT:       <Field abbrevid=7 op0=1/>
 // CHECK-1-NEXT:     </ReferenceBlock>
-// CHECK-1-NEXT:     <Location abbrevid=7 op0=63 op1=4/> blob data = '{{.*}}'
+// CHECK-1-NEXT:     <IsMethod abbrevid=9 op0=1/>
+// CHECK-1-NEXT:     <Location abbrevid=7 op0=42 op1=4/> blob data = '{{.*}}'
+// CHECK-1-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4>
+// CHECK-1-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
+// CHECK-1-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'Class'
+// CHECK-1-NEXT:       <RefType abbrevid=6 op0=2/>
+// CHECK-1-NEXT:       <Field abbrevid=7 op0=2/>
+// CHECK-1-NEXT:     </ReferenceBlock>
 // CHECK-1-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
 // CHECK-1-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
 // CHECK-1-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
@@ -160,68 +154,61 @@ inline void anonInlineFunction();
 // CHECK-1-NEXT:       </ReferenceBlock>
 // CHECK-1-NEXT:     </TypeBlock>
 // CHECK-1-NEXT:   </FunctionBlock>
-// CHECK-1-NEXT: </NamespaceBlock>
+// CHECK-1-NEXT: </RecordBlock>
 
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/74A031CBE68C101F3E83F60ED17F20C11EC19D48.bc | FileCheck %s --check-prefix CHECK-2
+// RUN: llvm-bcanalyzer --dump %t/docs/bc/0000000000000000000000000000000000000000.bc | FileCheck %s --check-prefix CHECK-2
 // CHECK-2: <BLOCKINFO_BLOCK/>
 // CHECK-2-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
 // CHECK-2-NEXT:   <Version abbrevid=4 op0=2/>
 // CHECK-2-NEXT: </VersionBlock>
-// CHECK-2-NEXT: <RecordBlock NumWords=78 BlockCodeSize=4>
-// CHECK-2-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-2-NEXT:   <FunctionBlock NumWords=70 BlockCodeSize=4>
+// CHECK-2-NEXT: <NamespaceBlock NumWords=39 BlockCodeSize=4>
+// CHECK-2-NEXT:   <FunctionBlock NumWords=36 BlockCodeSize=4>
 // CHECK-2-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-2-NEXT:     <Name abbrevid=5 op0=17/> blob data = 'innerPublicMethod'
-// CHECK-2-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
-// CHECK-2-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-2-NEXT:       <Name abbrevid=5 op0=10/> blob data = 'InnerClass'
-// CHECK-2-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-2-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-2-NEXT:     </ReferenceBlock>
-// CHECK-2-NEXT:     <ReferenceBlock NumWords=16 BlockCodeSize=4>
-// CHECK-2-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-2-NEXT:       <Name abbrevid=5 op0=28/> blob data = 'staticFunctionWithInnerClass'
-// CHECK-2-NEXT:       <RefType abbrevid=6 op0=3/>
-// CHECK-2-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-2-NEXT:     </ReferenceBlock>
-// CHECK-2-NEXT:     <IsMethod abbrevid=9 op0=1/>
-// CHECK-2-NEXT:     <DefLocation abbrevid=6 op0=71 op1=4/> blob data = '{{.*}}'
-// CHECK-2-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
-// CHECK-2-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-2-NEXT:       <Name abbrevid=5 op0=10/> blob data = 'InnerClass'
-// CHECK-2-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-2-NEXT:       <Field abbrevid=7 op0=2/>
-// CHECK-2-NEXT:     </ReferenceBlock>
+// CHECK-2-NEXT:     <Name abbrevid=5 op0=28/> blob data = 'staticFunctionWithInnerClass'
+// CHECK-2-NEXT:     <DefLocation abbrevid=6 op0=68 op1=4/> blob data = '{{.*}}'
 // CHECK-2-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
 // CHECK-2-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
 // CHECK-2-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
 // CHECK-2-NEXT:         <Field abbrevid=7 op0=4/>
 // CHECK-2-NEXT:       </ReferenceBlock>
 // CHECK-2-NEXT:     </TypeBlock>
+// CHECK-2-NEXT:     <FieldTypeBlock NumWords=8 BlockCodeSize=4>
+// CHECK-2-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
+// CHECK-2-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
+// CHECK-2-NEXT:         <Field abbrevid=7 op0=4/>
+// CHECK-2-NEXT:       </ReferenceBlock>
+// CHECK-2-NEXT:       <Name abbrevid=4 op0=1/> blob data = 'x'
+// CHECK-2-NEXT:     </FieldTypeBlock>
 // CHECK-2-NEXT:   </FunctionBlock>
-// CHECK-2-NEXT: </RecordBlock>
+// CHECK-2-NEXT: </NamespaceBlock>
 
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/7CDD73DCD6CD72F7E5CE25502810A182C66C4B45.bc | FileCheck %s --check-prefix CHECK-3
+// RUN: llvm-bcanalyzer --dump %t/docs/bc/4712C5FA37B298A25501D1033C619B65B0ECC449.bc | FileCheck %s --check-prefix CHECK-3
 // CHECK-3: <BLOCKINFO_BLOCK/>
 // CHECK-3-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
 // CHECK-3-NEXT:   <Version abbrevid=4 op0=2/>
 // CHECK-3-NEXT: </VersionBlock>
-// CHECK-3-NEXT: <RecordBlock NumWords=57 BlockCodeSize=4>
+// CHECK-3-NEXT: <RecordBlock NumWords=73 BlockCodeSize=4>
 // CHECK-3-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-3-NEXT:   <FunctionBlock NumWords=49 BlockCodeSize=4>
+// CHECK-3-NEXT:   <FunctionBlock NumWords=65 BlockCodeSize=4>
 // CHECK-3-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-3-NEXT:     <Name abbrevid=5 op0=13/> blob data = 'privateMethod'
-// CHECK-3-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4>
+// CHECK-3-NEXT:     <Name abbrevid=5 op0=18/> blob data = 'namedPrivateMethod'
+// CHECK-3-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
 // CHECK-3-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-3-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'Class'
+// CHECK-3-NEXT:       <Name abbrevid=5 op0=10/> blob data = 'NamedClass'
 // CHECK-3-NEXT:       <RefType abbrevid=6 op0=2/>
 // CHECK-3-NEXT:       <Field abbrevid=7 op0=1/>
 // CHECK-3-NEXT:     </ReferenceBlock>
-// CHECK-3-NEXT:     <IsMethod abbrevid=9 op0=1/>
-// CHECK-3-NEXT:     <Location abbrevid=7 op0=42 op1=4/> blob data = '{{.*}}'
 // CHECK-3-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4>
 // CHECK-3-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-3-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'Class'
+// CHECK-3-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'named'
+// CHECK-3-NEXT:       <RefType abbrevid=6 op0=1/>
+// CHECK-3-NEXT:       <Field abbrevid=7 op0=1/>
+// CHECK-3-NEXT:     </ReferenceBlock>
+// CHECK-3-NEXT:     <IsMethod abbrevid=9 op0=1/>
+// CHECK-3-NEXT:     <Location abbrevid=7 op0=57 op1=4/> blob data = '{{.*}}'
+// CHECK-3-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
+// CHECK-3-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
+// CHECK-3-NEXT:       <Name abbrevid=5 op0=10/> blob data = 'NamedClass'
 // CHECK-3-NEXT:       <RefType abbrevid=6 op0=2/>
 // CHECK-3-NEXT:       <Field abbrevid=7 op0=2/>
 // CHECK-3-NEXT:     </ReferenceBlock>
@@ -234,169 +221,65 @@ inline void anonInlineFunction();
 // CHECK-3-NEXT:   </FunctionBlock>
 // CHECK-3-NEXT: </RecordBlock>
 
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/85427901413EC77C961019EBB3ADEF7B0BAAFE78.bc | FileCheck %s --check-prefix CHECK-4
+// RUN: llvm-bcanalyzer --dump %t/docs/bc/6E8FB72A89761E77020BFCEE9A9A6E64B15CC2A9.bc | FileCheck %s --check-prefix CHECK-4
 // CHECK-4: <BLOCKINFO_BLOCK/>
 // CHECK-4-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
 // CHECK-4-NEXT:   <Version abbrevid=4 op0=2/>
 // CHECK-4-NEXT: </VersionBlock>
-// CHECK-4-NEXT: <RecordBlock NumWords=77 BlockCodeSize=4>
+// CHECK-4-NEXT: <RecordBlock NumWords=69 BlockCodeSize=4>
 // CHECK-4-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-4-NEXT:   <FunctionBlock NumWords=69 BlockCodeSize=4>
+// CHECK-4-NEXT:   <FunctionBlock NumWords=61 BlockCodeSize=4>
 // CHECK-4-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-4-NEXT:     <Name abbrevid=5 op0=17/> blob data = 'innerPublicMethod'
+// CHECK-4-NEXT:     <Name abbrevid=5 op0=17/> blob data = 'anonPrivateMethod'
 // CHECK-4-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
 // CHECK-4-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-4-NEXT:       <Name abbrevid=5 op0=10/> blob data = 'InnerClass'
+// CHECK-4-NEXT:       <Name abbrevid=5 op0=9/> blob data = 'AnonClass'
 // CHECK-4-NEXT:       <RefType abbrevid=6 op0=2/>
 // CHECK-4-NEXT:       <Field abbrevid=7 op0=1/>
 // CHECK-4-NEXT:     </ReferenceBlock>
-// CHECK-4-NEXT:     <ReferenceBlock NumWords=15 BlockCodeSize=4>
+// CHECK-4-NEXT:     <ReferenceBlock NumWords=7 BlockCodeSize=4>
 // CHECK-4-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-4-NEXT:       <Name abbrevid=5 op0=22/> blob data = 'functionWithInnerClass'
-// CHECK-4-NEXT:       <RefType abbrevid=6 op0=3/>
+// CHECK-4-NEXT:       <RefType abbrevid=6 op0=1/>
 // CHECK-4-NEXT:       <Field abbrevid=7 op0=1/>
 // CHECK-4-NEXT:     </ReferenceBlock>
 // CHECK-4-NEXT:     <IsMethod abbrevid=9 op0=1/>
-// CHECK-4-NEXT:     <DefLocation abbrevid=6 op0=17 op1=4/> blob data = '{{.*}}'
+// CHECK-4-NEXT:     <Location abbrevid=7 op0=88 op1=4/> blob data = '{{.*}}'
 // CHECK-4-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
 // CHECK-4-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-4-NEXT:       <Name abbrevid=5 op0=10/> blob data = 'InnerClass'
+// CHECK-4-NEXT:       <Name abbrevid=5 op0=9/> blob data = 'AnonClass'
 // CHECK-4-NEXT:       <RefType abbrevid=6 op0=2/>
 // CHECK-4-NEXT:       <Field abbrevid=7 op0=2/>
 // CHECK-4-NEXT:     </ReferenceBlock>
 // CHECK-4-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
 // CHECK-4-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-4-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
+// CHECK-4-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
 // CHECK-4-NEXT:         <Field abbrevid=7 op0=4/>
 // CHECK-4-NEXT:       </ReferenceBlock>
 // CHECK-4-NEXT:     </TypeBlock>
 // CHECK-4-NEXT:   </FunctionBlock>
 // CHECK-4-NEXT: </RecordBlock>
 
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/0000000000000000000000000000000000000000.bc | FileCheck %s --check-prefix CHECK-5
+// RUN: llvm-bcanalyzer --dump %t/docs/bc/83CC52D32583E0771710A7742DE81C839E953AC8.bc | FileCheck %s --check-prefix CHECK-5
 // CHECK-5: <BLOCKINFO_BLOCK/>
 // CHECK-5-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
 // CHECK-5-NEXT:   <Version abbrevid=4 op0=2/>
 // CHECK-5-NEXT: </VersionBlock>
-// CHECK-5-NEXT: <NamespaceBlock NumWords=39 BlockCodeSize=4>
-// CHECK-5-NEXT:   <FunctionBlock NumWords=36 BlockCodeSize=4>
+// CHECK-5-NEXT: <NamespaceBlock NumWords=41 BlockCodeSize=4>
+// CHECK-5-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
+// CHECK-5-NEXT:   <FunctionBlock NumWords=33 BlockCodeSize=4>
 // CHECK-5-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-5-NEXT:     <Name abbrevid=5 op0=28/> blob data = 'staticFunctionWithInnerClass'
-// CHECK-5-NEXT:     <DefLocation abbrevid=6 op0=68 op1=4/> blob data = '{{.*}}'
+// CHECK-5-NEXT:     <Name abbrevid=5 op0=18/> blob data = 'anonInlineFunction'
+// CHECK-5-NEXT:     <ReferenceBlock NumWords=7 BlockCodeSize=4>
+// CHECK-5-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
+// CHECK-5-NEXT:       <RefType abbrevid=6 op0=1/>
+// CHECK-5-NEXT:       <Field abbrevid=7 op0=1/>
+// CHECK-5-NEXT:     </ReferenceBlock>
+// CHECK-5-NEXT:     <Location abbrevid=7 op0=94 op1=4/> blob data = '{{.*}}'
 // CHECK-5-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
 // CHECK-5-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-5-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
+// CHECK-5-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
 // CHECK-5-NEXT:         <Field abbrevid=7 op0=4/>
 // CHECK-5-NEXT:       </ReferenceBlock>
 // CHECK-5-NEXT:     </TypeBlock>
-// CHECK-5-NEXT:     <FieldTypeBlock NumWords=8 BlockCodeSize=4>
-// CHECK-5-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-5-NEXT:         <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-5-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-5-NEXT:       </ReferenceBlock>
-// CHECK-5-NEXT:       <Name abbrevid=4 op0=1/> blob data = 'x'
-// CHECK-5-NEXT:     </FieldTypeBlock>
 // CHECK-5-NEXT:   </FunctionBlock>
 // CHECK-5-NEXT: </NamespaceBlock>
-
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/4712C5FA37B298A25501D1033C619B65B0ECC449.bc | FileCheck %s --check-prefix CHECK-6
-// CHECK-6: <BLOCKINFO_BLOCK/>
-// CHECK-6-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
-// CHECK-6-NEXT:   <Version abbrevid=4 op0=2/>
-// CHECK-6-NEXT: </VersionBlock>
-// CHECK-6-NEXT: <RecordBlock NumWords=73 BlockCodeSize=4>
-// CHECK-6-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-6-NEXT:   <FunctionBlock NumWords=65 BlockCodeSize=4>
-// CHECK-6-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-6-NEXT:     <Name abbrevid=5 op0=18/> blob data = 'namedPrivateMethod'
-// CHECK-6-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
-// CHECK-6-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-6-NEXT:       <Name abbrevid=5 op0=10/> blob data = 'NamedClass'
-// CHECK-6-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-6-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-6-NEXT:     </ReferenceBlock>
-// CHECK-6-NEXT:     <ReferenceBlock NumWords=11 BlockCodeSize=4>
-// CHECK-6-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-6-NEXT:       <Name abbrevid=5 op0=5/> blob data = 'named'
-// CHECK-6-NEXT:       <RefType abbrevid=6 op0=1/>
-// CHECK-6-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-6-NEXT:     </ReferenceBlock>
-// CHECK-6-NEXT:     <IsMethod abbrevid=9 op0=1/>
-// CHECK-6-NEXT:     <Location abbrevid=7 op0=57 op1=4/> blob data = '{{.*}}'
-// CHECK-6-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
-// CHECK-6-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-6-NEXT:       <Name abbrevid=5 op0=10/> blob data = 'NamedClass'
-// CHECK-6-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-6-NEXT:       <Field abbrevid=7 op0=2/>
-// CHECK-6-NEXT:     </ReferenceBlock>
-// CHECK-6-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
-// CHECK-6-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-6-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
-// CHECK-6-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-6-NEXT:       </ReferenceBlock>
-// CHECK-6-NEXT:     </TypeBlock>
-// CHECK-6-NEXT:   </FunctionBlock>
-// CHECK-6-NEXT: </RecordBlock>
-
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/6E8FB72A89761E77020BFCEE9A9A6E64B15CC2A9.bc | FileCheck %s --check-prefix CHECK-7
-// CHECK-7: <BLOCKINFO_BLOCK/>
-// CHECK-7-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
-// CHECK-7-NEXT:   <Version abbrevid=4 op0=2/>
-// CHECK-7-NEXT: </VersionBlock>
-// CHECK-7-NEXT: <RecordBlock NumWords=69 BlockCodeSize=4>
-// CHECK-7-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-7-NEXT:   <FunctionBlock NumWords=61 BlockCodeSize=4>
-// CHECK-7-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-7-NEXT:     <Name abbrevid=5 op0=17/> blob data = 'anonPrivateMethod'
-// CHECK-7-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
-// CHECK-7-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-7-NEXT:       <Name abbrevid=5 op0=9/> blob data = 'AnonClass'
-// CHECK-7-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-7-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-7-NEXT:     </ReferenceBlock>
-// CHECK-7-NEXT:     <ReferenceBlock NumWords=7 BlockCodeSize=4>
-// CHECK-7-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-7-NEXT:       <RefType abbrevid=6 op0=1/>
-// CHECK-7-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-7-NEXT:     </ReferenceBlock>
-// CHECK-7-NEXT:     <IsMethod abbrevid=9 op0=1/>
-// CHECK-7-NEXT:     <Location abbrevid=7 op0=88 op1=4/> blob data = '{{.*}}'
-// CHECK-7-NEXT:     <ReferenceBlock NumWords=12 BlockCodeSize=4>
-// CHECK-7-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-7-NEXT:       <Name abbrevid=5 op0=9/> blob data = 'AnonClass'
-// CHECK-7-NEXT:       <RefType abbrevid=6 op0=2/>
-// CHECK-7-NEXT:       <Field abbrevid=7 op0=2/>
-// CHECK-7-NEXT:     </ReferenceBlock>
-// CHECK-7-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
-// CHECK-7-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-7-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
-// CHECK-7-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-7-NEXT:       </ReferenceBlock>
-// CHECK-7-NEXT:     </TypeBlock>
-// CHECK-7-NEXT:   </FunctionBlock>
-// CHECK-7-NEXT: </RecordBlock>
-
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/83CC52D32583E0771710A7742DE81C839E953AC8.bc | FileCheck %s --check-prefix CHECK-8
-// CHECK-8: <BLOCKINFO_BLOCK/>
-// CHECK-8-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
-// CHECK-8-NEXT:   <Version abbrevid=4 op0=2/>
-// CHECK-8-NEXT: </VersionBlock>
-// CHECK-8-NEXT: <NamespaceBlock NumWords=41 BlockCodeSize=4>
-// CHECK-8-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-8-NEXT:   <FunctionBlock NumWords=33 BlockCodeSize=4>
-// CHECK-8-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-8-NEXT:     <Name abbrevid=5 op0=18/> blob data = 'anonInlineFunction'
-// CHECK-8-NEXT:     <ReferenceBlock NumWords=7 BlockCodeSize=4>
-// CHECK-8-NEXT:       <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-8-NEXT:       <RefType abbrevid=6 op0=1/>
-// CHECK-8-NEXT:       <Field abbrevid=7 op0=1/>
-// CHECK-8-NEXT:     </ReferenceBlock>
-// CHECK-8-NEXT:     <Location abbrevid=7 op0=94 op1=4/> blob data = '{{.*}}'
-// CHECK-8-NEXT:     <TypeBlock NumWords=6 BlockCodeSize=4>
-// CHECK-8-NEXT:       <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-8-NEXT:         <Name abbrevid=5 op0=4/> blob data = 'void'
-// CHECK-8-NEXT:         <Field abbrevid=7 op0=4/>
-// CHECK-8-NEXT:       </ReferenceBlock>
-// CHECK-8-NEXT:     </TypeBlock>
-// CHECK-8-NEXT:   </FunctionBlock>
-// CHECK-8-NEXT: </NamespaceBlock>
index dbabd8f..9f69921 100644 (file)
@@ -75,146 +75,128 @@ class X {
 // CHECK-0-NEXT:   </FunctionBlock>
 // CHECK-0-NEXT: </RecordBlock>
 
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/3FB542274573CAEAD54CEBFFCAEE3D77FB9713D8.bc | FileCheck %s --check-prefix CHECK-1
+// RUN: llvm-bcanalyzer --dump %t/docs/bc/CA7C7935730B5EACD25F080E9C83FA087CCDC75E.bc | FileCheck %s --check-prefix CHECK-1
 // CHECK-1: <BLOCKINFO_BLOCK/>
 // CHECK-1-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
 // CHECK-1-NEXT:   <Version abbrevid=4 op0=2/>
 // CHECK-1-NEXT: </VersionBlock>
-// CHECK-1-NEXT: <RecordBlock NumWords=24 BlockCodeSize=4>
+// CHECK-1-NEXT: <RecordBlock NumWords=12 BlockCodeSize=4>
 // CHECK-1-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-1-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'I'
-// CHECK-1-NEXT:   <ReferenceBlock NumWords=10 BlockCodeSize=4>
-// CHECK-1-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-1-NEXT:     <Name abbrevid=5 op0=1/> blob data = 'H'
-// CHECK-1-NEXT:     <RefType abbrevid=6 op0=3/>
-// CHECK-1-NEXT:     <Field abbrevid=7 op0=1/>
-// CHECK-1-NEXT:   </ReferenceBlock>
-// CHECK-1-NEXT:   <DefLocation abbrevid=6 op0=12 op1=4/> blob data = '{{.*}}'
+// CHECK-1-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'X'
+// CHECK-1-NEXT:   <DefLocation abbrevid=6 op0=38 op1=4/> blob data = '{{.*}}'
 // CHECK-1-NEXT:   <TagType abbrevid=8 op0=3/>
 // CHECK-1-NEXT: </RecordBlock>
 
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/CA7C7935730B5EACD25F080E9C83FA087CCDC75E.bc | FileCheck %s --check-prefix CHECK-2
+// RUN: llvm-bcanalyzer --dump %t/docs/bc/06B5F6A19BA9F6A832E127C9968282B94619B210.bc | FileCheck %s --check-prefix CHECK-2
 // CHECK-2: <BLOCKINFO_BLOCK/>
 // CHECK-2-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
 // CHECK-2-NEXT:   <Version abbrevid=4 op0=2/>
 // CHECK-2-NEXT: </VersionBlock>
-// CHECK-2-NEXT: <RecordBlock NumWords=12 BlockCodeSize=4>
+// CHECK-2-NEXT: <RecordBlock NumWords=22 BlockCodeSize=4>
 // CHECK-2-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-2-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'X'
-// CHECK-2-NEXT:   <DefLocation abbrevid=6 op0=38 op1=4/> blob data = '{{.*}}'
-// CHECK-2-NEXT:   <TagType abbrevid=8 op0=3/>
+// CHECK-2-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'C'
+// CHECK-2-NEXT:   <DefLocation abbrevid=6 op0=21 op1=4/> blob data = '{{.*}}'
+// CHECK-2-NEXT:   <MemberTypeBlock NumWords=8 BlockCodeSize=4>
+// CHECK-2-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
+// CHECK-2-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
+// CHECK-2-NEXT:       <Field abbrevid=7 op0=4/>
+// CHECK-2-NEXT:     </ReferenceBlock>
+// CHECK-2-NEXT:     <Name abbrevid=4 op0=1/> blob data = 'i'
+// CHECK-2-NEXT:   </MemberTypeBlock>
 // CHECK-2-NEXT: </RecordBlock>
 
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/06B5F6A19BA9F6A832E127C9968282B94619B210.bc | FileCheck %s --check-prefix CHECK-3
+// RUN: llvm-bcanalyzer --dump %t/docs/bc/641AB4A3D36399954ACDE29C7A8833032BF40472.bc | FileCheck %s --check-prefix CHECK-3
 // CHECK-3: <BLOCKINFO_BLOCK/>
 // CHECK-3-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
 // CHECK-3-NEXT:   <Version abbrevid=4 op0=2/>
 // CHECK-3-NEXT: </VersionBlock>
-// CHECK-3-NEXT: <RecordBlock NumWords=22 BlockCodeSize=4>
+// CHECK-3-NEXT: <RecordBlock NumWords=24 BlockCodeSize=4>
 // CHECK-3-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-3-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'C'
-// CHECK-3-NEXT:   <DefLocation abbrevid=6 op0=21 op1=4/> blob data = '{{.*}}'
-// CHECK-3-NEXT:   <MemberTypeBlock NumWords=8 BlockCodeSize=4>
-// CHECK-3-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-3-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-3-NEXT:       <Field abbrevid=7 op0=4/>
-// CHECK-3-NEXT:     </ReferenceBlock>
-// CHECK-3-NEXT:     <Name abbrevid=4 op0=1/> blob data = 'i'
-// CHECK-3-NEXT:   </MemberTypeBlock>
+// CHECK-3-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'Y'
+// CHECK-3-NEXT:   <ReferenceBlock NumWords=10 BlockCodeSize=4>
+// CHECK-3-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
+// CHECK-3-NEXT:     <Name abbrevid=5 op0=1/> blob data = 'X'
+// CHECK-3-NEXT:     <RefType abbrevid=6 op0=2/>
+// CHECK-3-NEXT:     <Field abbrevid=7 op0=1/>
+// CHECK-3-NEXT:   </ReferenceBlock>
+// CHECK-3-NEXT:   <DefLocation abbrevid=6 op0=39 op1=4/> blob data = '{{.*}}'
+// CHECK-3-NEXT:   <TagType abbrevid=8 op0=3/>
 // CHECK-3-NEXT: </RecordBlock>
 
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/641AB4A3D36399954ACDE29C7A8833032BF40472.bc | FileCheck %s --check-prefix CHECK-4
+// RUN: llvm-bcanalyzer --dump %t/docs/bc/0000000000000000000000000000000000000000.bc | FileCheck %s --check-prefix CHECK-4
 // CHECK-4: <BLOCKINFO_BLOCK/>
 // CHECK-4-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
 // CHECK-4-NEXT:   <Version abbrevid=4 op0=2/>
 // CHECK-4-NEXT: </VersionBlock>
-// CHECK-4-NEXT: <RecordBlock NumWords=24 BlockCodeSize=4>
-// CHECK-4-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-4-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'Y'
-// CHECK-4-NEXT:   <ReferenceBlock NumWords=10 BlockCodeSize=4>
+// CHECK-4-NEXT: <NamespaceBlock NumWords=19 BlockCodeSize=4>
+// CHECK-4-NEXT:   <EnumBlock NumWords=16 BlockCodeSize=4>
 // CHECK-4-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-4-NEXT:     <Name abbrevid=5 op0=1/> blob data = 'X'
-// CHECK-4-NEXT:     <RefType abbrevid=6 op0=2/>
-// CHECK-4-NEXT:     <Field abbrevid=7 op0=1/>
-// CHECK-4-NEXT:   </ReferenceBlock>
-// CHECK-4-NEXT:   <DefLocation abbrevid=6 op0=39 op1=4/> blob data = '{{.*}}'
-// CHECK-4-NEXT:   <TagType abbrevid=8 op0=3/>
-// CHECK-4-NEXT: </RecordBlock>
-
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/0000000000000000000000000000000000000000.bc | FileCheck %s --check-prefix CHECK-5
+// CHECK-4-NEXT:     <Name abbrevid=5 op0=2/> blob data = 'Bc'
+// CHECK-4-NEXT:     <DefLocation abbrevid=6 op0=19 op1=4/> blob data = '{{.*}}'
+// CHECK-4-NEXT:     <Scoped abbrevid=9 op0=1/>
+// CHECK-4-NEXT:     <Member abbrevid=8 op0=1/> blob data = 'A'
+// CHECK-4-NEXT:     <Member abbrevid=8 op0=1/> blob data = 'B'
+// CHECK-4-NEXT:   </EnumBlock>
+// CHECK-4-NEXT: </NamespaceBlock>
+
+// RUN: llvm-bcanalyzer --dump %t/docs/bc/0921737541208B8FA9BB42B60F78AC1D779AA054.bc | FileCheck %s --check-prefix CHECK-5
 // CHECK-5: <BLOCKINFO_BLOCK/>
 // CHECK-5-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
 // CHECK-5-NEXT:   <Version abbrevid=4 op0=2/>
 // CHECK-5-NEXT: </VersionBlock>
-// CHECK-5-NEXT: <NamespaceBlock NumWords=19 BlockCodeSize=4>
-// CHECK-5-NEXT:   <EnumBlock NumWords=16 BlockCodeSize=4>
-// CHECK-5-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-5-NEXT:     <Name abbrevid=5 op0=2/> blob data = 'Bc'
-// CHECK-5-NEXT:     <DefLocation abbrevid=6 op0=19 op1=4/> blob data = '{{.*}}'
-// CHECK-5-NEXT:     <Scoped abbrevid=9 op0=1/>
-// CHECK-5-NEXT:     <Member abbrevid=8 op0=1/> blob data = 'A'
-// CHECK-5-NEXT:     <Member abbrevid=8 op0=1/> blob data = 'B'
-// CHECK-5-NEXT:   </EnumBlock>
-// CHECK-5-NEXT: </NamespaceBlock>
-
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/0921737541208B8FA9BB42B60F78AC1D779AA054.bc | FileCheck %s --check-prefix CHECK-6
+// CHECK-5-NEXT: <RecordBlock NumWords=12 BlockCodeSize=4>
+// CHECK-5-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
+// CHECK-5-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'D'
+// CHECK-5-NEXT:   <DefLocation abbrevid=6 op0=23 op1=4/> blob data = '{{.*}}'
+// CHECK-5-NEXT:   <TagType abbrevid=8 op0=3/>
+// CHECK-5-NEXT: </RecordBlock>
+
+// RUN: llvm-bcanalyzer --dump %t/docs/bc/E3B54702FABFF4037025BA194FC27C47006330B5.bc | FileCheck %s --check-prefix CHECK-6
 // CHECK-6: <BLOCKINFO_BLOCK/>
 // CHECK-6-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
 // CHECK-6-NEXT:   <Version abbrevid=4 op0=2/>
 // CHECK-6-NEXT: </VersionBlock>
-// CHECK-6-NEXT: <RecordBlock NumWords=12 BlockCodeSize=4>
+// CHECK-6-NEXT: <RecordBlock NumWords=37 BlockCodeSize=4>
 // CHECK-6-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-6-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'D'
-// CHECK-6-NEXT:   <DefLocation abbrevid=6 op0=23 op1=4/> blob data = '{{.*}}'
+// CHECK-6-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'F'
+// CHECK-6-NEXT:   <DefLocation abbrevid=6 op0=36 op1=4/> blob data = '{{.*}}'
 // CHECK-6-NEXT:   <TagType abbrevid=8 op0=3/>
+// CHECK-6-NEXT:   <ReferenceBlock NumWords=10 BlockCodeSize=4>
+// CHECK-6-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
+// CHECK-6-NEXT:     <Name abbrevid=5 op0=1/> blob data = 'E'
+// CHECK-6-NEXT:     <RefType abbrevid=6 op0=2/>
+// CHECK-6-NEXT:     <Field abbrevid=7 op0=2/>
+// CHECK-6-NEXT:   </ReferenceBlock>
+// CHECK-6-NEXT:   <ReferenceBlock NumWords=10 BlockCodeSize=4>
+// CHECK-6-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
+// CHECK-6-NEXT:     <Name abbrevid=5 op0=1/> blob data = 'D'
+// CHECK-6-NEXT:     <RefType abbrevid=6 op0=2/>
+// CHECK-6-NEXT:     <Field abbrevid=7 op0=3/>
+// CHECK-6-NEXT:   </ReferenceBlock>
 // CHECK-6-NEXT: </RecordBlock>
 
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/E3B54702FABFF4037025BA194FC27C47006330B5.bc | FileCheck %s --check-prefix CHECK-7
+// RUN: llvm-bcanalyzer --dump %t/docs/bc/ACE81AFA6627B4CEF2B456FB6E1252925674AF7E.bc | FileCheck %s --check-prefix CHECK-7
 // CHECK-7: <BLOCKINFO_BLOCK/>
 // CHECK-7-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
 // CHECK-7-NEXT:   <Version abbrevid=4 op0=2/>
 // CHECK-7-NEXT: </VersionBlock>
-// CHECK-7-NEXT: <RecordBlock NumWords=37 BlockCodeSize=4>
+// CHECK-7-NEXT: <RecordBlock NumWords=33 BlockCodeSize=4>
 // CHECK-7-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-7-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'F'
-// CHECK-7-NEXT:   <DefLocation abbrevid=6 op0=36 op1=4/> blob data = '{{.*}}'
-// CHECK-7-NEXT:   <TagType abbrevid=8 op0=3/>
-// CHECK-7-NEXT:   <ReferenceBlock NumWords=10 BlockCodeSize=4>
-// CHECK-7-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-7-NEXT:     <Name abbrevid=5 op0=1/> blob data = 'E'
-// CHECK-7-NEXT:     <RefType abbrevid=6 op0=2/>
-// CHECK-7-NEXT:     <Field abbrevid=7 op0=2/>
-// CHECK-7-NEXT:   </ReferenceBlock>
-// CHECK-7-NEXT:   <ReferenceBlock NumWords=10 BlockCodeSize=4>
-// CHECK-7-NEXT:     <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-7-NEXT:     <Name abbrevid=5 op0=1/> blob data = 'D'
-// CHECK-7-NEXT:     <RefType abbrevid=6 op0=2/>
-// CHECK-7-NEXT:     <Field abbrevid=7 op0=3/>
-// CHECK-7-NEXT:   </ReferenceBlock>
+// CHECK-7-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'A'
+// CHECK-7-NEXT:   <DefLocation abbrevid=6 op0=15 op1=4/> blob data = '{{.*}}'
+// CHECK-7-NEXT:   <TagType abbrevid=8 op0=2/>
+// CHECK-7-NEXT:   <MemberTypeBlock NumWords=8 BlockCodeSize=4>
+// CHECK-7-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
+// CHECK-7-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
+// CHECK-7-NEXT:       <Field abbrevid=7 op0=4/>
+// CHECK-7-NEXT:     </ReferenceBlock>
+// CHECK-7-NEXT:     <Name abbrevid=4 op0=1/> blob data = 'X'
+// CHECK-7-NEXT:   </MemberTypeBlock>
+// CHECK-7-NEXT:   <MemberTypeBlock NumWords=8 BlockCodeSize=4>
+// CHECK-7-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
+// CHECK-7-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
+// CHECK-7-NEXT:       <Field abbrevid=7 op0=4/>
+// CHECK-7-NEXT:     </ReferenceBlock>
+// CHECK-7-NEXT:     <Name abbrevid=4 op0=1/> blob data = 'Y'
+// CHECK-7-NEXT:   </MemberTypeBlock>
 // CHECK-7-NEXT: </RecordBlock>
-
-// RUN: llvm-bcanalyzer --dump %t/docs/bc/ACE81AFA6627B4CEF2B456FB6E1252925674AF7E.bc | FileCheck %s --check-prefix CHECK-8
-// CHECK-8: <BLOCKINFO_BLOCK/>
-// CHECK-8-NEXT: <VersionBlock NumWords=1 BlockCodeSize=4>
-// CHECK-8-NEXT:   <Version abbrevid=4 op0=2/>
-// CHECK-8-NEXT: </VersionBlock>
-// CHECK-8-NEXT: <RecordBlock NumWords=33 BlockCodeSize=4>
-// CHECK-8-NEXT:   <USR abbrevid=4 op0=20 op1={{[0-9]+}} op2={{[0-9]+}} op3={{[0-9]+}} op4={{[0-9]+}} op5={{[0-9]+}} op6={{[0-9]+}} op7={{[0-9]+}} op8={{[0-9]+}} op9={{[0-9]+}} op10={{[0-9]+}} op11={{[0-9]+}} op12={{[0-9]+}} op13={{[0-9]+}} op14={{[0-9]+}} op15={{[0-9]+}} op16={{[0-9]+}} op17={{[0-9]+}} op18={{[0-9]+}} op19={{[0-9]+}} op20={{[0-9]+}}/>
-// CHECK-8-NEXT:   <Name abbrevid=5 op0=1/> blob data = 'A'
-// CHECK-8-NEXT:   <DefLocation abbrevid=6 op0=15 op1=4/> blob data = '{{.*}}'
-// CHECK-8-NEXT:   <TagType abbrevid=8 op0=2/>
-// CHECK-8-NEXT:   <MemberTypeBlock NumWords=8 BlockCodeSize=4>
-// CHECK-8-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-8-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-8-NEXT:       <Field abbrevid=7 op0=4/>
-// CHECK-8-NEXT:     </ReferenceBlock>
-// CHECK-8-NEXT:     <Name abbrevid=4 op0=1/> blob data = 'X'
-// CHECK-8-NEXT:   </MemberTypeBlock>
-// CHECK-8-NEXT:   <MemberTypeBlock NumWords=8 BlockCodeSize=4>
-// CHECK-8-NEXT:     <ReferenceBlock NumWords=3 BlockCodeSize=4>
-// CHECK-8-NEXT:       <Name abbrevid=5 op0=3/> blob data = 'int'
-// CHECK-8-NEXT:       <Field abbrevid=7 op0=4/>
-// CHECK-8-NEXT:     </ReferenceBlock>
-// CHECK-8-NEXT:     <Name abbrevid=4 op0=1/> blob data = 'Y'
-// CHECK-8-NEXT:   </MemberTypeBlock>
-// CHECK-8-NEXT: </RecordBlock>
index 3a0aa5b..fb7adcd 100644 (file)
@@ -336,194 +336,89 @@ inline void anonInlineFunction();
 // CHECK-3-NEXT:         Name:            'void'
 // CHECK-3-NEXT: ...
 
-// RUN: cat %t/docs/staticFunctionWithInnerClass/InnerClass.yaml | FileCheck %s --check-prefix CHECK-4
+// RUN: cat %t/docs/named/NamedClass.yaml | FileCheck %s --check-prefix CHECK-4
 // CHECK-4: ---
 // CHECK-4-NEXT: USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-4-NEXT: Name:            'InnerClass'
+// CHECK-4-NEXT: Name:            'NamedClass'
 // CHECK-4-NEXT: Namespace:       
-// CHECK-4-NEXT:   - Type:            Function
-// CHECK-4-NEXT:     Name:            'staticFunctionWithInnerClass'
+// CHECK-4-NEXT:   - Type:            Namespace
+// CHECK-4-NEXT:     Name:            'named'
 // CHECK-4-NEXT:     USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
 // CHECK-4-NEXT: DefLocation:     
-// CHECK-4-NEXT:   LineNumber:      69
+// CHECK-4-NEXT:   LineNumber:      47
 // CHECK-4-NEXT:   Filename:        'test'
 // CHECK-4-NEXT: TagType:         Class
+// CHECK-4-NEXT: Members:         
+// CHECK-4-NEXT:   - Type:            
+// CHECK-4-NEXT:       Name:            'int'
+// CHECK-4-NEXT:     Name:            'namedPublicField'
+// CHECK-4-NEXT:   - Type:            
+// CHECK-4-NEXT:       Name:            'int'
+// CHECK-4-NEXT:     Name:            'namedProtectedField'
+// CHECK-4-NEXT:     Access:          Protected
+// CHECK-4-NEXT:   - Type:            
+// CHECK-4-NEXT:       Name:            'int'
+// CHECK-4-NEXT:     Name:            'namedPrivateField'
+// CHECK-4-NEXT:     Access:          Private
 // CHECK-4-NEXT: ChildFunctions:  
 // CHECK-4-NEXT:   - USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-4-NEXT:     Name:            'innerPublicMethod'
+// CHECK-4-NEXT:     Name:            'namedPublicMethod'
 // CHECK-4-NEXT:     Namespace:       
 // CHECK-4-NEXT:       - Type:            Record
-// CHECK-4-NEXT:         Name:            'InnerClass'
+// CHECK-4-NEXT:         Name:            'NamedClass'
 // CHECK-4-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-4-NEXT:       - Type:            Function
-// CHECK-4-NEXT:         Name:            'staticFunctionWithInnerClass'
+// CHECK-4-NEXT:       - Type:            Namespace
+// CHECK-4-NEXT:         Name:            'named'
 // CHECK-4-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-4-NEXT:     DefLocation:     
-// CHECK-4-NEXT:       LineNumber:      71
-// CHECK-4-NEXT:       Filename:        'test'
+// CHECK-4-NEXT:     Location:        
+// CHECK-4-NEXT:       - LineNumber:      49
+// CHECK-4-NEXT:         Filename:        'test'
 // CHECK-4-NEXT:     IsMethod:        true
 // CHECK-4-NEXT:     Parent:          
 // CHECK-4-NEXT:       Type:            Record
-// CHECK-4-NEXT:       Name:            'InnerClass'
+// CHECK-4-NEXT:       Name:            'NamedClass'
 // CHECK-4-NEXT:       USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
 // CHECK-4-NEXT:     ReturnType:      
 // CHECK-4-NEXT:       Type:            
-// CHECK-4-NEXT:         Name:            'int'
+// CHECK-4-NEXT:         Name:            'void'
+// CHECK-4-NEXT:   - USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
+// CHECK-4-NEXT:     Name:            'namedProtectedMethod'
+// CHECK-4-NEXT:     Namespace:       
+// CHECK-4-NEXT:       - Type:            Record
+// CHECK-4-NEXT:         Name:            'NamedClass'
+// CHECK-4-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
+// CHECK-4-NEXT:       - Type:            Namespace
+// CHECK-4-NEXT:         Name:            'named'
+// CHECK-4-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
+// CHECK-4-NEXT:     Location:        
+// CHECK-4-NEXT:       - LineNumber:      53
+// CHECK-4-NEXT:         Filename:        'test'
+// CHECK-4-NEXT:     IsMethod:        true
+// CHECK-4-NEXT:     Parent:          
+// CHECK-4-NEXT:       Type:            Record
+// CHECK-4-NEXT:       Name:            'NamedClass'
+// CHECK-4-NEXT:       USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
+// CHECK-4-NEXT:     ReturnType:      
+// CHECK-4-NEXT:       Type:            
+// CHECK-4-NEXT:         Name:            'void'
+// CHECK-4-NEXT:   - USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
+// CHECK-4-NEXT:     Name:            'namedPrivateMethod'
+// CHECK-4-NEXT:     Namespace:       
+// CHECK-4-NEXT:       - Type:            Record
+// CHECK-4-NEXT:         Name:            'NamedClass'
+// CHECK-4-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
+// CHECK-4-NEXT:       - Type:            Namespace
+// CHECK-4-NEXT:         Name:            'named'
+// CHECK-4-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
+// CHECK-4-NEXT:     Location:        
+// CHECK-4-NEXT:       - LineNumber:      57
+// CHECK-4-NEXT:         Filename:        'test'
+// CHECK-4-NEXT:     IsMethod:        true
+// CHECK-4-NEXT:     Parent:          
+// CHECK-4-NEXT:       Type:            Record
+// CHECK-4-NEXT:       Name:            'NamedClass'
+// CHECK-4-NEXT:       USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
+// CHECK-4-NEXT:     ReturnType:      
+// CHECK-4-NEXT:       Type:            
+// CHECK-4-NEXT:         Name:            'void'
 // CHECK-4-NEXT: ...
-
-// RUN: cat %t/docs/named/NamedClass.yaml | FileCheck %s --check-prefix CHECK-5
-// CHECK-5: ---
-// CHECK-5-NEXT: USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-5-NEXT: Name:            'NamedClass'
-// CHECK-5-NEXT: Namespace:       
-// CHECK-5-NEXT:   - Type:            Namespace
-// CHECK-5-NEXT:     Name:            'named'
-// CHECK-5-NEXT:     USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-5-NEXT: DefLocation:     
-// CHECK-5-NEXT:   LineNumber:      47
-// CHECK-5-NEXT:   Filename:        'test'
-// CHECK-5-NEXT: TagType:         Class
-// CHECK-5-NEXT: Members:         
-// CHECK-5-NEXT:   - Type:            
-// CHECK-5-NEXT:       Name:            'int'
-// CHECK-5-NEXT:     Name:            'namedPublicField'
-// CHECK-5-NEXT:   - Type:            
-// CHECK-5-NEXT:       Name:            'int'
-// CHECK-5-NEXT:     Name:            'namedProtectedField'
-// CHECK-5-NEXT:     Access:          Protected
-// CHECK-5-NEXT:   - Type:            
-// CHECK-5-NEXT:       Name:            'int'
-// CHECK-5-NEXT:     Name:            'namedPrivateField'
-// CHECK-5-NEXT:     Access:          Private
-// CHECK-5-NEXT: ChildFunctions:  
-// CHECK-5-NEXT:   - USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-5-NEXT:     Name:            'namedPublicMethod'
-// CHECK-5-NEXT:     Namespace:       
-// CHECK-5-NEXT:       - Type:            Record
-// CHECK-5-NEXT:         Name:            'NamedClass'
-// CHECK-5-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-5-NEXT:       - Type:            Namespace
-// CHECK-5-NEXT:         Name:            'named'
-// CHECK-5-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-5-NEXT:     Location:        
-// CHECK-5-NEXT:       - LineNumber:      49
-// CHECK-5-NEXT:         Filename:        'test'
-// CHECK-5-NEXT:     IsMethod:        true
-// CHECK-5-NEXT:     Parent:          
-// CHECK-5-NEXT:       Type:            Record
-// CHECK-5-NEXT:       Name:            'NamedClass'
-// CHECK-5-NEXT:       USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-5-NEXT:     ReturnType:      
-// CHECK-5-NEXT:       Type:            
-// CHECK-5-NEXT:         Name:            'void'
-// CHECK-5-NEXT:   - USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-5-NEXT:     Name:            'namedProtectedMethod'
-// CHECK-5-NEXT:     Namespace:       
-// CHECK-5-NEXT:       - Type:            Record
-// CHECK-5-NEXT:         Name:            'NamedClass'
-// CHECK-5-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-5-NEXT:       - Type:            Namespace
-// CHECK-5-NEXT:         Name:            'named'
-// CHECK-5-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-5-NEXT:     Location:        
-// CHECK-5-NEXT:       - LineNumber:      53
-// CHECK-5-NEXT:         Filename:        'test'
-// CHECK-5-NEXT:     IsMethod:        true
-// CHECK-5-NEXT:     Parent:          
-// CHECK-5-NEXT:       Type:            Record
-// CHECK-5-NEXT:       Name:            'NamedClass'
-// CHECK-5-NEXT:       USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-5-NEXT:     ReturnType:      
-// CHECK-5-NEXT:       Type:            
-// CHECK-5-NEXT:         Name:            'void'
-// CHECK-5-NEXT:   - USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-5-NEXT:     Name:            'namedPrivateMethod'
-// CHECK-5-NEXT:     Namespace:       
-// CHECK-5-NEXT:       - Type:            Record
-// CHECK-5-NEXT:         Name:            'NamedClass'
-// CHECK-5-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-5-NEXT:       - Type:            Namespace
-// CHECK-5-NEXT:         Name:            'named'
-// CHECK-5-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-5-NEXT:     Location:        
-// CHECK-5-NEXT:       - LineNumber:      57
-// CHECK-5-NEXT:         Filename:        'test'
-// CHECK-5-NEXT:     IsMethod:        true
-// CHECK-5-NEXT:     Parent:          
-// CHECK-5-NEXT:       Type:            Record
-// CHECK-5-NEXT:       Name:            'NamedClass'
-// CHECK-5-NEXT:       USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-5-NEXT:     ReturnType:      
-// CHECK-5-NEXT:       Type:            
-// CHECK-5-NEXT:         Name:            'void'
-// CHECK-5-NEXT: ...
-
-// RUN: cat %t/docs/functionWithInnerClass/InnerClass.yaml | FileCheck %s --check-prefix CHECK-6
-// CHECK-6: ---
-// CHECK-6-NEXT: USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-6-NEXT: Name:            'InnerClass'
-// CHECK-6-NEXT: Namespace:       
-// CHECK-6-NEXT:   - Type:            Function
-// CHECK-6-NEXT:     Name:            'functionWithInnerClass'
-// CHECK-6-NEXT:     USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-6-NEXT: DefLocation:     
-// CHECK-6-NEXT:   LineNumber:      15
-// CHECK-6-NEXT:   Filename:        'test'
-// CHECK-6-NEXT: TagType:         Class
-// CHECK-6-NEXT: ChildFunctions:  
-// CHECK-6-NEXT:   - USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-6-NEXT:     Name:            'innerPublicMethod'
-// CHECK-6-NEXT:     Namespace:       
-// CHECK-6-NEXT:       - Type:            Record
-// CHECK-6-NEXT:         Name:            'InnerClass'
-// CHECK-6-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-6-NEXT:       - Type:            Function
-// CHECK-6-NEXT:         Name:            'functionWithInnerClass'
-// CHECK-6-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-6-NEXT:     DefLocation:     
-// CHECK-6-NEXT:       LineNumber:      17
-// CHECK-6-NEXT:       Filename:        'test'
-// CHECK-6-NEXT:     IsMethod:        true
-// CHECK-6-NEXT:     Parent:          
-// CHECK-6-NEXT:       Type:            Record
-// CHECK-6-NEXT:       Name:            'InnerClass'
-// CHECK-6-NEXT:       USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-6-NEXT:     ReturnType:      
-// CHECK-6-NEXT:       Type:            
-// CHECK-6-NEXT:         Name:            'int'
-// CHECK-6-NEXT: ...
-
-// RUN: cat %t/docs/inlinedFunctionWithInnerClass/InnerClass.yaml | FileCheck %s --check-prefix CHECK-7
-// CHECK-7: ---
-// CHECK-7-NEXT: USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-7-NEXT: Name:            'InnerClass'
-// CHECK-7-NEXT: Namespace:       
-// CHECK-7-NEXT:   - Type:            Function
-// CHECK-7-NEXT:     Name:            'inlinedFunctionWithInnerClass'
-// CHECK-7-NEXT:     USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-7-NEXT: DefLocation:     
-// CHECK-7-NEXT:   LineNumber:      24
-// CHECK-7-NEXT:   Filename:        'test'
-// CHECK-7-NEXT: TagType:         Class
-// CHECK-7-NEXT: ChildFunctions:  
-// CHECK-7-NEXT:   - USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-7-NEXT:     Name:            'innerPublicMethod'
-// CHECK-7-NEXT:     Namespace:       
-// CHECK-7-NEXT:       - Type:            Record
-// CHECK-7-NEXT:         Name:            'InnerClass'
-// CHECK-7-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-7-NEXT:       - Type:            Function
-// CHECK-7-NEXT:         Name:            'inlinedFunctionWithInnerClass'
-// CHECK-7-NEXT:         USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-7-NEXT:     DefLocation:     
-// CHECK-7-NEXT:       LineNumber:      26
-// CHECK-7-NEXT:       Filename:        'test'
-// CHECK-7-NEXT:     IsMethod:        true
-// CHECK-7-NEXT:     Parent:          
-// CHECK-7-NEXT:       Type:            Record
-// CHECK-7-NEXT:       Name:            'InnerClass'
-// CHECK-7-NEXT:       USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-7-NEXT:     ReturnType:      
-// CHECK-7-NEXT:       Type:            
-// CHECK-7-NEXT:         Name:            'int'
-// CHECK-7-NEXT: ...
index 8fad220..2006baa 100644 (file)
@@ -207,30 +207,16 @@ class X {
 // CHECK-6-NEXT:       - 'B'
 // CHECK-6-NEXT: ...
 
-// RUN: cat %t/docs/H/I.yaml | FileCheck %s --check-prefix CHECK-7
+// RUN: cat %t/docs/X/Y.yaml | FileCheck %s --check-prefix CHECK-7
 // CHECK-7: ---
 // CHECK-7-NEXT: USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-7-NEXT: Name:            'I'
+// CHECK-7-NEXT: Name:            'Y'
 // CHECK-7-NEXT: Namespace:       
-// CHECK-7-NEXT:   - Type:            Function
-// CHECK-7-NEXT:     Name:            'H'
+// CHECK-7-NEXT:   - Type:            Record
+// CHECK-7-NEXT:     Name:            'X'
 // CHECK-7-NEXT:     USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
 // CHECK-7-NEXT: DefLocation:     
-// CHECK-7-NEXT:   LineNumber:      12
+// CHECK-7-NEXT:   LineNumber:      39
 // CHECK-7-NEXT:   Filename:        'test'
 // CHECK-7-NEXT: TagType:         Class
 // CHECK-7-NEXT: ...
-
-// RUN: cat %t/docs/X/Y.yaml | FileCheck %s --check-prefix CHECK-8
-// CHECK-8: ---
-// CHECK-8-NEXT: USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-8-NEXT: Name:            'Y'
-// CHECK-8-NEXT: Namespace:       
-// CHECK-8-NEXT:   - Type:            Record
-// CHECK-8-NEXT:     Name:            'X'
-// CHECK-8-NEXT:     USR:             '{{[0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z][0-9A-Z]}}'
-// CHECK-8-NEXT: DefLocation:     
-// CHECK-8-NEXT:   LineNumber:      39
-// CHECK-8-NEXT:   Filename:        'test'
-// CHECK-8-NEXT: TagType:         Class
-// CHECK-8-NEXT: ...