/// <summary> /// Constructor of BaseCallExpression /// </summary> /// <param name="arguments">Arguments of the invocation.</param> /// <param name="fileName">File name.</param> /// <param name="lineNumber">Line number.</param> /// <param name="columnNumber">Column number.</param> public BaseCallExpression(CompoundExpression arguments, Location location) : base(location) { if (arguments != null) { this.arguments = arguments; } else { this.arguments = new CompoundExpression(location); } }
// CallVirt <token> // Call the virtual method specified by <token>. /// <summary> /// Writes the CallVirt instruction. /// </summary> /// <param name="indent">Indentation to use.</param> /// <param name="memberType">Member type.</param> /// <param name="klass">Class to access to the member.</param> /// <param name="member">Member to call.</param> /// <param name="arguments">Actual arguments</param> public abstract void CallVirt(int indent, MethodType memberType, TypeExpression klass, string member, AST.CompoundExpression arguments);
/// <summary> /// Writes the parameters of a method /// </summary> /// <param name="memberType">The type of the method</param> /// <param name="arguments">Actual arguments</param> public abstract void WriteParams(MethodType memberType, AST.CompoundExpression arguments);
/// <summary> /// Constructor of NewExpression /// </summary> /// <param name="type">TypeExpression to create.</param> /// <param name="arguments">Arguments of the invocation.</param> /// <param name="fileName">File name.</param> /// <param name="lineNumber">Line number.</param> /// <param name="columnNumber">Column number.</param> public NewExpression(string type, CompoundExpression arguments, Location location) : base(arguments, location) { this.typeInfo = type; }
/// <summary> /// Constructor of InvocationExpression /// </summary> /// <param name="name">Name of the expression to invoke.</param> /// <param name="arguments">Arguments of the invocation.</param> /// <param name="fileName">File name.</param> /// <param name="lineNumber">Line number.</param> /// <param name="columnNumber">Column number.</param> public InvocationExpression(Expression identifier, CompoundExpression arguments, Location location) : base(arguments, location) { this.identifier = identifier; }