bool is_object_reference(IDL_tree parm)
{
- if (IDL_NODE_TYPE(IDL_PARAM_DCL(parm).param_type_spec) != IDLN_IDENT)
- return false;
- return true;
+ return IDL_NODE_TYPE(forb_cbe_get_typespec(parm)) == IDLN_INTERFACE;
}
static void ck_output_op_skel(IDL_tree op, char *intf_id, OIDL_Run_Info *rinfo, OIDL_C_Info *ci)
char *name = IDL_IDENT(IDL_PARAM_DCL(parm).simple_declarator).str;
fprintf(ci->fh, /* " r = " */ " ");
forb_cbe_write_typespec(ci->fh, IDL_PARAM_DCL(parm).param_type_spec);
- forb_idl_print_node(parm, 6);
- //FIXME: We must determine, whether to parameter is of interface type.
if (is_object_reference(parm)) {
fprintf(ci->fh, "_deserialize(_obj->orb, cin, &%s);\n", name);
} else {
void square(inout long r);
void message(in string msg);
void last_message(out string msg);
- void struct_method(in struct_t s);
+// void struct_method(in struct_t s);
void obj_method(in myinterface mi);
// void mytype_method(in mytype mt);
};