public IPyValue MakeSetValueExpression(IPyValue v) { if (TranslationInfo == null) { throw new ArgumentNullException("translationInfo"); } if (TranslationInfo.IsStatic) { throw new NotSupportedException(); } if (TranslationInfo.GetSetByMethod) { var a = new PyMethodCallExpression(TranslationInfo.SetMethodName); a.Arguments.Add(new PyMethodInvokeValue(v)); a.TargetObject = TargetObject; return(a); } else { var a = new PyInstanceFieldAccessExpression(TranslationInfo.FieldScriptName, TargetObject, null); var b = new PyAssignExpression(a, v); return(b); } }
public static PyArrayCreateExpression MakeKeyValue(params IPyValue[] keyValues) { if (keyValues.Length % 2 == 1) { throw new ArgumentException("key_values"); } var a = new List <IPyValue>(); for (var i = 1; i < keyValues.Length; i += 2) { if (keyValues[i] == null) { continue; } var g = new PyAssignExpression(keyValues[i - 1], keyValues[i]); a.Add(g); } return(new PyArrayCreateExpression(a.ToArray())); }