void DefineIteratorScopes(SymbolToken method_token, Collection <InstructionRange> scopes, int code_size) { var buffer = new PE.ByteBuffer(); buffer.WriteByte(4); buffer.WriteByte(1); buffer.Align(4); buffer.WriteByte(4); buffer.WriteByte(3); buffer.Align(4); buffer.WriteInt32(scopes.Count * 8 + 12); buffer.WriteInt32(scopes.Count); foreach (InstructionRange scope in scopes) { buffer.WriteInt32(scope.Start != null ? scope.Start.Offset : code_size); buffer.WriteInt32(scope.End.Next != null ? scope.End.Next.Offset : code_size); } writer.SetSymAttribute(method_token, "MD2", buffer.length, buffer.buffer); }
void DefineIteratorScopes(SymbolToken method_token, Collection <RangeSymbol> scopes) { var buffer = new PE.ByteBuffer(); buffer.WriteByte(4); buffer.WriteByte(1); buffer.Align(4); buffer.WriteByte(4); buffer.WriteByte(3); buffer.Align(4); buffer.WriteInt32(scopes.Count * 8 + 12); buffer.WriteInt32(scopes.Count); foreach (RangeSymbol scope in scopes) { buffer.WriteInt32(scope.Start); buffer.WriteInt32(scope.End); } writer.SetSymAttribute(method_token, "MD2", buffer.length, buffer.buffer); }
void DefineIteratorScopes(SymbolToken method_token, Collection<InstructionRange> scopes, int code_size) { var buffer = new PE.ByteBuffer (); buffer.WriteByte (4); buffer.WriteByte (1); buffer.Align (4); buffer.WriteByte (4); buffer.WriteByte (3); buffer.Align (4); buffer.WriteInt32 (scopes.Count * 8 + 12); buffer.WriteInt32 (scopes.Count); foreach (InstructionRange scope in scopes) { buffer.WriteInt32 (scope.Start.Offset); buffer.WriteInt32 (scope.End.Next != null ? scope.End.Next.Offset : code_size); } writer.SetSymAttribute (method_token, "MD2", buffer.length, buffer.buffer); }
void DefineIteratorScopes(SymbolToken method_token, Collection<RangeSymbol> scopes) { var buffer = new PE.ByteBuffer (); buffer.WriteByte (4); buffer.WriteByte (1); buffer.Align (4); buffer.WriteByte (4); buffer.WriteByte (3); buffer.Align (4); buffer.WriteInt32 (scopes.Count * 8 + 12); buffer.WriteInt32 (scopes.Count); foreach (RangeSymbol scope in scopes) { buffer.WriteInt32 (scope.Start); buffer.WriteInt32 (scope.End); } writer.SetSymAttribute (method_token, "MD2", buffer.length, buffer.buffer); }