BackEnd\BuildManager\BuildParameters.cs (15)
133private PropertyDictionary<ProjectPropertyInstance> _environmentProperties = new PropertyDictionary<ProjectPropertyInstance>();
143private PropertyDictionary<ProjectPropertyInstance> _globalProperties = new PropertyDictionary<ProjectPropertyInstance>();
255Initialize(new PropertyDictionary<ProjectPropertyInstance>(projectCollection.EnvironmentProperties), projectCollection.ProjectRootElementCache, new ToolsetProvider(projectCollection.Toolsets));
263_globalProperties = new PropertyDictionary<ProjectPropertyInstance>(projectCollection.GlobalPropertiesCollection);
290_environmentProperties = other._environmentProperties != null ? new PropertyDictionary<ProjectPropertyInstance>(other._environmentProperties) : null;
292_globalProperties = other._globalProperties != null ? new PropertyDictionary<ProjectPropertyInstance>(other._globalProperties) : null;
453return new ReadOnlyConvertingDictionary<string, ProjectPropertyInstance, string>(_environmentProperties,
488return new ReadOnlyConvertingDictionary<string, ProjectPropertyInstance, string>(_globalProperties,
494_globalProperties = new PropertyDictionary<ProjectPropertyInstance>(value.Count);
497_globalProperties[property.Key] = ProjectPropertyInstance.Create(property.Key, property.Value);
754internal PropertyDictionary<ProjectPropertyInstance> EnvironmentPropertiesInternal
768internal PropertyDictionary<ProjectPropertyInstance> GlobalPropertiesInternal => _globalProperties;
1041private void Initialize(PropertyDictionary<ProjectPropertyInstance> environmentProperties, ProjectRootElementCacheBase projectRootElementCache, ToolsetProvider toolsetProvider)
BackEnd\Components\RequestBuilder\IntrinsicTasks\ItemGroupIntrinsicTask.cs (8)
393Expander<ProjectPropertyInstance, ProjectItemInstance> expander,
590Expander<ProjectPropertyInstance, ProjectItemInstance> expander)
657Expander<ProjectPropertyInstance, ProjectItemInstance> expander,
661ItemSpec<ProjectPropertyInstance, ProjectItemInstance> itemSpec = new ItemSpec<ProjectPropertyInstance, ProjectItemInstance>(child.Remove, expander, child.RemoveLocation, Project.Directory, true);
663itemSpec.Fragments.All(f => f is ItemSpec<ProjectPropertyInstance, ProjectItemInstance>.ItemExpressionFragment),
668MetadataTrie<ProjectPropertyInstance, ProjectItemInstance> metadataSet = new MetadataTrie<ProjectPropertyInstance, ProjectItemInstance>(matchingOptions, matchOnMetadata, itemSpec);
BackEnd\Components\RequestBuilder\Lookup.cs (18)
58internal class Lookup : IPropertyProvider<ProjectPropertyInstance>, IItemProvider<ProjectItemInstance>
102internal Lookup(IItemDictionary<ProjectItemInstance> projectItems, PropertyDictionary<ProjectPropertyInstance> properties)
156private PropertyDictionary<ProjectPropertyInstance> PrimaryPropertySets
180private PropertyDictionary<ProjectPropertyInstance> SecondaryProperties
186private PropertyDictionary<ProjectPropertyInstance> SecondaryPropertySets
208foreach (ProjectPropertyInstance property in PrimaryPropertySets)
404SecondaryProperties ??= new PropertyDictionary<ProjectPropertyInstance>(PrimaryPropertySets.Count);
415public ProjectPropertyInstance GetProperty(string name, int startIndex, int endIndex)
424ProjectPropertyInstance property = scope.PropertySets.GetProperty(name, startIndex, endIndex);
433ProjectPropertyInstance property = scope.Properties.GetProperty(name, startIndex, endIndex);
451public ProjectPropertyInstance GetProperty(string name)
708internal void SetProperty(ProjectPropertyInstance property)
714PrimaryPropertySets ??= new PropertyDictionary<ProjectPropertyInstance>();
1414private PropertyDictionary<ProjectPropertyInstance> _properties;
1419private PropertyDictionary<ProjectPropertyInstance> _propertySets;
1437internal Scope(Lookup lookup, string description, PropertyDictionary<ProjectPropertyInstance> properties)
1515internal PropertyDictionary<ProjectPropertyInstance> Properties
1523internal PropertyDictionary<ProjectPropertyInstance> PropertySets
Definition\Toolset.cs (37)
69private PropertyDictionary<ProjectPropertyInstance> _properties;
84private PropertyDictionary<ProjectPropertyInstance> _environmentProperties;
89private PropertyDictionary<ProjectPropertyInstance> _globalProperties;
134private Expander<ProjectPropertyInstance, ProjectItemInstance> _expander;
196_properties = new PropertyDictionary<ProjectPropertyInstance>();
201_properties.Set(ProjectPropertyInstance.Create(keyValuePair.Key, keyValuePair.Value, true));
215internal Toolset(string toolsVersion, string toolsPath, PropertyDictionary<ProjectPropertyInstance> environmentProperties, PropertyDictionary<ProjectPropertyInstance> globalProperties, string msbuildOverrideTasksPath, string defaultOverrideToolsVersion)
249PropertyDictionary<ProjectPropertyInstance> buildProperties,
250PropertyDictionary<ProjectPropertyInstance> environmentProperties,
251PropertyDictionary<ProjectPropertyInstance> globalProperties,
261? new PropertyDictionary<ProjectPropertyInstance>(buildProperties)
262: new PropertyDictionary<ProjectPropertyInstance>();
294internal Toolset(string toolsVersion, string toolsPath, PropertyDictionary<ProjectPropertyInstance> buildProperties, ProjectCollection projectCollection, DirectoryGetFiles getFiles, LoadXmlFromPath loadXmlFromPath, string msbuildOverrideTasksPath, DirectoryExists directoryExists)
389public IDictionary<string, ProjectPropertyInstance> Properties
395return ReadOnlyEmptyDictionary<string, ProjectPropertyInstance>.Instance;
398return new ObjectModel.ReadOnlyDictionary<string, ProjectPropertyInstance>(_properties);
555public ProjectPropertyInstance GetProperty(string propertyName, string subToolsetVersion)
558ProjectPropertyInstance property = null;
641internal string GenerateSubToolsetVersion(PropertyDictionary<ProjectPropertyInstance> overrideGlobalProperties)
645ProjectPropertyInstance subToolsetProperty = overrideGlobalProperties[Constants.SubToolsetVersionPropertyName];
677ProjectPropertyInstance visualStudioVersionProperty = _globalProperties[Constants.SubToolsetVersionPropertyName];
688ProjectPropertyInstance visualStudioVersionProperty = _environmentProperties[Constants.SubToolsetVersionPropertyName];
800List<ProjectPropertyInstance> reservedProperties = new List<ProjectPropertyInstance>();
802reservedProperties.Add(ProjectPropertyInstance.Create(ReservedPropertyNames.binPath, EscapingUtilities.Escape(ToolsPath), mayBeReserved: true));
803reservedProperties.Add(ProjectPropertyInstance.Create(ReservedPropertyNames.toolsVersion, ToolsVersion, mayBeReserved: true));
805reservedProperties.Add(ProjectPropertyInstance.Create(ReservedPropertyNames.toolsPath, EscapingUtilities.Escape(ToolsPath), mayBeReserved: true));
806reservedProperties.Add(ProjectPropertyInstance.Create(ReservedPropertyNames.assemblyVersion, Constants.AssemblyVersion, mayBeReserved: true));
807reservedProperties.Add(ProjectPropertyInstance.Create(ReservedPropertyNames.version, MSBuildAssemblyFileVersion.Instance.MajorMinorBuild, mayBeReserved: true));
809reservedProperties.Add(ProjectPropertyInstance.Create(ReservedPropertyNames.msbuildRuntimeType,
826ICollection<ProjectPropertyInstance> subToolsetProperties = null;
837PropertyDictionary<ProjectPropertyInstance> propertyBag = new PropertyDictionary<ProjectPropertyInstance>(count);
852propertyBag.Set(ProjectPropertyInstance.Create(Constants.SubToolsetVersionPropertyName, subToolsetVersion));
862_expander = new Expander<ProjectPropertyInstance, ProjectItemInstance>(propertyBag, FileSystems.Default, loggingContext);
943TaskRegistry.InitializeTaskRegistryFromUsingTaskElements<ProjectPropertyInstance, ProjectItemInstance>(
Definition\ToolsetReader.cs (33)
33private readonly PropertyDictionary<ProjectPropertyInstance> _environmentProperties;
39PropertyDictionary<ProjectPropertyInstance> environmentProperties,
40PropertyDictionary<ProjectPropertyInstance> globalProperties)
82internal static string ReadAllToolsets(Dictionary<string, Toolset> toolsets, PropertyDictionary<ProjectPropertyInstance> environmentProperties, PropertyDictionary<ProjectPropertyInstance> globalProperties, ToolsetDefinitionLocations locations)
102PropertyDictionary<ProjectPropertyInstance> environmentProperties,
103PropertyDictionary<ProjectPropertyInstance> globalProperties,
107new PropertyDictionary<ProjectPropertyInstance>(environmentProperties);
165var props = new PropertyDictionary<ProjectPropertyInstance>();
225new PropertyDictionary<ProjectPropertyInstance>(),
340PropertyDictionary<ProjectPropertyInstance> globalProperties,
341PropertyDictionary<ProjectPropertyInstance> initialProperties,
398PropertyDictionary<ProjectPropertyInstance> globalProperties,
399PropertyDictionary<ProjectPropertyInstance> initialProperties,
412PropertyDictionary<ProjectPropertyInstance> initialPropertiesClone = new PropertyDictionary<ProjectPropertyInstance>(initialProperties);
432PropertyDictionary<ProjectPropertyInstance> globalProperties,
433PropertyDictionary<ProjectPropertyInstance> initialProperties,
442PropertyDictionary<ProjectPropertyInstance> properties = new PropertyDictionary<ProjectPropertyInstance>();
446Expander<ProjectPropertyInstance, ProjectItemInstance> expander = new Expander<ProjectPropertyInstance, ProjectItemInstance>(initialProperties, FileSystems.Default);
461PropertyDictionary<ProjectPropertyInstance> subToolsetProperties = new PropertyDictionary<ProjectPropertyInstance>();
515private void EvaluateAndSetProperty(ToolsetPropertyDefinition property, PropertyDictionary<ProjectPropertyInstance> properties, PropertyDictionary<ProjectPropertyInstance> globalProperties, PropertyDictionary<ProjectPropertyInstance> initialProperties, bool accumulateProperties, ref string toolsPath, ref string binPath, ref Expander<ProjectPropertyInstance, ProjectItemInstance> expander)
564expander = new Expander<ProjectPropertyInstance, ProjectItemInstance>(initialProperties, FileSystems.Default);
572private string ExpandPropertyUnescaped(ToolsetPropertyDefinition property, Expander<ProjectPropertyInstance, ProjectItemInstance> expander)
589private void SetProperty(ToolsetPropertyDefinition property, PropertyDictionary<ProjectPropertyInstance> propertyGroup, PropertyDictionary<ProjectPropertyInstance> globalProperties)
596propertyGroup.Set(ProjectPropertyInstance.Create(property.Name, EscapingUtilities.UnescapeAll(property.Value), true /* may be reserved */, false /* not immutable */));
Instance\ImmutableProjectCollections\ImmutableGlobalPropertiesCollectionConverter.cs (40)
28IRetrievableValuedEntryHashSet<ProjectPropertyInstance>,
32private readonly PropertyDictionary<ProjectPropertyInstance> _allProperties;
37PropertyDictionary<ProjectPropertyInstance> allProperties)
44public ProjectPropertyInstance this[string key]
64public ICollection<ProjectPropertyInstance> Values => _values;
66public void Add(ProjectPropertyInstance item) => throw new NotSupportedException();
68public void Add(string key, ProjectPropertyInstance value) => throw new NotSupportedException();
70public void Add(KeyValuePair<string, ProjectPropertyInstance> item) => throw new NotSupportedException();
74public bool Contains(ProjectPropertyInstance item) => _values.Contains(item);
76public bool Contains(KeyValuePair<string, ProjectPropertyInstance> itemKvp) => _values.Contains(itemKvp.Value);
80public void CopyTo(ProjectPropertyInstance[] array) => _values.CopyTo(array, arrayIndex: 0);
82public void CopyTo(ProjectPropertyInstance[] array, int arrayIndex) => _values.CopyTo(array, arrayIndex);
84public void CopyTo(ProjectPropertyInstance[] array, int arrayIndex, int count) => _values.CopyTo(array, arrayIndex, count);
86public void CopyTo(KeyValuePair<string, ProjectPropertyInstance>[] array, int arrayIndex)
93ProjectPropertyInstance instance = _allProperties[itemKey];
96array[currentIndex] = new KeyValuePair<string, ProjectPropertyInstance>(itemKey, instance);
102public ProjectPropertyInstance Get(string key)
107public ProjectPropertyInstance Get(string key, int index, int length)
112ProjectPropertyInstance actualProperty = _allProperties.Get(key, index, length);
121public IEnumerator<ProjectPropertyInstance> GetEnumerator() => _values.GetEnumerator();
127public bool Remove(ProjectPropertyInstance item) => throw new NotSupportedException();
131public bool Remove(KeyValuePair<string, ProjectPropertyInstance> item) => throw new NotSupportedException();
141public bool TryGetValue(string key, out ProjectPropertyInstance value)
143ProjectPropertyInstance instance = Get(key);
148public void UnionWith(IEnumerable<ProjectPropertyInstance> other) => throw new NotSupportedException();
150IEnumerator<KeyValuePair<string, ProjectPropertyInstance>> IEnumerable<KeyValuePair<string, ProjectPropertyInstance>>.GetEnumerator()
154ProjectPropertyInstance instance = _allProperties[itemKey];
157yield return new KeyValuePair<string, ProjectPropertyInstance>(itemKey, instance);
164private class ValuesCollection : ICollection<ProjectPropertyInstance>
177public void Add(ProjectPropertyInstance item) => throw new NotSupportedException();
181public bool Remove(ProjectPropertyInstance item) => throw new NotSupportedException();
183public bool Contains(ProjectPropertyInstance item)
190ProjectPropertyInstance actualInstance = _parent._allProperties[item.Name];
200public void CopyTo(ProjectPropertyInstance[] array, int arrayIndex)
205public void CopyTo(ProjectPropertyInstance[] array, int arrayIndex, int count)
218ProjectPropertyInstance instance = _parent._allProperties[itemKey];
228public IEnumerator<ProjectPropertyInstance> GetEnumerator()
232ProjectPropertyInstance instance = _parent._allProperties[itemKey];
244ProjectPropertyInstance instance = _parent._allProperties[itemKey];
Instance\ProjectInstance.cs (141)
79public class ProjectInstance : IPropertyProvider<ProjectPropertyInstance>, IItemProvider<ProjectItemInstance>, IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>, ITranslatable
107private PropertyDictionary<ProjectPropertyInstance> _globalProperties;
123private PropertyDictionary<ProjectPropertyInstance> _properties;
128private PropertyDictionary<ProjectPropertyInstance> _environmentVariableProperties;
133private PropertyDictionary<ProjectPropertyInstance> _sdkResolvedEnvironmentVariableProperties;
396_globalProperties = new PropertyDictionary<ProjectPropertyInstance>(project.GlobalPropertiesCount);
399_globalProperties.Set(ProjectPropertyInstance.Create(property.Key, property.Value));
460_globalProperties = new PropertyDictionary<ProjectPropertyInstance>(globalPropertiesRetrievableHashSet);
566_globalProperties = new PropertyDictionary<ProjectPropertyInstance>(globalProperties.Count);
570_properties = new PropertyDictionary<ProjectPropertyInstance>(projectToInheritFrom._properties); // This brings along the reserved properties, which are important.
592IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance> thisAsIEvaluatorData = this;
598_globalProperties[property.Key] = ProjectPropertyInstance.Create(property.Key, property.Value, false /* may not be reserved */, _isImmutable);
673internal ProjectInstance(Evaluation.Project.Data data, string directory, string fullPath, HostServices hostServices, PropertyDictionary<ProjectPropertyInstance> environmentVariableProperties, ProjectInstanceSettings settings)
717private void CreateSdkResolvedEnvironmentVariablePropertiesSnapshot(PropertyDictionary<ProjectPropertyInstance> sdkResolvedEnvironmentVariablePropertiesDictionary)
719_sdkResolvedEnvironmentVariableProperties = new PropertyDictionary<ProjectPropertyInstance>(sdkResolvedEnvironmentVariablePropertiesDictionary.Count);
721foreach (ProjectPropertyInstance environmentProperty in sdkResolvedEnvironmentVariablePropertiesDictionary)
754_properties = new PropertyDictionary<ProjectPropertyInstance>(that._properties.Count);
756foreach (ProjectPropertyInstance property in that.Properties)
768_globalProperties = new PropertyDictionary<ProjectPropertyInstance>(that._globalProperties.Count);
770foreach (ProjectPropertyInstance globalProperty in that.GlobalPropertiesDictionary)
776new PropertyDictionary<ProjectPropertyInstance>(that._environmentVariableProperties.Count);
778foreach (ProjectPropertyInstance environmentProperty in that._environmentVariableProperties)
783if (that._sdkResolvedEnvironmentVariableProperties is PropertyDictionary<ProjectPropertyInstance> thatEnvProps)
787foreach (ProjectPropertyInstance sdkResolvedEnvironmentVariable in thatEnvProps)
795((IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance,
797((IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance,
799((IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance,
801((IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance,
827_properties = new PropertyDictionary<ProjectPropertyInstance>(filter.PropertyFilters.Count);
828_globalProperties = new PropertyDictionary<ProjectPropertyInstance>(filter.PropertyFilters.Count);
830new PropertyDictionary<ProjectPropertyInstance>(filter.PropertyFilters.Count);
832new PropertyDictionary<ProjectPropertyInstance>(filter.PropertyFilters.Count);
837var regularProperty = that.GetProperty(desiredProperty);
843var globalProperty = that.GetProperty(desiredProperty);
849var environmentProperty = that._environmentVariableProperties?.GetProperty(desiredProperty);
854var sdkResolvedEnvironmentProperty = that._sdkResolvedEnvironmentVariableProperties?.GetProperty(desiredProperty);
1051private static PropertyDictionary<ProjectPropertyInstance> GetImmutablePropertyDictionaryFromImmutableProject(Project linkedProject)
1065return new PropertyDictionary<ProjectPropertyInstance>(hashSet);
1068private static ProjectPropertyInstance ConvertCachedPropertyToInstance(ProjectProperty property)
1070ProjectPropertyInstance result = null;
1072if (property is IImmutableInstanceProvider<ProjectPropertyInstance> instanceProvider)
1153bool IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.CanEvaluateElementsWithFalseConditions => false;
1158public ICollection<ProjectPropertyInstance> Properties
1164(ICollection<ProjectPropertyInstance>)ReadOnlyEmptyCollection<ProjectPropertyInstance>.Instance :
1165new ReadOnlyCollection<ProjectPropertyInstance>(_properties);
1320TaskRegistry IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.TaskRegistry
1337Toolset IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.Toolset
1348string IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.SubToolsetVersion
1362string IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.ExplicitToolsVersion
1372PropertyDictionary<ProjectPropertyInstance> IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.GlobalPropertiesDictionary
1379PropertyDictionary<ProjectPropertyInstance> IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.EnvironmentVariablePropertiesDictionary
1384PropertyDictionary<ProjectPropertyInstance> IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.SdkResolvedEnvironmentVariablePropertiesDictionary
1406ProjectPropertyInstance.SdkResolvedEnvironmentVariablePropertyInstance property = new(name, value);
1413((IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>)this)
1421private void LogIfValueDiffers(PropertyDictionary<ProjectPropertyInstance> propertyDictionary, string name, string attemptedValue, string messageResourceName)
1423ProjectPropertyInstance existingProperty = propertyDictionary.GetProperty(name);
1433ISet<string> IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.GlobalPropertiesToTreatAsLocal
1449PropertyDictionary<ProjectPropertyInstance> IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.Properties
1459IEnumerable<ProjectItemDefinitionInstance> IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.ItemDefinitionsEnumerable
1469IItemDictionary<ProjectItemInstance> IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.Items
1480List<string> IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.InitialTargets
1498List<string> IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.DefaultTargets
1516IDictionary<string, List<TargetSpecification>> IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.BeforeTargets
1526IDictionary<string, List<TargetSpecification>> IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.AfterTargets
1539Dictionary<string, List<string>> IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.ConditionedProperties
1553bool IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.ShouldEvaluateForDesignTime
1571internal PropertyDictionary<ProjectPropertyInstance> GlobalPropertiesDictionary
1638internal PropertyDictionary<ProjectPropertyInstance> PropertiesToBuildWith
1645internal ICollection<ProjectPropertyInstance> TestEnvironmentalProperties => new ReadOnlyCollection<ProjectPropertyInstance>(_environmentVariableProperties);
1747public static string GetPropertyValueEscaped(ProjectPropertyInstance property)
1770void IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.
1780void IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.FinishEvaluation()
1790void IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.AddItem(ProjectItemInstance item)
1801void IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.AddItemIgnoringCondition(ProjectItemInstance item)
1810IItemDefinition<ProjectMetadataInstance> IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.AddItemDefinition(string itemType)
1828void IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.AddToAllEvaluatedPropertiesList(ProjectPropertyInstance property)
1842void IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.AddToAllEvaluatedItemDefinitionMetadataList(ProjectMetadataInstance itemDefinitionMetadatum)
1856void IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.AddToAllEvaluatedItemsList(ProjectItemInstance item)
1864IItemDefinition<ProjectMetadataInstance> IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.GetItemDefinition(string itemType)
1879ProjectPropertyInstance IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.SetProperty(string name, string evaluatedValueEscaped, bool isGlobalProperty, bool mayBeReserved, LoggingContext loggingContext, bool isEnvironmentVariable, bool isCommandLineProperty)
1882ProjectPropertyInstance property = ProjectPropertyInstance.Create(name, evaluatedValueEscaped, mayBeReserved, _isImmutable, isEnvironmentVariable, loggingContext);
1892ProjectPropertyInstance IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.SetProperty(ProjectPropertyElement propertyElement, string evaluatedValueEscaped, LoggingContext loggingContext)
1895ProjectPropertyInstance property = ProjectPropertyInstance.Create(propertyElement.Name, evaluatedValueEscaped, false /* may not be reserved */, _isImmutable);
1903ProjectTargetInstance IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.GetTarget(string targetName)
1916void IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.AddTarget(ProjectTargetInstance target)
1924void IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.RecordImport(
1935_sdkResolvedEnvironmentVariableProperties.Set(ProjectPropertyInstance.Create(environmentVariable.Key, environmentVariable.Value, importElement.Location, isImmutable: true));
1938((IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>)this).RecordImportWithDuplicates(importElement, import, versionEvaluated);
1944void IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.RecordImportWithDuplicates(ProjectImportElement importElement, ProjectRootElement import, int versionEvaluated)
1954public ProjectPropertyInstance GetProperty(string name)
1965ProjectPropertyInstance IPropertyProvider<ProjectPropertyInstance>.GetProperty(string name, int startIndex, int endIndex)
2017public ProjectPropertyInstance SetProperty(string name, string evaluatedValue)
2021ProjectPropertyInstance property = ProjectPropertyInstance.Create(name, evaluatedValue, false /* may not be reserved */, _isImmutable);
2330Expander<ProjectPropertyInstance, ProjectItemInstance> expander = new Expander<ProjectPropertyInstance, ProjectItemInstance>(this, this, FileSystems.Default, _loggingContext);
2348Expander<ProjectPropertyInstance, ProjectItemInstance> expander = new Expander<ProjectPropertyInstance, ProjectItemInstance>(this, this, FileSystems.Default, _loggingContext);
2394foreach (ProjectPropertyInstance property in _properties)
2427_globalProperties = new PropertyDictionary<ProjectPropertyInstance>(projectState._globalProperties);
2428_properties = new PropertyDictionary<ProjectPropertyInstance>(projectState._properties);
2498translator.TranslateDictionary(ref _globalProperties, ProjectPropertyInstance.FactoryForDeserialization);
2499translator.TranslateDictionary(ref _properties, ProjectPropertyInstance.FactoryForDeserialization);
2538translator.TranslateDictionary(ref _environmentVariableProperties, ProjectPropertyInstance.FactoryForDeserialization);
2539translator.TranslateDictionary(ref _globalProperties, ProjectPropertyInstance.FactoryForDeserialization);
2540translator.TranslateDictionary(ref _properties, ProjectPropertyInstance.FactoryForDeserialization);
2624PropertyDictionary<ProjectPropertyInstance> globalPropertiesInstances,
2643foreach (ProjectPropertyInstance propertyInstance in globalPropertiesInstances)
2847if (((IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>)this).BeforeTargets.TryGetValue(target, out beforeTargetsForTarget))
2864if (((IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>)this).AfterTargets.TryGetValue(target, out afterTargetsForTarget))
3148private static ProjectPropertyInstance InstantiateProjectPropertyInstance(ProjectProperty property, bool isImmutable)
3152var instance = ProjectPropertyInstance.Create(
3194_properties = new PropertyDictionary<ProjectPropertyInstance>();
3202_globalProperties = new PropertyDictionary<ProjectPropertyInstance>((globalProperties == null) ? 0 : globalProperties.Count);
3257_globalProperties.Set(ProjectPropertyInstance.Create(globalProperty.Key, explicitSubToolsetVersion, false /* may not be reserved */, _isImmutable));
3261_globalProperties.Set(ProjectPropertyInstance.Create(globalProperty.Key, globalProperty.Value, false /* may not be reserved */, _isImmutable));
3275Evaluator<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>.Evaluate(
3329((IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>)this).BeforeTargets = CreateCloneDictionary(beforeTargets, StringComparer.OrdinalIgnoreCase);
3330((IEvaluatorData<ProjectPropertyInstance, ProjectItemInstance, ProjectMetadataInstance, ProjectItemDefinitionInstance>)this).AfterTargets = CreateCloneDictionary(afterTargets, StringComparer.OrdinalIgnoreCase);
3368private void CreateEnvironmentVariablePropertiesSnapshot(PropertyDictionary<ProjectPropertyInstance> environmentVariableProperties)
3370_environmentVariableProperties = new PropertyDictionary<ProjectPropertyInstance>(environmentVariableProperties.Count);
3372foreach (ProjectPropertyInstance environmentProperty in environmentVariableProperties)
3381private void CreateGlobalPropertiesSnapshot(PropertyDictionary<ProjectPropertyInstance> globalPropertiesDictionary)
3383_globalProperties = new PropertyDictionary<ProjectPropertyInstance>(globalPropertiesDictionary.Count);
3385foreach (ProjectPropertyInstance globalProperty in globalPropertiesDictionary)
3549_properties = new PropertyDictionary<ProjectPropertyInstance>(properties.Count);
3553ProjectPropertyInstance instance = InstantiateProjectPropertyInstance(property, isImmutable);
Instance\ProjectPropertyInstance.cs (17)
24public class ProjectPropertyInstance : IKeyed, IValued, IProperty, IEquatable<ProjectPropertyInstance>, ITranslatable
149bool IEquatable<ProjectPropertyInstance>.Equals(ProjectPropertyInstance other)
201internal static ProjectPropertyInstance Create(string name, string escapedValue)
215internal static ProjectPropertyInstance Create(string name, string escapedValue, bool mayBeReserved)
226internal static ProjectPropertyInstance Create(string name, string escapedValue, bool mayBeReserved, bool isImmutable, bool isEnvironmentProperty = false, LoggingContext loggingContext = null)
236internal static ProjectPropertyInstance Create(string name, string escapedValue, ElementLocation location)
245internal static ProjectPropertyInstance Create(string name, string escapedValue, ElementLocation location, bool isImmutable)
254internal static ProjectPropertyInstance Create(ProjectPropertyInstance that)
263internal static ProjectPropertyInstance Create(ProjectPropertyInstance that, bool isImmutable)
271internal static ProjectPropertyInstance FactoryForDeserialization(ITranslator translator)
288internal ProjectPropertyInstance DeepClone()
296internal ProjectPropertyInstance DeepClone(bool isImmutable)
322private static ProjectPropertyInstance Create(string name, string escapedValue, bool mayBeReserved, ElementLocation location, bool isImmutable, bool isEnvironmentProperty = false, LoggingContext loggingContext = null)
339ProjectPropertyInstance instance = isEnvironmentProperty ? new EnvironmentDerivedProjectPropertyInstance(name, escapedValue, loggingContext) :
Utilities\Utilities.cs (12)
476internal static PropertyDictionary<ProjectPropertyInstance> GetEnvironmentProperties(bool makeReadOnly)
480var envPropertiesHashSet = new RetrievableValuedEntryHashSet<ProjectPropertyInstance>(environmentVariablesBag.Count + 2, MSBuildNameIgnoreCaseComparer.Default);
497envPropertiesHashSet.Add(ProjectPropertyInstance.Create(ReservedPropertyNames.extensionsPath32, extensionsPath32, true));
514envPropertiesHashSet.Add(ProjectPropertyInstance.Create(ReservedPropertyNames.extensionsPath64, extensionsPath64, true));
537envPropertiesHashSet.Add(ProjectPropertyInstance.Create(ReservedPropertyNames.extensionsPath, extensionsPath, true));
543ProjectPropertyInstance localAppDataProp = envPropertiesHashSet.Get(ReservedPropertyNames.localAppData);
565envPropertiesHashSet.Add(ProjectPropertyInstance.Create(ReservedPropertyNames.localAppData, localAppData));
569envPropertiesHashSet.Add(ProjectPropertyInstance.Create(ReservedPropertyNames.userExtensionsPath, userExtensionsPath));
582ProjectPropertyInstance environmentProperty = ProjectPropertyInstance.Create(environmentVariableName, environmentVariable.Value);
598var environmentProperties = new PropertyDictionary<ProjectPropertyInstance>(envPropertiesHashSet);
680if (properties is PropertyDictionary<ProjectPropertyInstance> propertyInstanceDictionary)