private void InsertTopLevelParameterAssignments(BlockStatement block) { V_0 = 0; while (V_0 < this.context.get_MethodContext().get_OutParametersToAssign().get_Count()) { V_1 = this.context.get_MethodContext().get_OutParametersToAssign().get_Item(V_0); if (V_1.get_ParameterType().get_IsByReference()) { stackVariable18 = V_1.get_ParameterType().GetElementType(); } else { stackVariable18 = V_1.get_ParameterType(); } V_2 = stackVariable18; V_3 = new UnaryExpression(8, new ArgumentReferenceExpression(V_1, null), null); V_4 = new BinaryExpression(26, V_3, V_2.GetDefaultValueExpression(this.typeSystem), V_2, this.typeSystem, null, false); block.AddStatementAt(V_0, new ExpressionStatement(V_4)); V_0 = V_0 + 1; } return; }