Index: TODO =================================================================== diff -u -r3b5d2f4e0bc018420ebea39e54ad3212ade2a5bd -r6ff35667cb941876d733d755f49a6530fa2fb929 --- TODO (.../TODO) (revision 3b5d2f4e0bc018420ebea39e54ad3212ade2a5bd) +++ TODO (.../TODO) (revision 6ff35667cb941876d733d755f49a6530fa2fb929) @@ -4243,19 +4243,18 @@ - extended regression test nx.tcl: -- change parameter name in "/cls/ inif paramameter ... ?pattern?" +- change parameter name in "/cls/ info paramameter ... ?pattern?" from "name" to "pattern" - changed name "/obj|cls/ slot info definition" to "/obj|cls/ slot info definition" since result is a set - dropped parameter method "properties" - dropped "/obj/ info properties" (since "properties" or "variables" are returned") +- extended regression test ======================================================================== TODO: - finalize handling of parameter methods in cget - * what to do with "cget -noinit" - * check all provided definitions * handling of extra args in parameter methods? - "/obj|cls/ info slot definition" should return a full command (containing flags and property|variable) @@ -4657,6 +4656,7 @@ the interpreter into a compiler to speed up argument passing. But maybe, this would bloat the code-size. - Use parameter syntax in genTclAPI + - better handling of "c1 cget -noinit" ? * C-Code * Several of the tracing options in nsf.h could be replaced by DTrace Index: tests/cget.test =================================================================== diff -u -r3b5d2f4e0bc018420ebea39e54ad3212ade2a5bd -r6ff35667cb941876d733d755f49a6530fa2fb929 --- tests/cget.test (.../cget.test) (revision 3b5d2f4e0bc018420ebea39e54ad3212ade2a5bd) +++ tests/cget.test (.../cget.test) (revision 6ff35667cb941876d733d755f49a6530fa2fb929) @@ -121,15 +121,17 @@ } # -# The third test set checks method binding to parameter +# The third test set checks method binding to parameter: +# All cmds are supposed to return resonable values. # Test case cget-parameter-methods { nx::Class create C { :create c1 } - # : ::nsf::methods::object::info::objectparameter syntax - #? {C configure} "-volatile -noinit -mixin -class -filter __initcmd" + # + # class-level lookup + # ? {C info lookup parameter list} \ "-superclass -object-mixin -mixin -object-filter -filter -volatile -noinit -class __initcmd" ? {C cget -superclass} "::nx::Object" @@ -140,9 +142,18 @@ ? {C cget -noinit} "" ? {C cget -class} "::nx::Class" + # + # object-level lookup + # ? {c1 info lookup parameter list} \ "-volatile -noinit -mixin -class -filter __initcmd" + ? {c1 cget -volatile} 0 + ? {c1 cget -noinit} "" + ? {c1 cget -mixin} "" + ? {c1 cget -class} ::C + ? {c1 cget -filter} "" + }