Inference/src/CodeGeneration/VisitorCLRCodeGeneration.cs
/// <summary>
/// Push in the stack the i-argument. It performs an unbox if neccesary
/// </summary>
/// <param name="node">Ast node where is the method to invoe</param>
/// <param name="inheritedAttributes">inherited attributes</param>
/// <param name="i">index of the argument</param>
Push in the stack the i-argument. It performs an unbox if neccesary
Push in the stack the i - argument . It performs an unbox if neccesary
private void IntrospectiveInvocationMakeReadyArgument(InvocationExpression node, Object inheritedAttributes, int i) {
            TypeExpression argType = node.Arguments.GetExpressionElement(i).ILTypeExpression;
            this.codeGenerator.dup(this.indent);
            this.codeGenerator.ldci4(this.indent, i);
            node.Arguments.GetExpressionElement(i).Accept(this, inheritedAttributes);
            this.codeGenerator.BoxIfNeeded(this.indent, argType);
            this.codeGenerator.stelemRef(this.indent);
        }
private void IntrospectiveInvocationMakeReadyArgument ( InvocationExpression node , Object inheritedAttributes , int i ) { TypeExpression argType = node . Arguments . GetExpressionElement ( i ) . ILTypeExpression ; this . codeGenerator . dup ( this . indent ) ; this . codeGenerator . ldci4 ( this . indent , i ) ; node . Arguments . GetExpressionElement ( i ) . Accept ( this , inheritedAttributes ) ; this . codeGenerator . BoxIfNeeded ( this . indent , argType ) ; this . codeGenerator . stelemRef ( this . indent ) ; }
Push in the stack the i-argument.
Push in the stack the i - argument .
node
InvocationExpression
Ast node where is the method to invoe
Ast node where is the method to invoe
inheritedAttributes
Object
None
i
int
index of the argument
index of the argument