Fix CA1851, assume_method_enumerates_parameters = true
This commit is contained in:
@@ -66,12 +66,12 @@ namespace OpenRA.Mods.Common.Lint
|
||||
granted.Add(g);
|
||||
}
|
||||
|
||||
var unconsumed = granted.Except(consumed);
|
||||
if (unconsumed.Any())
|
||||
var unconsumed = granted.Except(consumed).ToList();
|
||||
if (unconsumed.Count != 0)
|
||||
emitWarning($"Actor type `{actorInfo.Key}` grants conditions that are not consumed: {unconsumed.JoinWith(", ")}.");
|
||||
|
||||
var ungranted = consumed.Except(granted);
|
||||
if (ungranted.Any())
|
||||
var ungranted = consumed.Except(granted).ToList();
|
||||
if (ungranted.Count != 0)
|
||||
emitError($"Actor type `{actorInfo.Key}` consumes conditions that are not granted: {ungranted.JoinWith(", ")}.");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,8 +21,7 @@ namespace OpenRA.Mods.Common.Lint
|
||||
public void Run(Action<string> emitError, Action<string> emitWarning, ModData modData)
|
||||
{
|
||||
var modTypes = modData.ObjectCreator.GetTypes();
|
||||
CheckTypesWithSyncableMembersImplementSyncInterface(modTypes, emitWarning);
|
||||
CheckTypesImplementingSyncInterfaceHaveSyncableMembers(modTypes, emitWarning);
|
||||
CheckTypes(modTypes, emitWarning);
|
||||
}
|
||||
|
||||
static readonly Type SyncInterface = typeof(ISync);
|
||||
@@ -45,18 +44,18 @@ namespace OpenRA.Mods.Common.Lint
|
||||
return false;
|
||||
}
|
||||
|
||||
static void CheckTypesWithSyncableMembersImplementSyncInterface(IEnumerable<Type> types, Action<string> emitWarning)
|
||||
static void CheckTypes(IEnumerable<Type> types, Action<string> emitWarning)
|
||||
{
|
||||
foreach (var type in types)
|
||||
if (!TypeImplementsSync(type) && AnyTypeMemberIsSynced(type))
|
||||
emitWarning($"{type.FullName} has members with the Sync attribute but does not implement ISync.");
|
||||
}
|
||||
{
|
||||
var typeImplementsSync = TypeImplementsSync(type);
|
||||
var anyTypeMemberIsSynced = AnyTypeMemberIsSynced(type);
|
||||
|
||||
static void CheckTypesImplementingSyncInterfaceHaveSyncableMembers(IEnumerable<Type> types, Action<string> emitWarning)
|
||||
{
|
||||
foreach (var type in types)
|
||||
if (TypeImplementsSync(type) && !AnyTypeMemberIsSynced(type))
|
||||
if (!typeImplementsSync && anyTypeMemberIsSynced)
|
||||
emitWarning($"{type.FullName} has members with the Sync attribute but does not implement ISync.");
|
||||
else if (typeImplementsSync && !anyTypeMemberIsSynced)
|
||||
emitWarning($"{type.FullName} implements ISync but does not use the Sync attribute on any members.");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user