static public bool cliJavaToString(PlTerm paramIn, PlTerm valueOut) { if (!valueOut.IsVar) { var plvar = PlTerm.PlVar(); return(cliJavaToString(paramIn, plvar) && SpecialUnify(valueOut, plvar)); } object getInstance = GetInstance(paramIn); if (getInstance == null) { return(valueOut.Unify(PlTerm.PlString("null"))); } #if USE_IKVM object val = getInstance as java.lang.Object; if (val == null) { Class c = ikvm.runtime.Util.getClassFromObject(getInstance); string s = (string)c.getMethod("toString", new Class[0]).invoke(getInstance, ZERO_OBJECTS); return(valueOut.Unify(PlTerm.PlString(s))); } return(valueOut.Unify(PlTerm.PlString(val.toString()))); #else object val = getInstance; return(valueOut.Unify(PlTerm.PlString(val.ToString()))); #endif }
static public bool cliMemberDoc(PlTerm membIn, PlTerm docOut, PlTerm xmlOut) { var mi = GetInstance(membIn) as MemberInfo; if (mi != null) { XElement xmls = GetDocString(mi); return(xmlOut.Unify(ToProlog(xmls)) && docOut.Unify(PlTerm.PlString(xmls == null ? "" : xmls.InnerXml))); } return(true); }