public async Task <Variable> SetPropertyAsync(string propName, Variable value, ParsingScript script, string baseName = "") { int ind = propName.IndexOf('.'); if (ind > 0) { // The case a.b.c = ... is dealt here recursively string varName = propName.Substring(0, ind); string actualPropName = propName.Substring(ind + 1); Variable property = await GetPropertyAsync(varName); Utils.CheckNotNull(property, varName, script); Variable result = await property.SetPropertyAsync(actualPropName, value, script, baseName); return(result); } return(FinishSetProperty(propName, value, baseName)); }