MCPcopy Create free account
hub / github.com/FEX-Emu/FEX / HandleTypeDefDeclCursor

Function HandleTypeDefDeclCursor

Scripts/DefinitionExtract.py:307–343  ·  view source on GitHub ↗
(Arch, Cursor)

Source from the content-addressed store, hash-verified

305 return VarDecl
306
307def HandleTypeDefDeclCursor(Arch, Cursor):
308 TypeDefType = Cursor.underlying_typedef_type
309 CanonicalType = TypeDefType.get_canonical()
310
311 TypeDefName = Cursor.type.get_typedef_name()
312
313 if (TypeDefType.kind == TypeKind.ELABORATED and CanonicalType.kind == TypeKind.RECORD):
314 if (len(TypeDefName) != 0):
315 HandleTypeDefDecl(Arch, Cursor, TypeDefName)
316
317 # Append namespace
318 Arch.NamespaceScope.append(TypeDefName)
319 SetNamespace(Arch)
320
321 Arch = HandleCursor(Arch, Cursor)
322 #StructType = Cursor.type
323 #Struct = StructDefinition(
324 # Name = TypeDefName,
325 # Size = CanonicalType.get_size())
326 #Arch.Structs[TypeDefName] = Struct
327
328 ## Handle children
329 #Arch.Structs[TypeDefName] = HandleStructElements(Arch, Struct, Cursor)
330
331 # Pop namespace off
332 Arch.NamespaceScope.pop()
333 SetNamespace(Arch)
334 else:
335 if (len(TypeDefName) != 0):
336 Def = Cursor.get_definition()
337
338 VarDecl = VarDeclDefinition(
339 Name = TypeDefName,
340 Size = CanonicalType.get_size())
341 Arch.VarDecls[VarDecl.Name] = HandleVarDeclElements(Arch, VarDecl, Cursor)
342
343 return Arch
344
345def HandleStructElements(Arch, Struct, Cursor):
346 for Child in Cursor.get_children():

Callers 3

HandleStructElementsFunction · 0.70
HandleTypeDefDeclFunction · 0.70
HandleCursorFunction · 0.70

Calls 7

appendMethod · 0.80
popMethod · 0.80
HandleTypeDefDeclFunction · 0.70
SetNamespaceFunction · 0.70
HandleCursorFunction · 0.70
VarDeclDefinitionClass · 0.70
HandleVarDeclElementsFunction · 0.70

Tested by

no test coverage detected