/// <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);
     }
 }
예제 #2
0
        // 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);
예제 #3
0
 /// <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);
예제 #4
0
 /// <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;
 }