llvm/llvm/test/DebugInfo/PDB/pdbdump-yaml-types.test

; RUN: llvm-pdbutil pdb2yaml -tpi-stream %p/Inputs/empty.pdb \
; RUN:   | FileCheck -check-prefix=YAML %s

YAML: ---
YAML: MSF:             
YAML:   SuperBlock:      
YAML:     NumBlocks:       25
YAML:     NumDirectoryBytes: 136
YAML:     BlockMapAddr:    24
YAML:   NumDirectoryBlocks: 1
YAML:   DirectoryBlocks: [ 23 ]
YAML:   NumStreams:      0
YAML:   FileSize:        102400
YAML: TpiStream:       
YAML:   Records:         
YAML:     - Kind:            LF_ARGLIST
YAML:       ArgList:         
YAML:         ArgIndices:      [  ]
YAML:     - Kind:            LF_PROCEDURE
YAML:       Procedure:       
YAML:         ReturnType:      116
YAML:         CallConv:        NearC
YAML:         Options:         [ None ]
YAML:         ParameterCount:  0
YAML:         ArgumentList:    4096
YAML:     - Kind:            LF_FIELDLIST
YAML:       FieldList:       
YAML:         - Kind:            LF_ENUMERATE
YAML:           Enumerator:      
YAML:             Attrs:           3
YAML:             Value:           1
YAML:             Name:            apartment
YAML:         - Kind:            LF_ENUMERATE
YAML:           Enumerator:      
YAML:             Attrs:           3
YAML:             Value:           2
YAML:             Name:            single
YAML:         - Kind:            LF_ENUMERATE
YAML:           Enumerator:      
YAML:             Attrs:           3
YAML:             Value:           3
YAML:             Name:            free
YAML:         - Kind:            LF_ENUMERATE
YAML:           Enumerator:      
YAML:             Attrs:           3
YAML:             Value:           4
YAML:             Name:            neutral
YAML:         - Kind:            LF_ENUMERATE
YAML:           Enumerator:      
YAML:             Attrs:           3
YAML:             Value:           5
YAML:             Name:            both
YAML:     - Kind:            LF_ENUM
YAML:       Enum:            
YAML:         NumEnumerators:  5
YAML:         Options:         [ None, Nested, HasUniqueName ]
YAML:         FieldList:       4098
YAML:         Name:            '__vc_attributes::threadingAttribute::threading_e'
YAML:         UniqueName:      '.?AW4threading_e@threadingAttribute@__vc_attributes@@'
YAML:         UnderlyingType:  116
YAML:     - Kind:            LF_STRUCTURE
YAML:       Class:           
YAML:         MemberCount:     0
YAML:         Options:         [ None, ForwardReference, HasUniqueName ]
YAML:         FieldList:       0
YAML:         Name:            '__vc_attributes::threadingAttribute'
YAML:         UniqueName:      '.?AUthreadingAttribute@__vc_attributes@@'
YAML:         DerivationList:  0
YAML:         VTableShape:     0
YAML:         Size:            0
YAML:     - Kind:            LF_POINTER
YAML:       Pointer:         
YAML:         ReferentType:    4100
YAML:         Attrs:           33802
YAML:     - Kind:            LF_ARGLIST
YAML:       ArgList:         
YAML:         ArgIndices:      [ 4099 ]
YAML:     - Kind:            LF_MFUNCTION
YAML:       MemberFunction:  
YAML:         ReturnType:      3
YAML:         ClassType:       4100
YAML:         ThisType:        4101
YAML:         CallConv:        ThisCall
YAML:         Options:         [ None, Constructor ]
YAML:         ParameterCount:  1
YAML:         ArgumentList:    4102
YAML:         ThisPointerAdjustment: 0
YAML:     - Kind:            LF_MFUNCTION
YAML:       MemberFunction:  
YAML:         ReturnType:      3
YAML:         ClassType:       4100
YAML:         ThisType:        4101
YAML:         CallConv:        ThisCall
YAML:         Options:         [ None, Constructor ]
YAML:         ParameterCount:  0
YAML:         ArgumentList:    4096
YAML:         ThisPointerAdjustment: 0
YAML:     - Kind:            LF_METHODLIST
YAML:       MethodOverloadList: 
YAML:         Methods:         
YAML:           - Type:            4103
YAML:             Attrs:           3
YAML:             VFTableOffset:   -1
YAML:             Name:            ''
YAML:           - Type:            4104
YAML:             Attrs:           3
YAML:             VFTableOffset:   -1
YAML:             Name:            ''
YAML:     - Kind:            LF_FIELDLIST
YAML:       FieldList:       
YAML:         - Kind:            LF_NESTTYPE
YAML:           NestedType:      
YAML:             Type:            4099
YAML:             Name:            threading_e
YAML:         - Kind:            LF_METHOD
YAML:           OverloadedMethod: 
YAML:             NumOverloads:    2
YAML:             MethodList:      4105
YAML:             Name:            threadingAttribute
YAML:         - Kind:            LF_MEMBER
YAML:           DataMember:      
YAML:             Attrs:           3
YAML:             Type:            4099
YAML:             FieldOffset:     0
YAML:             Name:            value
YAML:     - Kind:            LF_STRUCTURE
YAML:       Class:           
YAML:         MemberCount:     4
YAML:         Options:         [ None, HasConstructorOrDestructor, ContainsNestedClass, HasUniqueName ]
YAML:         FieldList:       4106
YAML:         Name:            '__vc_attributes::threadingAttribute'
YAML:         UniqueName:      '.?AUthreadingAttribute@__vc_attributes@@'
YAML:         DerivationList:  0
YAML:         VTableShape:     0
YAML:         Size:            4
YAML:     - Kind:            LF_FIELDLIST
YAML:       FieldList:       
YAML:         - Kind:            LF_ENUMERATE
YAML:           Enumerator:      
YAML:             Attrs:           3
YAML:             Value:           0
YAML:             Name:            native
YAML:         - Kind:            LF_ENUMERATE
YAML:           Enumerator:      
YAML:             Attrs:           3
YAML:             Value:           1
YAML:             Name:            com
YAML:         - Kind:            LF_ENUMERATE
YAML:           Enumerator:      
YAML:             Attrs:           3
YAML:             Value:           2
YAML:             Name:            managed
YAML:     - Kind:            LF_ENUM
YAML:       Enum:            
YAML:         NumEnumerators:  3
YAML:         Options:         [ None, Nested, HasUniqueName ]
YAML:         FieldList:       4108
YAML:         Name:            '__vc_attributes::event_receiverAttribute::type_e'
YAML:         UniqueName:      '.?AW4type_e@event_receiverAttribute@__vc_attributes@@'
YAML:         UnderlyingType:  116
YAML:     - Kind:            LF_STRUCTURE
YAML:       Class:           
YAML:         MemberCount:     0
YAML:         Options:         [ None, ForwardReference, HasUniqueName ]
YAML:         FieldList:       0
YAML:         Name:            '__vc_attributes::event_receiverAttribute'
YAML:         UniqueName:      '.?AUevent_receiverAttribute@__vc_attributes@@'
YAML:         DerivationList:  0
YAML:         VTableShape:     0
YAML:         Size:            0
YAML:     - Kind:            LF_POINTER
YAML:       Pointer:         
YAML:         ReferentType:    4110
YAML:         Attrs:           33802
YAML:     - Kind:            LF_ARGLIST
YAML:       ArgList:         
YAML:         ArgIndices:      [ 4109, 48 ]
YAML:     - Kind:            LF_MFUNCTION
YAML:       MemberFunction:  
YAML:         ReturnType:      3
YAML:         ClassType:       4110
YAML:         ThisType:        4111
YAML:         CallConv:        ThisCall
YAML:         Options:         [ None, Constructor ]
YAML:         ParameterCount:  2
YAML:         ArgumentList:    4112
YAML:         ThisPointerAdjustment: 0
YAML:     - Kind:            LF_ARGLIST
YAML:       ArgList:         
YAML:         ArgIndices:      [ 4109 ]
YAML:     - Kind:            LF_MFUNCTION
YAML:       MemberFunction:  
YAML:         ReturnType:      3
YAML:         ClassType:       4110
YAML:         ThisType:        4111
YAML:         CallConv:        ThisCall
YAML:         Options:         [ None, Constructor ]
YAML:         ParameterCount:  1
YAML:         ArgumentList:    4114
YAML:         ThisPointerAdjustment: 0
YAML:     - Kind:            LF_MFUNCTION
YAML:       MemberFunction:  
YAML:         ReturnType:      3
YAML:         ClassType:       4110
YAML:         ThisType:        4111
YAML:         CallConv:        ThisCall
YAML:         Options:         [ None, Constructor ]
YAML:         ParameterCount:  0
YAML:         ArgumentList:    4096
YAML:         ThisPointerAdjustment: 0
YAML:     - Kind:            LF_METHODLIST
YAML:       MethodOverloadList: 
YAML:         Methods:         
YAML:           - Type:            4113
YAML:             Attrs:           3
YAML:             VFTableOffset:   -1
YAML:             Name:            ''
YAML:           - Type:            4115
YAML:             Attrs:           3
YAML:             VFTableOffset:   -1
YAML:             Name:            ''
YAML:           - Type:            4116
YAML:             Attrs:           3
YAML:             VFTableOffset:   -1
YAML:             Name:            ''
YAML:     - Kind:            LF_FIELDLIST
YAML:       FieldList:       
YAML:         - Kind:            LF_NESTTYPE
YAML:           NestedType:      
YAML:             Type:            4109
YAML:             Name:            type_e
YAML:         - Kind:            LF_METHOD
YAML:           OverloadedMethod: 
YAML:             NumOverloads:    3
YAML:             MethodList:      4117
YAML:             Name:            event_receiverAttribute
YAML:         - Kind:            LF_MEMBER
YAML:           DataMember:      
YAML:             Attrs:           3
YAML:             Type:            4109
YAML:             FieldOffset:     0
YAML:             Name:            type
YAML:         - Kind:            LF_MEMBER
YAML:           DataMember:      
YAML:             Attrs:           3
YAML:             Type:            48
YAML:             FieldOffset:     4
YAML:             Name:            layout_dependent
YAML:     - Kind:            LF_STRUCTURE
YAML:       Class:           
YAML:         MemberCount:     6
YAML:         Options:         [ None, HasConstructorOrDestructor, ContainsNestedClass, HasUniqueName ]
YAML:         FieldList:       4118
YAML:         Name:            '__vc_attributes::event_receiverAttribute'
YAML:         UniqueName:      '.?AUevent_receiverAttribute@__vc_attributes@@'
YAML:         DerivationList:  0
YAML:         VTableShape:     0
YAML:         Size:            8
YAML:     - Kind:            LF_FIELDLIST
YAML:       FieldList:       
YAML:         - Kind:            LF_ENUMERATE
YAML:           Enumerator:      
YAML:             Attrs:           3
YAML:             Value:           0
YAML:             Name:            never
YAML:         - Kind:            LF_ENUMERATE
YAML:           Enumerator:      
YAML:             Attrs:           3
YAML:             Value:           1
YAML:             Name:            allowed
YAML:         - Kind:            LF_ENUMERATE
YAML:           Enumerator:      
YAML:             Attrs:           3
YAML:             Value:           2
YAML:             Name:            always
YAML:     - Kind:            LF_ENUM
YAML:       Enum:            
YAML:         NumEnumerators:  3
YAML:         Options:         [ None, Nested, HasUniqueName ]
YAML:         FieldList:       4120
YAML:         Name:            '__vc_attributes::aggregatableAttribute::type_e'
YAML:         UniqueName:      '.?AW4type_e@aggregatableAttribute@__vc_attributes@@'
YAML:         UnderlyingType:  116
YAML:     - Kind:            LF_STRUCTURE
YAML:       Class:           
YAML:         MemberCount:     0
YAML:         Options:         [ None, ForwardReference, HasUniqueName ]
YAML:         FieldList:       0
YAML:         Name:            '__vc_attributes::aggregatableAttribute'
YAML:         UniqueName:      '.?AUaggregatableAttribute@__vc_attributes@@'
YAML:         DerivationList:  0
YAML:         VTableShape:     0
YAML:         Size:            0
YAML:     - Kind:            LF_POINTER
YAML:       Pointer:         
YAML:         ReferentType:    4122
YAML:         Attrs:           33802
YAML:     - Kind:            LF_ARGLIST
YAML:       ArgList:         
YAML:         ArgIndices:      [ 4121 ]
YAML:     - Kind:            LF_MFUNCTION
YAML:       MemberFunction:  
YAML:         ReturnType:      3
YAML:         ClassType:       4122
YAML:         ThisType:        4123
YAML:         CallConv:        ThisCall
YAML:         Options:         [ None, Constructor ]
YAML:         ParameterCount:  1
YAML:         ArgumentList:    4124
YAML:         ThisPointerAdjustment: 0
YAML:     - Kind:            LF_MFUNCTION
YAML:       MemberFunction:  
YAML:         ReturnType:      3
YAML:         ClassType:       4122
YAML:         ThisType:        4123
YAML:         CallConv:        ThisCall
YAML:         Options:         [ None, Constructor ]
YAML:         ParameterCount:  0
YAML:         ArgumentList:    4096
YAML:         ThisPointerAdjustment: 0
YAML:     - Kind:            LF_METHODLIST
YAML:       MethodOverloadList: 
YAML:         Methods:         
YAML:           - Type:            4125
YAML:             Attrs:           3
YAML:             VFTableOffset:   -1
YAML:             Name:            ''
YAML:           - Type:            4126
YAML:             Attrs:           3
YAML:             VFTableOffset:   -1
YAML:             Name:            ''
YAML:     - Kind:            LF_FIELDLIST
YAML:       FieldList:       
YAML:         - Kind:            LF_NESTTYPE
YAML:           NestedType:      
YAML:             Type:            4121
YAML:             Name:            type_e
YAML:         - Kind:            LF_METHOD
YAML:           OverloadedMethod: 
YAML:             NumOverloads:    2
YAML:             MethodList:      4127
YAML:             Name:            aggregatableAttribute
YAML:         - Kind:            LF_MEMBER
YAML:           DataMember:      
YAML:             Attrs:           3
YAML:             Type:            4121
YAML:             FieldOffset:     0
YAML:             Name:            type
YAML:     - Kind:            LF_STRUCTURE
YAML:       Class:           
YAML:         MemberCount:     4
YAML:         Options:         [ None, HasConstructorOrDestructor, ContainsNestedClass, HasUniqueName ]
YAML:         FieldList:       4128
YAML:         Name:            '__vc_attributes::aggregatableAttribute'
YAML:         UniqueName:      '.?AUaggregatableAttribute@__vc_attributes@@'
YAML:         DerivationList:  0
YAML:         VTableShape:     0
YAML:         Size:            4
YAML:     - Kind:            LF_ENUM
YAML:       Enum:            
YAML:         NumEnumerators:  3
YAML:         Options:         [ None, Nested, HasUniqueName ]
YAML:         FieldList:       4108
YAML:         Name:            '__vc_attributes::event_sourceAttribute::type_e'
YAML:         UniqueName:      '.?AW4type_e@event_sourceAttribute@__vc_attributes@@'
YAML:         UnderlyingType:  116
YAML:     - Kind:            LF_FIELDLIST
YAML:       FieldList:       
YAML:         - Kind:            LF_ENUMERATE
YAML:           Enumerator:      
YAML:             Attrs:           3
YAML:             Value:           0
YAML:             Name:            speed
YAML:         - Kind:            LF_ENUMERATE
YAML:           Enumerator:      
YAML:             Attrs:           3
YAML:             Value:           1
YAML:             Name:            size
YAML:     - Kind:            LF_ENUM
YAML:       Enum:            
YAML:         NumEnumerators:  2
YAML:         Options:         [ None, Nested, HasUniqueName ]
YAML:         FieldList:       4131
YAML:         Name:            '__vc_attributes::event_sourceAttribute::optimize_e'
YAML:         UniqueName:      '.?AW4optimize_e@event_sourceAttribute@__vc_attributes@@'
YAML:         UnderlyingType:  116
YAML:     - Kind:            LF_STRUCTURE
YAML:       Class:           
YAML:         MemberCount:     0
YAML:         Options:         [ None, ForwardReference, HasUniqueName ]
YAML:         FieldList:       0
YAML:         Name:            '__vc_attributes::event_sourceAttribute'
YAML:         UniqueName:      '.?AUevent_sourceAttribute@__vc_attributes@@'
YAML:         DerivationList:  0
YAML:         VTableShape:     0
YAML:         Size:            0
YAML:     - Kind:            LF_POINTER
YAML:       Pointer:         
YAML:         ReferentType:    4133
YAML:         Attrs:           33802
YAML:     - Kind:            LF_ARGLIST
YAML:       ArgList:         
YAML:         ArgIndices:      [ 4130 ]
YAML:     - Kind:            LF_MFUNCTION
YAML:       MemberFunction:  
YAML:         ReturnType:      3
YAML:         ClassType:       4133
YAML:         ThisType:        4134
YAML:         CallConv:        ThisCall
YAML:         Options:         [ None, Constructor ]
YAML:         ParameterCount:  1
YAML:         ArgumentList:    4135
YAML:         ThisPointerAdjustment: 0
YAML:     - Kind:            LF_MFUNCTION
YAML:       MemberFunction:  
YAML:         ReturnType:      3
YAML:         ClassType:       4133
YAML:         ThisType:        4134
YAML:         CallConv:        ThisCall
YAML:         Options:         [ None, Constructor ]
YAML:         ParameterCount:  0
YAML:         ArgumentList:    4096
YAML:         ThisPointerAdjustment: 0
YAML:     - Kind:            LF_METHODLIST
YAML:       MethodOverloadList: 
YAML:         Methods:         
YAML:           - Type:            4136
YAML:             Attrs:           3
YAML:             VFTableOffset:   -1
YAML:             Name:            ''
YAML:           - Type:            4137
YAML:             Attrs:           3
YAML:             VFTableOffset:   -1
YAML:             Name:            ''
YAML:     - Kind:            LF_FIELDLIST
YAML:       FieldList:       
YAML:         - Kind:            LF_NESTTYPE
YAML:           NestedType:      
YAML:             Type:            4130
YAML:             Name:            type_e
YAML:         - Kind:            LF_NESTTYPE
YAML:           NestedType:      
YAML:             Type:            4132
YAML:             Name:            optimize_e
YAML:         - Kind:            LF_METHOD
YAML:           OverloadedMethod: 
YAML:             NumOverloads:    2
YAML:             MethodList:      4138
YAML:             Name:            event_sourceAttribute
YAML:         - Kind:            LF_MEMBER
YAML:           DataMember:      
YAML:             Attrs:           3
YAML:             Type:            4130
YAML:             FieldOffset:     0
YAML:             Name:            type
YAML:         - Kind:            LF_MEMBER
YAML:           DataMember:      
YAML:             Attrs:           3
YAML:             Type:            4132
YAML:             FieldOffset:     4
YAML:             Name:            optimize
YAML:         - Kind:            LF_MEMBER
YAML:           DataMember:      
YAML:             Attrs:           3
YAML:             Type:            48
YAML:             FieldOffset:     8
YAML:             Name:            decorate
YAML:     - Kind:            LF_STRUCTURE
YAML:       Class:           
YAML:         MemberCount:     7
YAML:         Options:         [ None, HasConstructorOrDestructor, ContainsNestedClass, HasUniqueName ]
YAML:         FieldList:       4139
YAML:         Name:            '__vc_attributes::event_sourceAttribute'
YAML:         UniqueName:      '.?AUevent_sourceAttribute@__vc_attributes@@'
YAML:         DerivationList:  0
YAML:         VTableShape:     0
YAML:         Size:            12
YAML:     - Kind:            LF_FIELDLIST
YAML:       FieldList:       
YAML:         - Kind:            LF_ENUMERATE
YAML:           Enumerator:      
YAML:             Attrs:           3
YAML:             Value:           1
YAML:             Name:            dll
YAML:         - Kind:            LF_ENUMERATE
YAML:           Enumerator:      
YAML:             Attrs:           3
YAML:             Value:           2
YAML:             Name:            exe
YAML:         - Kind:            LF_ENUMERATE
YAML:           Enumerator:      
YAML:             Attrs:           3
YAML:             Value:           3
YAML:             Name:            service
YAML:         - Kind:            LF_ENUMERATE
YAML:           Enumerator:      
YAML:             Attrs:           3
YAML:             Value:           4
YAML:             Name:            unspecified
YAML:         - Kind:            LF_ENUMERATE
YAML:           Enumerator:      
YAML:             Attrs:           3
YAML:             Value:           2
YAML:             Name:            EXE
YAML:         - Kind:            LF_ENUMERATE
YAML:           Enumerator:      
YAML:             Attrs:           3
YAML:             Value:           3
YAML:             Name:            SERVICE
YAML:     - Kind:            LF_ENUM
YAML:       Enum:            
YAML:         NumEnumerators:  6
YAML:         Options:         [ None, Nested, HasUniqueName ]
YAML:         FieldList:       4141
YAML:         Name:            '__vc_attributes::moduleAttribute::type_e'
YAML:         UniqueName:      '.?AW4type_e@moduleAttribute@__vc_attributes@@'
YAML:         UnderlyingType:  116
YAML:     - Kind:            LF_STRUCTURE
YAML:       Class:           
YAML:         MemberCount:     0
YAML:         Options:         [ None, ForwardReference, HasUniqueName ]
YAML:         FieldList:       0
YAML:         Name:            '__vc_attributes::moduleAttribute'
YAML:         UniqueName:      '.?AUmoduleAttribute@__vc_attributes@@'
YAML:         DerivationList:  0
YAML:         VTableShape:     0
YAML:         Size:            0
YAML:     - Kind:            LF_POINTER
YAML:       Pointer:         
YAML:         ReferentType:    4143
YAML:         Attrs:           33802
YAML:     - Kind:            LF_MODIFIER
YAML:       Modifier:        
YAML:         ModifiedType:    112
YAML:         Modifiers:       [ None, Const ]
YAML:     - Kind:            LF_POINTER
YAML:       Pointer:         
YAML:         ReferentType:    4145
YAML:         Attrs:           32778
YAML:     - Kind:            LF_ARGLIST
YAML:       ArgList:         
YAML:         ArgIndices:      [ 4142, 4146, 4146, 4146, 116, 48, 4146, 116, 
YAML:                            4146, 4146, 116, 48, 48, 4146, 4146 ]
YAML:     - Kind:            LF_MFUNCTION
YAML:       MemberFunction:  
YAML:         ReturnType:      3
YAML:         ClassType:       4143
YAML:         ThisType:        4144
YAML:         CallConv:        ThisCall
YAML:         Options:         [ None, Constructor ]
YAML:         ParameterCount:  15
YAML:         ArgumentList:    4147
YAML:         ThisPointerAdjustment: 0
YAML:     - Kind:            LF_ARGLIST
YAML:       ArgList:         
YAML:         ArgIndices:      [ 4142 ]
YAML:     - Kind:            LF_MFUNCTION
YAML:       MemberFunction:  
YAML:         ReturnType:      3
YAML:         ClassType:       4143
YAML:         ThisType:        4144
YAML:         CallConv:        ThisCall
YAML:         Options:         [ None, Constructor ]
YAML:         ParameterCount:  1
YAML:         ArgumentList:    4149
YAML:         ThisPointerAdjustment: 0
YAML:     - Kind:            LF_MFUNCTION
YAML:       MemberFunction:  
YAML:         ReturnType:      3
YAML:         ClassType:       4143
YAML:         ThisType:        4144
YAML:         CallConv:        ThisCall
YAML:         Options:         [ None, Constructor ]
YAML:         ParameterCount:  0
YAML:         ArgumentList:    4096
YAML:         ThisPointerAdjustment: 0
YAML:     - Kind:            LF_METHODLIST
YAML:       MethodOverloadList: 
YAML:         Methods:         
YAML:           - Type:            4148
YAML:             Attrs:           3
YAML:             VFTableOffset:   -1
YAML:             Name:            ''
YAML:           - Type:            4150
YAML:             Attrs:           3
YAML:             VFTableOffset:   -1
YAML:             Name:            ''
YAML:           - Type:            4151
YAML:             Attrs:           3
YAML:             VFTableOffset:   -1
YAML:             Name:            ''
YAML:     - Kind:            LF_FIELDLIST
YAML:       FieldList:       
YAML:         - Kind:            LF_NESTTYPE
YAML:           NestedType:      
YAML:             Type:            4142
YAML:             Name:            type_e
YAML:         - Kind:            LF_METHOD
YAML:           OverloadedMethod: 
YAML:             NumOverloads:    3
YAML:             MethodList:      4152
YAML:             Name:            moduleAttribute
YAML:         - Kind:            LF_MEMBER
YAML:           DataMember:      
YAML:             Attrs:           3
YAML:             Type:            4142
YAML:             FieldOffset:     0
YAML:             Name:            type
YAML:         - Kind:            LF_MEMBER
YAML:           DataMember:      
YAML:             Attrs:           3
YAML:             Type:            4146
YAML:             FieldOffset:     4
YAML:             Name:            name
YAML:         - Kind:            LF_MEMBER
YAML:           DataMember:      
YAML:             Attrs:           3
YAML:             Type:            4146
YAML:             FieldOffset:     8
YAML:             Name:            version
YAML:         - Kind:            LF_MEMBER
YAML:           DataMember:      
YAML:             Attrs:           3
YAML:             Type:            4146
YAML:             FieldOffset:     12
YAML:             Name:            uuid
YAML:         - Kind:            LF_MEMBER
YAML:           DataMember:      
YAML:             Attrs:           3
YAML:             Type:            116
YAML:             FieldOffset:     16
YAML:             Name:            lcid
YAML:         - Kind:            LF_MEMBER
YAML:           DataMember:      
YAML:             Attrs:           3
YAML:             Type:            48
YAML:             FieldOffset:     20
YAML:             Name:            control
YAML:         - Kind:            LF_MEMBER
YAML:           DataMember:      
YAML:             Attrs:           3
YAML:             Type:            4146
YAML:             FieldOffset:     24
YAML:             Name:            helpstring
YAML:         - Kind:            LF_MEMBER
YAML:           DataMember:      
YAML:             Attrs:           3
YAML:             Type:            116
YAML:             FieldOffset:     28
YAML:             Name:            helpstringcontext
YAML:         - Kind:            LF_MEMBER
YAML:           DataMember:      
YAML:             Attrs:           3
YAML:             Type:            4146
YAML:             FieldOffset:     32
YAML:             Name:            helpstringdll
YAML:         - Kind:            LF_MEMBER
YAML:           DataMember:      
YAML:             Attrs:           3
YAML:             Type:            4146
YAML:             FieldOffset:     36
YAML:             Name:            helpfile
YAML:         - Kind:            LF_MEMBER
YAML:           DataMember:      
YAML:             Attrs:           3
YAML:             Type:            116
YAML:             FieldOffset:     40
YAML:             Name:            helpcontext
YAML:         - Kind:            LF_MEMBER
YAML:           DataMember:      
YAML:             Attrs:           3
YAML:             Type:            48
YAML:             FieldOffset:     44
YAML:             Name:            hidden
YAML:         - Kind:            LF_MEMBER
YAML:           DataMember:      
YAML:             Attrs:           3
YAML:             Type:            48
YAML:             FieldOffset:     45
YAML:             Name:            restricted
YAML:         - Kind:            LF_MEMBER
YAML:           DataMember:      
YAML:             Attrs:           3
YAML:             Type:            4146
YAML:             FieldOffset:     48
YAML:             Name:            custom
YAML:         - Kind:            LF_MEMBER
YAML:           DataMember:      
YAML:             Attrs:           3
YAML:             Type:            4146
YAML:             FieldOffset:     52
YAML:             Name:            resource_name
YAML:     - Kind:            LF_STRUCTURE
YAML:       Class:           
YAML:         MemberCount:     19
YAML:         Options:         [ None, HasConstructorOrDestructor, ContainsNestedClass, HasUniqueName ]
YAML:         FieldList:       4153
YAML:         Name:            '__vc_attributes::moduleAttribute'
YAML:         UniqueName:      '.?AUmoduleAttribute@__vc_attributes@@'
YAML:         DerivationList:  0
YAML:         VTableShape:     0
YAML:         Size:            56
YAML:     - Kind:            LF_FIELDLIST
YAML:       FieldList:       
YAML:         - Kind:            LF_ENUMERATE
YAML:           Enumerator:      
YAML:             Attrs:           3
YAML:             Value:           0
YAML:             Name:            eAnyUsage
YAML:         - Kind:            LF_ENUMERATE
YAML:           Enumerator:      
YAML:             Attrs:           3
YAML:             Value:           1
YAML:             Name:            eCoClassUsage
YAML:         - Kind:            LF_ENUMERATE
YAML:           Enumerator:      
YAML:             Attrs:           3
YAML:             Value:           2
YAML:             Name:            eCOMInterfaceUsage
YAML:         - Kind:            LF_ENUMERATE
YAML:           Enumerator:      
YAML:             Attrs:           3
YAML:             Value:           6
YAML:             Name:            eInterfaceUsage
YAML:         - Kind:            LF_ENUMERATE
YAML:           Enumerator:      
YAML:             Attrs:           3
YAML:             Value:           8
YAML:             Name:            eMemberUsage
YAML:         - Kind:            LF_ENUMERATE
YAML:           Enumerator:      
YAML:             Attrs:           3
YAML:             Value:           16
YAML:             Name:            eMethodUsage
YAML:         - Kind:            LF_ENUMERATE
YAML:           Enumerator:      
YAML:             Attrs:           3
YAML:             Value:           32
YAML:             Name:            eInterfaceMethodUsage
YAML:         - Kind:            LF_ENUMERATE
YAML:           Enumerator:      
YAML:             Attrs:           3
YAML:             Value:           64
YAML:             Name:            eInterfaceMemberUsage
YAML:         - Kind:            LF_ENUMERATE
YAML:           Enumerator:      
YAML:             Attrs:           3
YAML:             Value:           128
YAML:             Name:            eCoClassMemberUsage
YAML:         - Kind:            LF_ENUMERATE
YAML:           Enumerator:      
YAML:             Attrs:           3
YAML:             Value:           256
YAML:             Name:            eCoClassMethodUsage
YAML:         - Kind:            LF_ENUMERATE
YAML:           Enumerator:      
YAML:             Attrs:           3
YAML:             Value:           768
YAML:             Name:            eGlobalMethodUsage
YAML:         - Kind:            LF_ENUMERATE
YAML:           Enumerator:      
YAML:             Attrs:           3
YAML:             Value:           1024
YAML:             Name:            eGlobalDataUsage
YAML:         - Kind:            LF_ENUMERATE
YAML:           Enumerator:      
YAML:             Attrs:           3
YAML:             Value:           2048
YAML:             Name:            eClassUsage
YAML:         - Kind:            LF_ENUMERATE
YAML:           Enumerator:      
YAML:             Attrs:           3
YAML:             Value:           4096
YAML:             Name:            eInterfaceParameterUsage
YAML:         - Kind:            LF_ENUMERATE
YAML:           Enumerator:      
YAML:             Attrs:           3
YAML:             Value:           12288
YAML:             Name:            eMethodParameterUsage
YAML:         - Kind:            LF_ENUMERATE
YAML:           Enumerator:      
YAML:             Attrs:           3
YAML:             Value:           16384
YAML:             Name:            eIDLModuleUsage
YAML:         - Kind:            LF_ENUMERATE
YAML:           Enumerator:      
YAML:             Attrs:           3
YAML:             Value:           32768
YAML:             Name:            eAnonymousUsage
YAML:         - Kind:            LF_ENUMERATE
YAML:           Enumerator:      
YAML:             Attrs:           3
YAML:             Value:           65536
YAML:             Name:            eTypedefUsage
YAML:         - Kind:            LF_ENUMERATE
YAML:           Enumerator:      
YAML:             Attrs:           3
YAML:             Value:           131072
YAML:             Name:            eUnionUsage
YAML:         - Kind:            LF_ENUMERATE
YAML:           Enumerator:      
YAML:             Attrs:           3
YAML:             Value:           262144
YAML:             Name:            eEnumUsage
YAML:         - Kind:            LF_ENUMERATE
YAML:           Enumerator:      
YAML:             Attrs:           3
YAML:             Value:           524288
YAML:             Name:            eDefineTagUsage
YAML:         - Kind:            LF_ENUMERATE
YAML:           Enumerator:      
YAML:             Attrs:           3
YAML:             Value:           1048576
YAML:             Name:            eStructUsage
YAML:         - Kind:            LF_ENUMERATE
YAML:           Enumerator:      
YAML:             Attrs:           3
YAML:             Value:           2097152
YAML:             Name:            eLocalUsage
YAML:         - Kind:            LF_ENUMERATE
YAML:           Enumerator:      
YAML:             Attrs:           3
YAML:             Value:           4194304
YAML:             Name:            ePropertyUsage
YAML:         - Kind:            LF_ENUMERATE
YAML:           Enumerator:      
YAML:             Attrs:           3
YAML:             Value:           8388608
YAML:             Name:            eEventUsage
YAML:         - Kind:            LF_ENUMERATE
YAML:           Enumerator:      
YAML:             Attrs:           3
YAML:             Value:           16777216
YAML:             Name:            eTemplateUsage
YAML:         - Kind:            LF_ENUMERATE
YAML:           Enumerator:      
YAML:             Attrs:           3
YAML:             Value:           16777216
YAML:             Name:            eModuleUsage
YAML:         - Kind:            LF_ENUMERATE
YAML:           Enumerator:      
YAML:             Attrs:           3
YAML:             Value:           33554432
YAML:             Name:            eIllegalUsage
YAML:         - Kind:            LF_ENUMERATE
YAML:           Enumerator:      
YAML:             Attrs:           3
YAML:             Value:           67108864
YAML:             Name:            eAsynchronousUsage
YAML:         - Kind:            LF_ENUMERATE
YAML:           Enumerator:      
YAML:             Attrs:           3
YAML:             Value:           4161535
YAML:             Name:            eAnyIDLUsage
YAML:     - Kind:            LF_ENUM
YAML:       Enum:            
YAML:         NumEnumerators:  30
YAML:         Options:         [ None, Nested, HasUniqueName ]
YAML:         FieldList:       4155
YAML:         Name:            '__vc_attributes::helper_attributes::usageAttribute::usage_e'
YAML:         UniqueName:      '.?AW4usage_e@usageAttribute@helper_attributes@__vc_attributes@@'
YAML:         UnderlyingType:  116
YAML:     - Kind:            LF_STRUCTURE
YAML:       Class:           
YAML:         MemberCount:     0
YAML:         Options:         [ None, ForwardReference, HasUniqueName ]
YAML:         FieldList:       0
YAML:         Name:            '__vc_attributes::helper_attributes::usageAttribute'
YAML:         UniqueName:      '.?AUusageAttribute@helper_attributes@__vc_attributes@@'
YAML:         DerivationList:  0
YAML:         VTableShape:     0
YAML:         Size:            0
YAML:     - Kind:            LF_POINTER
YAML:       Pointer:         
YAML:         ReferentType:    4157
YAML:         Attrs:           33802
YAML:     - Kind:            LF_ARGLIST
YAML:       ArgList:         
YAML:         ArgIndices:      [ 117 ]
YAML:     - Kind:            LF_MFUNCTION
YAML:       MemberFunction:  
YAML:         ReturnType:      3
YAML:         ClassType:       4157
YAML:         ThisType:        4158
YAML:         CallConv:        ThisCall
YAML:         Options:         [ None, Constructor ]
YAML:         ParameterCount:  1
YAML:         ArgumentList:    4159
YAML:         ThisPointerAdjustment: 0
YAML:     - Kind:            LF_FIELDLIST
YAML:       FieldList:       
YAML:         - Kind:            LF_NESTTYPE
YAML:           NestedType:      
YAML:             Type:            4156
YAML:             Name:            usage_e
YAML:         - Kind:            LF_ONEMETHOD
YAML:           OneMethod:       
YAML:             Type:            4160
YAML:             Attrs:           3
YAML:             VFTableOffset:   -1
YAML:             Name:            usageAttribute
YAML:         - Kind:            LF_MEMBER
YAML:           DataMember:      
YAML:             Attrs:           3
YAML:             Type:            117
YAML:             FieldOffset:     0
YAML:             Name:            value
YAML:     - Kind:            LF_STRUCTURE
YAML:       Class:           
YAML:         MemberCount:     3
YAML:         Options:         [ None, HasConstructorOrDestructor, ContainsNestedClass, HasUniqueName ]
YAML:         FieldList:       4161
YAML:         Name:            '__vc_attributes::helper_attributes::usageAttribute'
YAML:         UniqueName:      '.?AUusageAttribute@helper_attributes@__vc_attributes@@'
YAML:         DerivationList:  0
YAML:         VTableShape:     0
YAML:         Size:            4
YAML:     - Kind:            LF_FIELDLIST
YAML:       FieldList:       
YAML:         - Kind:            LF_ENUMERATE
YAML:           Enumerator:      
YAML:             Attrs:           3
YAML:             Value:           0
YAML:             Name:            eBoolean
YAML:         - Kind:            LF_ENUMERATE
YAML:           Enumerator:      
YAML:             Attrs:           3
YAML:             Value:           1
YAML:             Name:            eInteger
YAML:         - Kind:            LF_ENUMERATE
YAML:           Enumerator:      
YAML:             Attrs:           3
YAML:             Value:           2
YAML:             Name:            eFloat
YAML:         - Kind:            LF_ENUMERATE
YAML:           Enumerator:      
YAML:             Attrs:           3
YAML:             Value:           3
YAML:             Name:            eDouble
YAML:     - Kind:            LF_ENUM
YAML:       Enum:            
YAML:         NumEnumerators:  4
YAML:         Options:         [ None, Nested, HasUniqueName ]
YAML:         FieldList:       4163
YAML:         Name:            '__vc_attributes::helper_attributes::v1_alttypeAttribute::type_e'
YAML:         UniqueName:      '.?AW4type_e@v1_alttypeAttribute@helper_attributes@__vc_attributes@@'
YAML:         UnderlyingType:  116
YAML:     - Kind:            LF_STRUCTURE
YAML:       Class:           
YAML:         MemberCount:     0
YAML:         Options:         [ None, ForwardReference, HasUniqueName ]
YAML:         FieldList:       0
YAML:         Name:            '__vc_attributes::helper_attributes::v1_alttypeAttribute'
YAML:         UniqueName:      '.?AUv1_alttypeAttribute@helper_attributes@__vc_attributes@@'
YAML:         DerivationList:  0
YAML:         VTableShape:     0
YAML:         Size:            0
YAML:     - Kind:            LF_POINTER
YAML:       Pointer:         
YAML:         ReferentType:    4165
YAML:         Attrs:           33802
YAML:     - Kind:            LF_ARGLIST
YAML:       ArgList:         
YAML:         ArgIndices:      [ 4164 ]
YAML:     - Kind:            LF_MFUNCTION
YAML:       MemberFunction:  
YAML:         ReturnType:      3
YAML:         ClassType:       4165
YAML:         ThisType:        4166
YAML:         CallConv:        ThisCall
YAML:         Options:         [ None, Constructor ]
YAML:         ParameterCount:  1
YAML:         ArgumentList:    4167
YAML:         ThisPointerAdjustment: 0
YAML:     - Kind:            LF_FIELDLIST
YAML:       FieldList:       
YAML:         - Kind:            LF_NESTTYPE
YAML:           NestedType:      
YAML:             Type:            4164
YAML:             Name:            type_e
YAML:         - Kind:            LF_ONEMETHOD
YAML:           OneMethod:       
YAML:             Type:            4168
YAML:             Attrs:           3
YAML:             VFTableOffset:   -1
YAML:             Name:            v1_alttypeAttribute
YAML:         - Kind:            LF_MEMBER
YAML:           DataMember:      
YAML:             Attrs:           3
YAML:             Type:            4164
YAML:             FieldOffset:     0
YAML:             Name:            type
YAML:     - Kind:            LF_STRUCTURE
YAML:       Class:           
YAML:         MemberCount:     3
YAML:         Options:         [ None, HasConstructorOrDestructor, ContainsNestedClass, HasUniqueName ]
YAML:         FieldList:       4169
YAML:         Name:            '__vc_attributes::helper_attributes::v1_alttypeAttribute'
YAML:         UniqueName:      '.?AUv1_alttypeAttribute@helper_attributes@__vc_attributes@@'
YAML:         DerivationList:  0
YAML:         VTableShape:     0
YAML:         Size:            4
YAML: ...