public void visit(ExprNode_ArrayConstructor node) { m_stmt.ILGenerator.Emit(OpCodes.Newobj, typeof(List <object>).GetConstructor(new Type[] {})); if (node.Exprs != null) { foreach (var expr in node.Exprs) { m_stmt.ILGenerator.Emit(OpCodes.Dup); new ExprNodeVisitor_CodeEmitor(m_stmt, typeof(object), expr); m_stmt.ILGenerator.Emit(OpCodes.Callvirt, typeof(List <object>).GetMethod("Add")); } } m_currentType = typeof(object); }
public void visit(ExprNode_ArrayConstructor node) { m_stmt.ILGenerator.Emit(OpCodes.Newobj, typeof(List<object>).GetConstructor(new Type[]{})); if (node.Exprs != null) { foreach (var expr in node.Exprs) { m_stmt.ILGenerator.Emit(OpCodes.Dup); new ExprNodeVisitor_CodeEmitor(m_stmt, typeof(object), expr); m_stmt.ILGenerator.Emit(OpCodes.Callvirt, typeof(List<object>).GetMethod("Add")); } } m_currentType = typeof(object); }