abstract sclass CTNode { new LinkedHashSet<CTNode> children; toString { ret joinNemptiesWithColonSpace(shortClassName(this), toString2()); } S toString2() { ret ""; } // override me bool add(CTNode n) { ret children.add(n); } } sclass ObjectNode<A> extends CTNode { A obj; *() {} *(A *obj) {} S toString2() { ret sfu(obj); } public bool equals(O o) { ret stdEq(this, o, 'obj); } public int hashCode() { ret stdHash(this, 'obj); } } sclass OpNode > CTNode { S op; bool haveResult; O result; // this is the result coming back up from the operation *() {} *(S *op) {} S toString2() { ret haveResult ? result + " <- " + op : op; } public bool equals(O o) { ret stdEq(this, o, 'op); } public int hashCode() { ret stdHash(this, 'op); } void setResult(O o) { result = o; haveResult = true; } }
Began life as a copy of #1017535
download show line numbers debug dex old transpilations
Travelled to 14 computer(s): aoiabmzegqzx, bhatertpkbcr, cbybwowwnfue, cfunsshuasjs, gwrvuhgaqvyk, irmadwmeruwu, ishqpsrjomds, lpdgvwnxivlt, mqqgnosmbjvj, pyentgdyhuwx, pzhvpgtvlbxg, tslmcundralx, tvejysmllsmz, vouqrxazstgt
No comments. add comment
| Snippet ID: | #1017600 | 
| Snippet name: | Computation Tree Include v2 | 
| Eternal ID of this version: | #1017600/4 | 
| Text MD5: | 544e650b820088f6fbc46a2ba1f7bb32 | 
| Author: | stefan | 
| Category: | javax / a.i. | 
| Type: | JavaX fragment (include) | 
| Public (visible to everyone): | Yes | 
| Archived (hidden from active list): | No | 
| Created/modified: | 2018-07-29 17:28:46 | 
| Source code size: | 901 bytes / 39 lines | 
| Pitched / IR pitched: | No / No | 
| Views / Downloads: | 548 / 733 | 
| Version history: | 3 change(s) | 
| Referenced in: | [show references] |