Пример #1
0
        public static string ToTestString(this AssignCall assignCall)
        {
            var targetCall = assignCall.Variable?.ToTestString()
                             ?? assignCall.FieldAccess?.ToTestString()
                             ?? throw new ArgumentOutOfRangeException(nameof(assignCall));

            return($"{targetCall} := {assignCall.MethodId} [ {string.Join(" ", assignCall.Args.Select(ToTestString))} ]");
        }
Пример #2
0
            private string SerializeAssignCall(AssignCall assignCall)
            {
                string target;

                switch (assignCall.TargetCase)
                {
                case AssignCall.TargetOneofCase.Variable:
                    target = SerializeVariable(assignCall.Variable);
                    break;

                case AssignCall.TargetOneofCase.FieldAccess:
                    target = SerializeFieldAccess(assignCall.FieldAccess);
                    break;

                default:
                    throw new NotSupportedException(assignCall.TargetCase.ToString());
                }

                var arguments = string.Join(", ", assignCall.Args.Select(SerializeExpression));

                return($"{target} := {assignCall.MethodId} [ {arguments} ]");
            }