Index: TODO =================================================================== diff -u -r09fdaef530d334f8ea065db60b20a644c671e74d -re415f4153e7750b77616795150822b91db1ba9d4 --- TODO (.../TODO) (revision 09fdaef530d334f8ea065db60b20a644c671e74d) +++ TODO (.../TODO) (revision e415f4153e7750b77616795150822b91db1ba9d4) @@ -2041,11 +2041,11 @@ - extended und overworked mirgration guide (added e.g. multiplicity) - extended regression test +- added returns handling for nx in serializer +- extended regression test + TODO: -- "-returns" - * handle "-returns" in serializer - - check performance implications of value conflict checker - extend coro regression test Index: library/serialize/serializer.tcl =================================================================== diff -u -rb400253cc6c4cc2c9977ab16fb31528ef59ade91 -re415f4153e7750b77616795150822b91db1ba9d4 --- library/serialize/serializer.tcl (.../serializer.tcl) (revision b400253cc6c4cc2c9977ab16fb31528ef59ade91) +++ library/serialize/serializer.tcl (.../serializer.tcl) (revision e415f4153e7750b77616795150822b91db1ba9d4) @@ -464,7 +464,7 @@ [:frameWorkCmd ::nsf::assertion $o object-invar] \ [:frameWorkCmd ::nsf::assertion $o class-invar] } - puts stderr "*** array unset [nsf::current object] alias_dependency // size [array size :alias_dependency]" + #puts stderr "*** array unset [nsf::current object] alias_dependency // size [array size :alias_dependency]" array unset :alias_dependency return $cmd } @@ -706,7 +706,11 @@ # object serialization is fully handled by the serializer return "# [$o {*}$modifier info method definition $m]" } - return [$o {*}$modifier info method definition $m] + set def [$o {*}$modifier info method definition $m] + set handle [$o {*}$modifier info method handle $m] + set returns [::nsf::methodproperty $o $handle returns] + if {$returns ne ""} {append def \n [list ::nsf::methodproperty $o $handle returns $returns]} + return $def } ############################### Index: tests/returns.test =================================================================== diff -u -r5b094a86a4c5b8df95e60859198897736a6a461a -re415f4153e7750b77616795150822b91db1ba9d4 --- tests/returns.test (.../returns.test) (revision 5b094a86a4c5b8df95e60859198897736a6a461a) +++ tests/returns.test (.../returns.test) (revision e415f4153e7750b77616795150822b91db1ba9d4) @@ -195,7 +195,6 @@ # query returns "", if there is no returns checking ? {::nsf::methodproperty C lappend returns} "" ? {::nsf::methodproperty ::nx::Object method returns} "" - } Test parameter count 10 @@ -310,11 +309,9 @@ :create c1 } - #::nsf::methodproperty C bar-ok1 returns integer - #::nsf::methodproperty C bar-ok2 returns integer - #::nsf::methodproperty C bar-nok returns integer - #::nsf::methodproperty C incr returns integer - #::nsf::methodproperty C lappend returns integer + package req nx::serializer + set s [C serialize] + ? [list set _ [regsub -all returns $s returns s]] 8 "occurances of returns" ? {c1 bar-ok1 1 2} 1 ? {c1 bar-ok2 1 2} 1