---
TpiStream:
  Records:
    # int*									                        [Index: 0x1000]
    - Kind:            LF_POINTER
      Pointer:
        ReferentType:    116            # int
        Attrs:           32778
  # const int*                                      [Index: 0x1001]
  - Kind:            LF_MODIFIER
    Modifier:
      ModifiedType:  0x1000
      Modifiers:     [ Const ]
  # char*                                           [Index: 0x1002]
  - Kind:            LF_POINTER
    Pointer:
      ReferentType:    1136           # char*
      Attrs:           32778
  # (int, char **)                                  [Index: 0x1003]
  - Kind:            LF_ARGLIST
    ArgList:
      ArgIndicies:  [ 116, 0x1002 ]
  # (int, double)                                   [Index: 0x1004]
  - Kind:            LF_ARGLIST
    ArgList:
      ArgIndicies:  [ 116, 65 ]       # (int, double)
  # int main(int argc, char **argv)                 [Index: 0x1005]
  - Kind:            LF_PROCEDURE
    Procedure:
      ReturnType:      117            # int
      CallConv:        NearC          # __cdecl
      Options:         [ None ]
      ParameterCount:  2
      ArgumentList:    0x1003         # (int, char**)
  #	<label>                                         [Index: 0x1006]
  - Kind:            LF_LABEL
    Label:
      Mode:          Near
  # <forward decl>
  # class FooClass;                                 [Index: 0x1007]
  - Kind:            LF_STRUCTURE
    Class:
      MemberCount:     0
      Options:         [ None, ForwardReference ]
      FieldList:       0
      Name:            'FooClass'
      DerivationList:  0
      VTableShape:     0
      Size:            0
  # char*                                           [Index: 0x1008]
  - Kind:            LF_POINTER
    Pointer:
      ReferentType:    0x1007         # FooClass
      Attrs:           33802          # const
  # int (FooClass::)(int, char **)                  [Index: 0x1009]
  - Kind:            LF_MFUNCTION
    MemberFunction:
      ReturnType:      116            # int
      ClassType:       0x1007         # FooClass
      ThisType:        0x1008         # const FooClass*
      CallConv:        ThisCall
      Options:         [ None ]
      ParameterCount:  2
      ArgumentList:    0x1003         # (int, char**)
      ThisPointerAdjustment: 0
  # int (FooClass::)(int, double)                   [Index: 0x100A]
  - Kind:            LF_MFUNCTION
    MemberFunction:
      ReturnType:      116            # int
      ClassType:       0x1007         # FooClass
      ThisType:        0x1008         # const FooClass*
      CallConv:        ThisCall
      Options:         [ None ]
      ParameterCount:  2
      ArgumentList:    0x1004         # (int, double)
      ThisPointerAdjustment: 0
  # <method overload list>
  # int (FooClass::)(int, char **)
  # int (FooClass::)(int, double)                   [Index: 0x100B]
  - Kind:            LF_METHODLIST
    MethodOverloadList:
      Methods:
        - Type:            0x1009        # int (FooClass::)(int, char **)
          Attrs:           3             # public
          VFTableOffset:   -1
          Name:            ''
        - Type:            0x100A        # int (FooClass::)(int, double)
          Attrs:           3             # public
          VFTableOffset:   -1
          Name:            ''
  # <Field List>
  #   A, B, C                                       [Index: 0x100C]
  - Kind:            LF_FIELDLIST
    FieldList:
      - Kind:            LF_ENUMERATE
        Enumerator:
          Attrs:           3
          Value:           0
          Name:            A
      - Kind:            LF_ENUMERATE
        Enumerator:
          Attrs:           3
          Value:           1
          Name:            B
      - Kind:            LF_ENUMERATE
        Enumerator:
          Attrs:           3
          Value:           2
          Name:            C
  # enum FooClass::Enum : uint32_t {
  #   A, B, C
  # };                                              [Index: 0x100D]
  - Kind:            LF_ENUM
    Enum:
      NumEnumerators:  3
      Options:         [ None, Nested ]
      FieldList:       0x100C
      Name:            'FooClass::Enum'
      UnderlyingType:  117
  # <Field List>
  # public:
  #   enum FooEnum : uint32_t {
  #     A, B, C
  #   };
  #   FooEnum EnumMember;
  #   static int StaticInt;
  #   int FooClass::OverloadedMethod(int, char **);
  #   int FooClass::OverloadedMethod(int, double);
  #   int FooClass::RegularMethod(int, double);
  #                                                 [Index: 0x100E]
  - Kind:            LF_FIELDLIST
    FieldList:
      # enum FooEnum : uint32_t {
      #   A, B, C
      # };
      - Kind:            LF_NESTTYPE
        NestedType:
          Type:            0x100D
          Name:            FooEnum
      # FooEnum EnumMember;
      - Kind:            LF_MEMBER
        DataMember:
          Attrs:           3           # public
          Type:            0x100D      # void*
          FieldOffset:     0
          Name:            EnumMember
      # static int StaticInt;
      - Kind:            LF_STMEMBER
        StaticDataMember:
          Attrs:           3           # public
          Type:            116         # int
          Name:            StaticInt
      # int FooClass::OverloadedMethod(int, char **);
      # int FooClass::OverloadedMethod(int, double);
      - Kind:            LF_METHOD
        OverloadedMethod:
          NumOverloads:    2
          MethodList:      0x100B
          Name:            OverloadedMethod
      # int FooClass::RegularMethod(int, double);
      - Kind:            LF_ONEMETHOD
        OneMethod:
          Type:            0x100A
          Attrs:           3          # public
          VFTableOffset:   -1
          Name:            RegularMethod
  # class FooClass {
  # public:
  #   enum FooEnum : uint32_t {
  #     A, B, C
  #   };
  #   FooEnum EnumMember;
  #   static int StaticInt;
  #   int FooClass::OverloadedMethod(int, char **);
  #   int FooClass::OverloadedMethod(int, double);
  #   int FooClass::RegularMethod(int, double);
  # };                                              [Index: 0x100F]
  - Kind:            LF_CLASS
    Class:
      MemberCount:     6
      Options:         [ None ]
      FieldList:       0x100E
      Name:            'FooClass'
      DerivationList:  0
      VTableShape:     0
      Size:            4
  # struct FooStructure;                            [Index: 0x1010]
  - Kind:            LF_STRUCTURE
    Class:
      MemberCount:     6
      Options:         [ None ]
      FieldList:       0x100E
      Name:            'FooStructure'
      DerivationList:  0
      VTableShape:     0
      Size:            4
  # interface FooInterface;                         [Index: 0x1011]
  - Kind:            LF_INTERFACE
    Class:
      MemberCount:     6
      Options:         [ None ]
      FieldList:       0x100E
      Name:            'FooInterface'
      DerivationList:  0
      VTableShape:     0
      Size:            4
  # <field list>
  # : public FooClass                               [Index: 0x1012]
  - Kind:            LF_FIELDLIST
    FieldList:
      - Kind:            LF_BCLASS
        Attrs:           3           # public
        Type:            0x100F      # FooClass
        Offset:          0
  # <field list>
  # : public virtual FooClass                       [Index: 0x1013]
  - Kind:            LF_FIELDLIST
    FieldList:
      - Kind:            LF_VBCLASS
        Attrs:           3           # public
        BaseType:        0x100F      # FooClass
        VBPtrType:       0x1001      # const int *
        VBPtrOffset:     0
        VTableIndex:     1
  # class Inherit : public FooClass {};             [Index: 0x1014]
  - Kind:            LF_STRUCTURE
    Class:
      MemberCount:     1
      Options:         [ None ]
      FieldList:       0x100E
      Name:            'Inherit'
      DerivationList:  0x1012
      VTableShape:     0
      Size:            4
  # class VInherit : public virtual FooClass {};             [Index: 0x1015]
  - Kind:            LF_STRUCTURE
    Class:
      MemberCount:     1
      Options:         [ None ]
      FieldList:       0x100E
      Name:            'Inherit'
      DerivationList:  0x1012
      VTableShape:     0
      Size:            4

# // Member type records. These are generally not length prefixed, and appear
# // inside of a field list record.
# MEMBER_RECORD(LF_VFUNCTAB, 0x1409, VFPtr)

# MEMBER_RECORD_ALIAS(LF_BINTERFACE, 0x151a, BaseInterface, BaseClass)

# MEMBER_RECORD_ALIAS(LF_IVBCLASS, 0x1402, IndirectVirtualBaseClass,
#                     VirtualBaseClass)


# TYPE_RECORD(LF_ARRAY, 0x1503, Array)
# TYPE_RECORD(LF_UNION, 0x1506, Union)
# TYPE_RECORD(LF_TYPESERVER2, 0x1515, TypeServer2)
# TYPE_RECORD(LF_VFTABLE, 0x151d, VFTable)
# TYPE_RECORD(LF_VTSHAPE, 0x000a, VFTableShape)

# TYPE_RECORD(LF_BITFIELD, 0x1205, BitField)


# // ID leaf records. Subsequent leaf types may be referenced from .debug$S.
# TYPE_RECORD(LF_FUNC_ID, 0x1601, FuncId)
# TYPE_RECORD(LF_MFUNC_ID, 0x1602, MemberFuncId)
# TYPE_RECORD(LF_BUILDINFO, 0x1603, BuildInfo)
# TYPE_RECORD(LF_SUBSTR_LIST, 0x1604, StringList)
# TYPE_RECORD(LF_STRING_ID, 0x1605, StringId)
# TYPE_RECORD(LF_UDT_SRC_LINE, 0x1606, UdtSourceLine)
# TYPE_RECORD(LF_UDT_MOD_SRC_LINE, 0x1607, UdtModSourceLine)
