internal void ClearItemContext()
 {
     this.itemInclude  = null;
     this.itemFile     = null;
     this.recursiveDir = null;
     this.itemMetadata = null;
 }
 internal void SetItemContext(string itemInclude, string itemFile, string recursiveDir, IMSBuildPropertyGroupEvaluated metadata = null)
 {
     this.itemInclude  = itemInclude;
     this.itemFile     = itemFile;
     this.recursiveDir = recursiveDir;
     this.itemMetadata = metadata;
 }
Beispiel #3
0
 internal void SetLoadedValues(IMSBuildPropertyGroupEvaluated loadedProps)
 {
     foreach (var p in GetProperties())
     {
         var ep = loadedProps.GetProperty(p.Name);
         p.InitEvaluatedValue(ep.Value);
     }
 }
        public void UnMerge(IMSBuildPropertyGroupEvaluated baseGrp, ISet <string> propsToExclude)
        {
            AssertCanModify();
            HashSet <string> baseProps = new HashSet <string> ();

            foreach (MSBuildProperty prop in GetProperties())
            {
                if (propsToExclude != null && propsToExclude.Contains(prop.Name))
                {
                    continue;
                }
                baseProps.Add(prop.Name);
                var baseProp = baseGrp.GetProperty(prop.Name);

                // Remove properties whose value is the same as the one set in the global group
                // Remove properties which have the default value and which are not defined in the main group

                if ((baseProp != null && prop.ValueType.Equals(prop.Value, baseProp.Value)) || (baseProp == null && prop.HasDefaultValue))
                {
                    RemoveProperty(prop.Name);
                }
            }
        }
		internal void ClearItemContext ()
		{
			this.itemFile = null;
			this.recursiveDir = null;
			this.itemMetadata = null;
		}
		internal void SetItemContext (string itemFile, string recursiveDir, IMSBuildPropertyGroupEvaluated metadata = null)
		{
			this.itemFile = itemFile;
			this.recursiveDir = recursiveDir;
			this.itemMetadata = metadata;
		}