namespace CppSharp.AST { /// /// Represents a a C/C++ record field Decl. /// public class Field : Declaration, ITypedDecl { public Type Type { get { return QualifiedType.Type; } } public QualifiedType QualifiedType { get; set; } public uint Offset { get; set; } public Class Class { get; set; } public uint OffsetInBytes { get { return Offset / (sizeof (byte) * 8); } } public Expression Expression { get; set; } public Field() { Offset = 0; } public Field(string name, QualifiedType type, AccessSpecifier access) { Name = name; QualifiedType = type; Access = access; Offset = 0; } public Field(Field field): base(field) { QualifiedType = field.QualifiedType; Offset = field.Offset; Class = field.Class; Expression = field.Expression; } public override T Visit(IDeclVisitor visitor) { return visitor.VisitFieldDecl(this); } } }