{"body":"\thas Set $!dirty;\n\n\tmethod BUILDALL(|) {\n\t\tfor ::?CLASS!attr-columns -> $attr {\n\t\t\tmy $attr-name = $attr.name.substr(2);\n\t\t\tmy $dirt = sub {\n\t\t\t\t$!dirty ∪= $attr-name;\n\t\t\t};\n\t\t\twith ::?CLASS.^find_method($attr-name) {\n\t\t\t\t.wrap: method () {\n\t\t\t\t\tmy $value := callsame;\n\t\t\t\t\tProxy.new:\n\t\t\t\t\t\tFETCH => method () {$value},\n\t\t\t\t\t\tSTORE => method ($val) {\n\t\t\t\t\t\t\t$dirt();\n\t\t\t\t\t\t\t$value = $val\n\t\t\t\t\t\t},\n\t\t\t\t\t;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\tnextsame\n\t}","name":"","extension":"txt","url":"https://www.irccloud.com/pastebin/G24l8JVW","modified":1485698304,"id":"G24l8JVW","size":434,"lines":23,"own_paste":false,"theme":"","date":1485698304}