Cache reflection calls when running utility lints and commands.
Reduces runtime of --check-yaml command to 70% of original.
This commit is contained in:
committed by
Matthias Mailänder
parent
1a2aafa17c
commit
9dd4f938da
@@ -35,7 +35,7 @@ namespace OpenRA.Mods.Common.Lint
|
||||
{
|
||||
foreach (var traitInfo in actorInfo.Value.TraitInfos<TraitInfo>())
|
||||
{
|
||||
var fields = traitInfo.GetType().GetFields().Where(f => f.HasAttribute<VoiceSetReferenceAttribute>());
|
||||
var fields = Utility.GetFields(traitInfo.GetType()).Where(f => Utility.HasAttribute<VoiceSetReferenceAttribute>(f));
|
||||
foreach (var field in fields)
|
||||
{
|
||||
var voiceSets = LintExts.GetFieldValues(traitInfo, field);
|
||||
@@ -57,7 +57,7 @@ namespace OpenRA.Mods.Common.Lint
|
||||
|
||||
foreach (var traitInfo in actorInfo.TraitInfos<TraitInfo>())
|
||||
{
|
||||
var fields = traitInfo.GetType().GetFields().Where(f => f.HasAttribute<VoiceReferenceAttribute>());
|
||||
var fields = Utility.GetFields(traitInfo.GetType()).Where(f => Utility.HasAttribute<VoiceReferenceAttribute>(f));
|
||||
foreach (var field in fields)
|
||||
{
|
||||
var voices = LintExts.GetFieldValues(traitInfo, field);
|
||||
|
||||
Reference in New Issue
Block a user