private JObject GetJObjectSetter (JProperty prop)
{
// check for presence of ref.elementName
string targetName = null, propName = FormatScalarPropertyName(prop);
Match mWithTarget = ReSetterWithTarget.Match(propName);
if (mWithTarget.Success) {
targetName = mWithTarget.Groups["TargetName"].Value;
propName = mWithTarget.Groups["PropName"].Value;
}
// create JObject setter
var jsetter = new JObject(new JProperty(pnDollar, "Setter"));
{
if (targetName != null)
jsetter.Add(new JProperty(pnTargetName, targetName));
jsetter.Add(new JProperty(pnProperty, propName));
jsetter.Add(new JProperty(pnValue, prop.Value));
}
return jsetter;
}