Libraryless. Click here for Pure Java version (20825L/140K).
!7 set flag ConceptRef_markInToString. //set flag MetaTransformer_debug. concept Bla { S name; new Ref myRef; new RefL<Bla> references; } module > DynPrintLog { start-thread { new Concepts cc; Bla a = cnew(cc, Bla, name := "a"); Bla b = cnew(cc, Bla, name := "hello", whatever := 123, ref := a, myRef := a, references := ll(a, a)); pnl(conceptShadow_rawMap(a)); ConceptShadow shadow = ConceptShadow(a); print(shadow); pnl(conceptShadow_rawMap(b)); shadow = ConceptShadow(b); print(shadow); assertEqualsVerbose(getClassName(Bla), shadow.get(":class")); assertEqualsVerbose(ConceptID(a.id), shadow.get("ref")); assertEqualsVerbose(ConceptID(a.id), shadow.get("myRef")); assertEqualsVerbose(ll(ConceptID(a.id), ConceptID(a.id)), shadow.get("references")); assertEqualsVerbose(b.id, shadow.get("id")); assertEqualsVerbose("hello", shadow.get("name")); // check that 2 shadows of same unchanged object are equal assertEqualsVerbose(shadow, ConceptShadow(b)); // change object cset(b, name := "newName"); ConceptShadow shadow2 = new(b); assertNotEqualsVerbose(shadow, shadow2); } }
download show line numbers debug dex old transpilations
Travelled to 4 computer(s): bhatertpkbcr, mqqgnosmbjvj, pyentgdyhuwx, vouqrxazstgt
No comments. add comment
Snippet ID: | #1031046 |
Snippet name: | Test conceptShadow_rawMap & ConceptShadow (OK) |
Eternal ID of this version: | #1031046/24 |
Text MD5: | c191827d7f94d8b411b6a9b62e1c3d64 |
Transpilation MD5: | b43e46c4a6d761c0363fce5aab24ffda |
Author: | stefan |
Category: | javax |
Type: | JavaX source code (Dynamic Module) |
Public (visible to everyone): | Yes |
Archived (hidden from active list): | No |
Created/modified: | 2021-05-01 15:45:53 |
Source code size: | 1226 bytes / 39 lines |
Pitched / IR pitched: | No / No |
Views / Downloads: | 261 / 575 |
Version history: | 23 change(s) |
Referenced in: | [show references] |