static void ReadMemberInformation(BinaryReader reader, INameDecoder nameTable, AbstractMember member) { member.Name = ReadString(reader, nameTable); member.Documentation = ReadString(reader, nameTable); member.Modifiers = (Modifiers)reader.ReadUInt32(); member.Location = ReadLocation(reader, nameTable); uint count = ReadUInt(reader, 1000); while (count-- > 0) { member.Add(ReadAttribute(reader, nameTable)); } }
static void AddAttributes (AbstractMember member, IEnumerable<ICSharpCode.NRefactory.Ast.AttributeSection> attributes) { CodeDomVisitor domVisitor = new CodeDomVisitor (); foreach (ICSharpCode.NRefactory.Ast.AttributeSection attributeSection in attributes) { foreach (ICSharpCode.NRefactory.Ast.Attribute attribute in attributeSection.Attributes) { DomAttribute domAttribute = new DomAttribute (); domAttribute.Name = attribute.Name; domAttribute.Region = ConvertRegion (attribute.StartLocation, attribute.EndLocation); domAttribute.AttributeType = new DomReturnType (attribute.Name); member.Add (domAttribute); foreach (ICSharpCode.NRefactory.Ast.Expression exp in attribute.PositionalArguments) domAttribute.AddPositionalArgument ((CodeExpression)exp.AcceptVisitor (domVisitor, null)); foreach (ICSharpCode.NRefactory.Ast.NamedArgumentExpression nexp in attribute.NamedArguments) domAttribute.AddNamedArgument (nexp.Name, (CodeExpression)nexp.Expression.AcceptVisitor (domVisitor, null)); } } }
static void ReadMemberInformation (BinaryReader reader, INameDecoder nameTable, IDomObjectTable objectTable, AbstractMember member) { member.Name = ReadString (reader, nameTable); member.Documentation = ReadString (reader, nameTable); member.Modifiers = (Modifiers)reader.ReadUInt32(); member.Location = ReadLocation (reader, nameTable); uint count = ReadUInt (reader, 1000); while (count-- > 0) member.Add (ReadAttribute (reader, nameTable, objectTable)); }