github.com/gnolang/gno@v0.0.0-20240520182011-228e9d0192ce/gnovm/tests/files/zrealm_avl2.gno (about) 1 // PKGPATH: gno.land/r/test 2 package test 3 4 import ( 5 "gno.land/p/demo/avl" 6 ) 7 8 var tree avl.Tree 9 10 func init() { 11 tree.Set("key1", "value1") 12 } 13 14 func main() { 15 var updated bool 16 updated = tree.Set("key2", "value2") 17 // println(tree, updated) 18 println(updated, tree.Size()) 19 } 20 21 // Output: 22 // false 2 23 24 // Realm: 25 // switchrealm["gno.land/r/test"] 26 // u[a8ada09dee16d791fd406d629fe29bb0ed084a30:5]={ 27 // "Fields": [ 28 // { 29 // "T": { 30 // "@type": "/gno.PrimitiveType", 31 // "value": "16" 32 // }, 33 // "V": { 34 // "@type": "/gno.StringValue", 35 // "value": "key1" 36 // } 37 // }, 38 // { 39 // "T": { 40 // "@type": "/gno.PrimitiveType", 41 // "value": "16" 42 // }, 43 // "V": { 44 // "@type": "/gno.StringValue", 45 // "value": "value1" 46 // } 47 // }, 48 // { 49 // "T": { 50 // "@type": "/gno.PrimitiveType", 51 // "value": "64" 52 // } 53 // }, 54 // { 55 // "N": "AQAAAAAAAAA=", 56 // "T": { 57 // "@type": "/gno.PrimitiveType", 58 // "value": "32" 59 // } 60 // }, 61 // { 62 // "T": { 63 // "@type": "/gno.PointerType", 64 // "Elt": { 65 // "@type": "/gno.RefType", 66 // "ID": "gno.land/p/demo/avl.Node" 67 // } 68 // } 69 // }, 70 // { 71 // "T": { 72 // "@type": "/gno.PointerType", 73 // "Elt": { 74 // "@type": "/gno.RefType", 75 // "ID": "gno.land/p/demo/avl.Node" 76 // } 77 // } 78 // } 79 // ], 80 // "ObjectInfo": { 81 // "ID": "a8ada09dee16d791fd406d629fe29bb0ed084a30:5", 82 // "ModTime": "6", 83 // "OwnerID": "a8ada09dee16d791fd406d629fe29bb0ed084a30:6", 84 // "RefCount": "1" 85 // } 86 // } 87 // c[a8ada09dee16d791fd406d629fe29bb0ed084a30:7]={ 88 // "Fields": [ 89 // { 90 // "T": { 91 // "@type": "/gno.PrimitiveType", 92 // "value": "16" 93 // }, 94 // "V": { 95 // "@type": "/gno.StringValue", 96 // "value": "key2" 97 // } 98 // }, 99 // { 100 // "T": { 101 // "@type": "/gno.PrimitiveType", 102 // "value": "16" 103 // }, 104 // "V": { 105 // "@type": "/gno.StringValue", 106 // "value": "value2" 107 // } 108 // }, 109 // { 110 // "T": { 111 // "@type": "/gno.PrimitiveType", 112 // "value": "64" 113 // } 114 // }, 115 // { 116 // "N": "AQAAAAAAAAA=", 117 // "T": { 118 // "@type": "/gno.PrimitiveType", 119 // "value": "32" 120 // } 121 // }, 122 // { 123 // "T": { 124 // "@type": "/gno.PointerType", 125 // "Elt": { 126 // "@type": "/gno.RefType", 127 // "ID": "gno.land/p/demo/avl.Node" 128 // } 129 // } 130 // }, 131 // { 132 // "T": { 133 // "@type": "/gno.PointerType", 134 // "Elt": { 135 // "@type": "/gno.RefType", 136 // "ID": "gno.land/p/demo/avl.Node" 137 // } 138 // } 139 // } 140 // ], 141 // "ObjectInfo": { 142 // "ID": "a8ada09dee16d791fd406d629fe29bb0ed084a30:7", 143 // "ModTime": "0", 144 // "OwnerID": "a8ada09dee16d791fd406d629fe29bb0ed084a30:6", 145 // "RefCount": "1" 146 // } 147 // } 148 // c[a8ada09dee16d791fd406d629fe29bb0ed084a30:6]={ 149 // "Fields": [ 150 // { 151 // "T": { 152 // "@type": "/gno.PrimitiveType", 153 // "value": "16" 154 // }, 155 // "V": { 156 // "@type": "/gno.StringValue", 157 // "value": "key2" 158 // } 159 // }, 160 // {}, 161 // { 162 // "N": "AQAAAAAAAAA=", 163 // "T": { 164 // "@type": "/gno.PrimitiveType", 165 // "value": "64" 166 // } 167 // }, 168 // { 169 // "N": "AgAAAAAAAAA=", 170 // "T": { 171 // "@type": "/gno.PrimitiveType", 172 // "value": "32" 173 // } 174 // }, 175 // { 176 // "T": { 177 // "@type": "/gno.PointerType", 178 // "Elt": { 179 // "@type": "/gno.RefType", 180 // "ID": "gno.land/p/demo/avl.Node" 181 // } 182 // }, 183 // "V": { 184 // "@type": "/gno.PointerValue", 185 // "Base": null, 186 // "Index": "0", 187 // "TV": { 188 // "T": { 189 // "@type": "/gno.RefType", 190 // "ID": "gno.land/p/demo/avl.Node" 191 // }, 192 // "V": { 193 // "@type": "/gno.RefValue", 194 // "Hash": "23c8d928ce614d559719cb47e71a75a456b49a2a", 195 // "ObjectID": "a8ada09dee16d791fd406d629fe29bb0ed084a30:5" 196 // } 197 // } 198 // } 199 // }, 200 // { 201 // "T": { 202 // "@type": "/gno.PointerType", 203 // "Elt": { 204 // "@type": "/gno.RefType", 205 // "ID": "gno.land/p/demo/avl.Node" 206 // } 207 // }, 208 // "V": { 209 // "@type": "/gno.PointerValue", 210 // "Base": null, 211 // "Index": "0", 212 // "TV": { 213 // "T": { 214 // "@type": "/gno.RefType", 215 // "ID": "gno.land/p/demo/avl.Node" 216 // }, 217 // "V": { 218 // "@type": "/gno.RefValue", 219 // "Hash": "fc92b122743503329a416d02fb4fe84cbca6dc57", 220 // "ObjectID": "a8ada09dee16d791fd406d629fe29bb0ed084a30:7" 221 // } 222 // } 223 // } 224 // } 225 // ], 226 // "ObjectInfo": { 227 // "ID": "a8ada09dee16d791fd406d629fe29bb0ed084a30:6", 228 // "ModTime": "0", 229 // "OwnerID": "a8ada09dee16d791fd406d629fe29bb0ed084a30:4", 230 // "RefCount": "1" 231 // } 232 // } 233 // u[a8ada09dee16d791fd406d629fe29bb0ed084a30:4]={ 234 // "Fields": [ 235 // { 236 // "T": { 237 // "@type": "/gno.PointerType", 238 // "Elt": { 239 // "@type": "/gno.RefType", 240 // "ID": "gno.land/p/demo/avl.Node" 241 // } 242 // }, 243 // "V": { 244 // "@type": "/gno.PointerValue", 245 // "Base": null, 246 // "Index": "0", 247 // "TV": { 248 // "T": { 249 // "@type": "/gno.RefType", 250 // "ID": "gno.land/p/demo/avl.Node" 251 // }, 252 // "V": { 253 // "@type": "/gno.RefValue", 254 // "Hash": "e6d40c7e6f2c94668ab964b4c356d7cbd537a2b5", 255 // "ObjectID": "a8ada09dee16d791fd406d629fe29bb0ed084a30:6" 256 // } 257 // } 258 // } 259 // } 260 // ], 261 // "ObjectInfo": { 262 // "ID": "a8ada09dee16d791fd406d629fe29bb0ed084a30:4", 263 // "ModTime": "5", 264 // "OwnerID": "a8ada09dee16d791fd406d629fe29bb0ed084a30:2", 265 // "RefCount": "1" 266 // } 267 // }