|
|
@ -62,9 +62,15 @@ namespace Cxxi |
|
|
|
public class ClassLayout |
|
|
|
public class ClassLayout |
|
|
|
{ |
|
|
|
{ |
|
|
|
public CppAbi ABI { get; set; } |
|
|
|
public CppAbi ABI { get; set; } |
|
|
|
public bool HasOwnVFTable { get; set; } |
|
|
|
|
|
|
|
public VFTable VirtualFunctions { get; set; } |
|
|
|
public VFTable VirtualFunctions { get; set; } |
|
|
|
public VBTable VirtualBases { get; set; } |
|
|
|
public VBTable VirtualBases { get; set; } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public bool HasOwnVFTable; |
|
|
|
|
|
|
|
public bool HasVirtualBases; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public int Alignment; |
|
|
|
|
|
|
|
public int Size; |
|
|
|
|
|
|
|
public int DataSize; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public enum ClassType |
|
|
|
public enum ClassType |
|
|
@ -93,7 +99,7 @@ namespace Cxxi |
|
|
|
public ClassType Type; |
|
|
|
public ClassType Type; |
|
|
|
|
|
|
|
|
|
|
|
// ABI-specific class layout.
|
|
|
|
// ABI-specific class layout.
|
|
|
|
public List<ClassLayout> Layouts { get; set; } |
|
|
|
public ClassLayout Layout; |
|
|
|
|
|
|
|
|
|
|
|
// True if class provides pure virtual methods.
|
|
|
|
// True if class provides pure virtual methods.
|
|
|
|
public bool IsAbstract; |
|
|
|
public bool IsAbstract; |
|
|
@ -120,6 +126,7 @@ namespace Cxxi |
|
|
|
IsOpaque = false; |
|
|
|
IsOpaque = false; |
|
|
|
IsPOD = false; |
|
|
|
IsPOD = false; |
|
|
|
Type = ClassType.RefType; |
|
|
|
Type = ClassType.RefType; |
|
|
|
|
|
|
|
Layout = new ClassLayout(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public bool HasBase |
|
|
|
public bool HasBase |
|
|
|