StyleCop clean SyncReport

This commit is contained in:
Matthias Mailänder
2014-11-01 07:52:41 +01:00
parent 7decbdeae0
commit 8e667304aa

View File

@@ -29,6 +29,21 @@ namespace OpenRA.Network
readonly Report[] syncReports = new Report[NumSyncReports];
int curIndex = 0;
static NamesValuesPair DumpSyncTrait(ISync sync)
{
var type = sync.GetType();
TypeInfo typeInfo;
lock (typeInfoCache)
typeInfo = typeInfoCache[type];
var values = new string[typeInfo.Names.Length];
var index = 0;
foreach (var func in typeInfo.MemberToStringFunctions)
values[index++] = func(sync);
return Pair.New(typeInfo.Names, values);
}
public SyncReport(OrderManager orderManager)
{
this.orderManager = orderManager;
@@ -80,21 +95,6 @@ namespace OpenRA.Network
}
}
static NamesValuesPair DumpSyncTrait(ISync sync)
{
var type = sync.GetType();
TypeInfo typeInfo;
lock (typeInfoCache)
typeInfo = typeInfoCache[type];
var values = new string[typeInfo.Names.Length];
var index = 0;
foreach (var func in typeInfo.MemberToStringFunctions)
values[index++] = func(sync);
return Pair.New(typeInfo.Names, values);
}
internal void DumpSyncReport(int frame)
{
foreach (var r in syncReports)
@@ -182,11 +182,10 @@ namespace OpenRA.Network
"Invalid Property: " + prop.DeclaringType.FullName + "." + prop.Name);
var sync = Expression.Convert(syncParam, type);
MemberToStringFunctions = fields.Select(
fi => MemberToString(Expression.Field(sync, fi), fi.FieldType, fi.Name))
.Concat(properties.Select(
pi => MemberToString(Expression.Property(sync, pi), pi.PropertyType, pi.Name))
).ToArray();
MemberToStringFunctions = fields
.Select(fi => MemberToString(Expression.Field(sync, fi), fi.FieldType, fi.Name))
.Concat(properties.Select(pi => MemberToString(Expression.Property(sync, pi), pi.PropertyType, pi.Name)))
.ToArray();
Names = fields.Select(fi => fi.Name).Concat(properties.Select(pi => pi.Name)).ToArray();
}
@@ -198,7 +197,6 @@ namespace OpenRA.Network
var toString = memberType.GetMethod("ToString", Type.EmptyTypes);
Expression getString;
if (memberType.IsValueType)
// (ISync sync) => ((TSync)sync).Foo.ToString()
getString = Expression.Call(getMember, toString);
else
{
@@ -210,6 +208,7 @@ namespace OpenRA.Network
var nullMember = Expression.Constant(null, memberType);
getString = Expression.Condition(Expression.Equal(member, nullMember), nullString, getString);
}
return Expression.Lambda<Func<ISync, string>>(getString, name, new[] { syncParam }).Compile();
}
}