RubyArray members = RubyStruct.members(struct_type,Block.NULL_BLOCK);
for(int i=0,j=members.size();i<j;i++) {
IRubyObject m = members.eltInternal(i);
st.callMethod(runtime.getCurrentContext(), m.toString() + "=", (IRubyObject)val.get(m));
}
for(Iterator iter = props.entrySet().iterator();iter.hasNext();) {
Map.Entry em = (Map.Entry)iter.next();
((RubyObject)st).instance_variable_set((IRubyObject)em.getKey(),(IRubyObject)em.getValue());
}
return st;
}