using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Serein.Script.Node { /// /// 对象成员方法调用 /// public class MemberFunctionCallNode : ASTNode { /// /// 对象来源 /// public ASTNode Object { get; } /// /// 对象中要调用的方法的名称 /// public string FunctionName { get; } /// /// 方法参数来源 /// public List Arguments { get; } public MemberFunctionCallNode(ASTNode @object, string functionName, List arguments) { Object = @object; FunctionName = functionName; Arguments = arguments; } public override string ToString() { var p = string.Join(",", Arguments.Select(p => $"{p}")); return $"{Object}.{FunctionName}({p})"; } } }