2 instantiations of RegisteredTaskRecord
Microsoft.Build (2)
Instance\TaskRegistry.cs (2)
703
RegisteredTaskRecord newRecord = new
RegisteredTaskRecord
(
1886
var instance = new
RegisteredTaskRecord
();
81 references to RegisteredTaskRecord
Microsoft.Build (46)
BackEnd\Components\RequestBuilder\RequestBuilder.cs (1)
1339
foreach (TaskRegistry.
RegisteredTaskRecord
registeredTaskRecord in taskRegistry.TaskRegistrations.Values.SelectMany(record => record))
Instance\TaskFactoryWrapper.cs (2)
78
internal TaskRegistry.
RegisteredTaskRecord
.Stats? Statistics { get; private init; }
92
TaskRegistry.
RegisteredTaskRecord
.Stats? statistics = null)
Instance\TaskRegistry.cs (43)
128
private readonly ConcurrentDictionary<RegisteredTaskIdentity,
RegisteredTaskRecord
> _cachedTaskRecordsWithExactMatch =
137
private readonly ConcurrentDictionary<string, ConcurrentDictionary<RegisteredTaskIdentity,
RegisteredTaskRecord
>> _cachedTaskRecordsWithFuzzyMatch = new(StringComparer.OrdinalIgnoreCase);
146
private Dictionary<RegisteredTaskIdentity, List<
RegisteredTaskRecord
>> _taskRegistrations;
153
private readonly Dictionary<string, List<
RegisteredTaskRecord
>> _overriddenTasks = new Dictionary<string, List<
RegisteredTaskRecord
>>();
222
internal IDictionary<RegisteredTaskIdentity, List<
RegisteredTaskRecord
>> TaskRegistrations
320
if (String.IsNullOrEmpty(taskFactory) || taskFactory.Equals(
RegisteredTaskRecord
.AssemblyTaskFactory, StringComparison.OrdinalIgnoreCase) || taskFactory.Equals(
RegisteredTaskRecord
.TaskHostFactory, StringComparison.OrdinalIgnoreCase))
363
if (String.Equals(taskFactory,
RegisteredTaskRecord
.CodeTaskFactory, StringComparison.OrdinalIgnoreCase) || String.Equals(taskFactory,
RegisteredTaskRecord
.XamlTaskFactory, StringComparison.OrdinalIgnoreCase))
413
RegisteredTaskRecord
.ParameterGroupAndTaskElementRecord parameterGroupAndTaskElementRecord = null;
417
parameterGroupAndTaskElementRecord = new
RegisteredTaskRecord
.ParameterGroupAndTaskElementRecord();
463
RegisteredTaskRecord
record = GetTaskRegistrationRecord(taskName, taskProjectFile, taskIdentityParameters, exactMatchRequired, targetLoggingContext, elementLocation, out bool retrievedFromCache, isMultiThreadedBuild);
474
if (record.TaskFactoryAttributeName.Equals(
RegisteredTaskRecord
.AssemblyTaskFactory) || record.TaskFactoryAttributeName.Equals(
RegisteredTaskRecord
.TaskHostFactory))
506
internal
RegisteredTaskRecord
GetTaskRegistrationRecord(
516
RegisteredTaskRecord
taskRecord = null;
523
if (_overriddenTasks.TryGetValue(taskName, out List<
RegisteredTaskRecord
> recs))
528
foreach (
RegisteredTaskRecord
rec in recs)
557
if (_cachedTaskRecordsWithFuzzyMatch.TryGetValue(taskIdentity.Name, out ConcurrentDictionary<RegisteredTaskIdentity,
RegisteredTaskRecord
> taskRecords))
568
foreach (
RegisteredTaskRecord
record in taskRecords.Values)
589
IEnumerable<
RegisteredTaskRecord
> registrations = GetRelevantOrderedRegistrations(taskIdentity, exactMatchRequired);
624
ConcurrentDictionary<RegisteredTaskIdentity,
RegisteredTaskRecord
> taskRecords
650
private IEnumerable<
RegisteredTaskRecord
> GetRelevantOrderedRegistrations(RegisteredTaskIdentity taskIdentity, bool exactMatchRequired)
652
if (_taskRegistrations.TryGetValue(taskIdentity, out List<
RegisteredTaskRecord
> taskAssemblies))
679
RegisteredTaskRecord
.ParameterGroupAndTaskElementRecord inlineTaskRecord,
695
List<
RegisteredTaskRecord
> registeredTaskEntries;
699
registeredTaskEntries = new List<
RegisteredTaskRecord
>();
703
RegisteredTaskRecord
newRecord = new RegisteredTaskRecord(
720
if (_overriddenTasks.TryGetValue(unqualifiedTaskName, out List<
RegisteredTaskRecord
> recs))
722
foreach (
RegisteredTaskRecord
rec in recs)
735
List<
RegisteredTaskRecord
> unqualifiedTaskNameMatches = new();
745
private static Dictionary<RegisteredTaskIdentity, List<
RegisteredTaskRecord
>> CreateRegisteredTaskDictionary(int? capacity = null)
748
? new Dictionary<RegisteredTaskIdentity, List<
RegisteredTaskRecord
>>(capacity.Value, RegisteredTaskIdentity.RegisteredTaskIdentityComparer.Exact)
749
: new Dictionary<RegisteredTaskIdentity, List<
RegisteredTaskRecord
>>(RegisteredTaskIdentity.RegisteredTaskIdentityComparer.Exact);
756
private
RegisteredTaskRecord
GetMatchingRegistration(
758
IEnumerable<
RegisteredTaskRecord
> taskRecords,
1884
internal static
RegisteredTaskRecord
FactoryForDeserialization(ITranslator translator)
1886
var
instance = new RegisteredTaskRecord();
1897
IDictionary<RegisteredTaskIdentity, List<
RegisteredTaskRecord
>> copy = _taskRegistrations;
1902
_taskRegistrations = (Dictionary<RegisteredTaskIdentity, List<
RegisteredTaskRecord
>>)copy;
1916
private void TranslateTaskRegistrationValue(ITranslator translator, ref List<
RegisteredTaskRecord
> taskRecords)
1918
translator.Translate(ref taskRecords,
RegisteredTaskRecord
.FactoryForDeserialization);
Microsoft.Build.Engine.UnitTests (35)
BackEnd\TaskRegistry_Tests.cs (27)
117
List<TaskRegistry.
RegisteredTaskRecord
> registrationRecords = registry.TaskRegistrations[new TaskRegistry.RegisteredTaskIdentity(taskElement.TaskName, TaskHostParameters.Empty)];
157
List<TaskRegistry.
RegisteredTaskRecord
> registrationRecords = registry.TaskRegistrations[new TaskRegistry.RegisteredTaskIdentity(taskElement.TaskName, TaskHostParameters.Empty)];
201
List<TaskRegistry.
RegisteredTaskRecord
> singletonBucket = registry.TaskRegistrations[new TaskRegistry.RegisteredTaskIdentity(elementList[1].TaskName, TaskHostParameters.Empty)];
210
List<TaskRegistry.
RegisteredTaskRecord
> duplicateBucket = registry.TaskRegistrations[new TaskRegistry.RegisteredTaskIdentity(elementList[0].TaskName, TaskHostParameters.Empty)];
216
foreach (TaskRegistry.
RegisteredTaskRecord
record in duplicateBucket)
264
List<TaskRegistry.
RegisteredTaskRecord
> registrationRecords = registry.TaskRegistrations[new TaskRegistry.RegisteredTaskIdentity(taskElement.TaskName, TaskHostParameters.Empty)];
1021
IDictionary<TaskRegistry.RegisteredTaskIdentity, List<TaskRegistry.
RegisteredTaskRecord
>> registeredTasks = registry.TaskRegistrations;
1034
List<TaskRegistry.
RegisteredTaskRecord
> registeredTaskRecords = registry.TaskRegistrations[new TaskRegistry.RegisteredTaskIdentity(expandedtaskName, TaskHostParameters.Empty)];
1077
IDictionary<TaskRegistry.RegisteredTaskIdentity, List<TaskRegistry.
RegisteredTaskRecord
>> registeredTasks = registry.TaskRegistrations;
1089
List<TaskRegistry.
RegisteredTaskRecord
> registeredTaskRecords = registry.TaskRegistrations[new TaskRegistry.RegisteredTaskIdentity(expandedtaskName, TaskHostParameters.Empty)];
1115
IDictionary<TaskRegistry.RegisteredTaskIdentity, List<TaskRegistry.
RegisteredTaskRecord
>> registeredTasks = registry.TaskRegistrations;
1118
List<TaskRegistry.
RegisteredTaskRecord
> registeredTaskRecords = registry.TaskRegistrations[new TaskRegistry.RegisteredTaskIdentity("Hello", TaskHostParameters.Empty)];
1167
IDictionary<TaskRegistry.RegisteredTaskIdentity, List<TaskRegistry.
RegisteredTaskRecord
>> registeredTasks = registry.TaskRegistrations;
1170
List<TaskRegistry.
RegisteredTaskRecord
> registeredTaskRecords = registry.TaskRegistrations[new TaskRegistry.RegisteredTaskIdentity("Name", TaskHostParameters.Empty)];
1173
TaskRegistry.
RegisteredTaskRecord
.ParameterGroupAndTaskElementRecord inlineTaskRecord = registeredTaskRecords[0].ParameterGroupAndTaskBody;
1203
IDictionary<TaskRegistry.RegisteredTaskIdentity, List<TaskRegistry.
RegisteredTaskRecord
>> registeredTasks = registry.TaskRegistrations;
1206
List<TaskRegistry.
RegisteredTaskRecord
> registeredTaskRecords = registry.TaskRegistrations[new TaskRegistry.RegisteredTaskIdentity("Name", TaskHostParameters.Empty)];
1210
TaskRegistry.
RegisteredTaskRecord
.ParameterGroupAndTaskElementRecord inlineTaskRecord = registeredTaskRecords[0].ParameterGroupAndTaskBody;
1576
IDictionary<TaskRegistry.RegisteredTaskIdentity, List<TaskRegistry.
RegisteredTaskRecord
>> registeredTasks = registry.TaskRegistrations;
1579
List<TaskRegistry.
RegisteredTaskRecord
> registeredTaskRecords = registry.TaskRegistrations[new TaskRegistry.RegisteredTaskIdentity("Name", TaskHostParameters.Empty)];
1583
TaskRegistry.
RegisteredTaskRecord
.ParameterGroupAndTaskElementRecord inlineTaskRecord = registeredTaskRecords[0].ParameterGroupAndTaskBody;
1628
List<TaskRegistry.
RegisteredTaskRecord
> registeredTaskRecords = registry.TaskRegistrations[new TaskRegistry.RegisteredTaskIdentity("Name", TaskHostParameters.Empty)];
1631
TaskRegistry.
RegisteredTaskRecord
.ParameterGroupAndTaskElementRecord inlineTaskRecord = registeredTaskRecords[0].ParameterGroupAndTaskBody;
1652
List<TaskRegistry.
RegisteredTaskRecord
> registeredTaskRecords = registry.TaskRegistrations[new TaskRegistry.RegisteredTaskIdentity("Name", TaskHostParameters.Empty)];
1655
TaskRegistry.
RegisteredTaskRecord
.ParameterGroupAndTaskElementRecord inlineTaskRecord = registeredTaskRecords[0].ParameterGroupAndTaskBody;
1902
var
record = registry.GetTaskRegistrationRecord(TestTaskName, null, taskParameters, exactMatchRequired, _targetLoggingContext, _elementLocation, out retrievedFromCache, false);
2037
internal static int GetDeepCountOfRegisteredTasks(IDictionary<TaskRegistry.RegisteredTaskIdentity, List<TaskRegistry.
RegisteredTaskRecord
>> registryRecords)
TestComparers\TaskRegistryComparers.cs (8)
43
internal sealed class RegisteredTaskRecordComparer : IEqualityComparer<TaskRegistry.
RegisteredTaskRecord
>
45
public bool Equals(TaskRegistry.
RegisteredTaskRecord
x, TaskRegistry.
RegisteredTaskRecord
y)
65
public int GetHashCode(TaskRegistry.
RegisteredTaskRecord
obj)
71
internal sealed class ParamterGroupAndTaskBodyComparer : IEqualityComparer<TaskRegistry.
RegisteredTaskRecord
.ParameterGroupAndTaskElementRecord>
74
TaskRegistry.
RegisteredTaskRecord
.ParameterGroupAndTaskElementRecord x,
75
TaskRegistry.
RegisteredTaskRecord
.ParameterGroupAndTaskElementRecord y)
92
public int GetHashCode(TaskRegistry.
RegisteredTaskRecord
.ParameterGroupAndTaskElementRecord obj)