/** collect Interface Repository information in the argument hashtable */ public void getIRInfo(Hashtable irInfoTable) { StringBuffer sb = new StringBuffer(); TypeSpec ts = opTypeSpec.typeSpec(); if (ts instanceof AliasTypeSpec) { // if( ((AliasTypeSpec)ts).originalType.typeSpec() instanceof FixedPointType ) // { sb.append(ts.full_name()); // } } sb.append("("); for (Enumeration e = paramDecls.elements(); e.hasMoreElements(); ) { ParamDecl param = (ParamDecl) e.nextElement(); if (param.paramAttribute == ParamDecl.MODE_INOUT) { sb.append("inout:" + param.simple_declarator.name + " "); } else if (param.paramAttribute == ParamDecl.MODE_OUT) { sb.append("out:" + param.simple_declarator.name + " "); } else // MODE_IN sb.append("in:" + param.simple_declarator.name + " "); ts = param.paramTypeSpec.typeSpec(); if (ts instanceof AliasTypeSpec) { sb.append(ts.full_name()); } sb.append(","); } if (paramDecls.size() > 0) { // remove extra trailing "," sb.deleteCharAt(sb.length() - 1); } sb.append(")"); if (opAttribute == ONEWAY) sb.append("-oneway"); // if( enter ) irInfoTable.put(name, sb.toString()); if (logger.isDebugEnabled()) logger.debug("OpInfo for " + name + " : " + sb.toString()); }