File: every-type.yaml

package info (click to toggle)
llvm-toolchain-7 1%3A7.0.1-8~deb9u3
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 733,456 kB
  • sloc: cpp: 3,776,651; ansic: 633,271; asm: 350,301; python: 142,716; objc: 107,612; sh: 22,626; lisp: 11,056; perl: 7,999; pascal: 6,742; ml: 5,537; awk: 3,536; makefile: 2,557; cs: 2,027; xml: 841; ruby: 156
file content (272 lines) | stat: -rw-r--r-- 9,399 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
---
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)