SetProperty (propertyName, propertyValue, false);
}
- // FIXME: add a test for SetProperty on property from xml
public void SetProperty (string propertyName,
string propertyValue,
bool treatPropertyValueAsLiteral)
{
if (read_only)
return;
+ if (FromXml)
+ throw new InvalidOperationException (
+ "This method is only valid for virtual property groups, not <PropertyGroup> elements.");
+
+ if (treatPropertyValueAsLiteral)
+ propertyValue = Utilities.Escape (propertyValue);
if (propertiesByName.ContainsKey (propertyName))
propertiesByName.Remove (propertyName);
- BuildProperty bp;
- if (treatPropertyValueAsLiteral)
- bp = new BuildProperty (propertyName, Utilities.Escape (propertyValue));
- else
- bp = new BuildProperty (propertyName, propertyValue);
-
+ BuildProperty bp = new BuildProperty (propertyName, propertyValue);
if (Char.IsDigit (propertyName [0]))
- throw new ArgumentException (String.Format ("The name \"{0}\" contains an invalid character \"{1}\".", propertyName, propertyName [0]));
+ throw new ArgumentException (String.Format (
+ "The name \"{0}\" contains an invalid character \"{1}\".", propertyName, propertyName [0]));
AddProperty (bp);