Mono.Debugger.Backend.DwarfReader.DieStructureType.PopulateType C# (CSharp) Method

PopulateType() protected method

protected PopulateType ( ) : void
return void
            protected override void PopulateType()
            {
                if (!abbrev.HasChildren)
                    return;

                ArrayList list = new ArrayList ();

                foreach (Die child in Children) {
                    DieMember member = child as DieMember;
                    if ((member == null) || !member.Resolve (this))
                        continue;

                    TargetType mtype = member.Type;
                    if (mtype == null)
                        mtype = (TargetType) language.VoidType;

                    NativeFieldInfo field;
                    if (member.IsBitfield)
                        field = new NativeFieldInfo (
                            mtype, member.Name, list.Count,
                            member.DataOffset, member.BitOffset,
                            member.BitSize);
                    else
                        field = new NativeFieldInfo (
                            mtype, member.Name, list.Count,
                            member.DataOffset);
                    list.Add (field);
                }

                fields = new NativeFieldInfo [list.Count];
                list.CopyTo (fields);

                type.SetFields (fields);
            }