protected Object resolveObject(Object o) { if (!enableReplace) { return o; } String s = ""; if (reporter.should_report(reporter.serialize, 2)) { try { s = o.toString(); } catch (NullPointerException e) { s = "<NullPointerException thrown>"; } } if (!enableReplace) { return o; } else if (o instanceof Internable) { if (reporter.should_report(Reporter.serialize, 2)) { reporter.report(2, "- Interning " + s + " : " + o.getClass()); } return ((Internable) o).intern(); } else if (o instanceof Goal) { return ((Goal) o).intern(ts.extensionInfo().scheduler()); } else { if (reporter.should_report(Reporter.serialize, 2)) { reporter.report(2, "- " + s + " : " + o.getClass()); } return o; } }
public TypeInputStream(InputStream in, TypeSystem ts, Map<Object, Object> cache) throws IOException { super(in); enableResolveObject(true); this.ts = ts; this.reporter = ts.extensionInfo().getOptions().reporter; this.cache = cache; this.failed = false; this.enableReplace = true; this.placeHoldersUsed = CollectionFactory.newHashSet(); }