Index: TODO =================================================================== diff -u -reea18b07ddfc917545d48ab6a272c0bfb9656f07 -r0e4ebdb092c8158987489b5c26cf11526b2756f5 --- TODO (.../TODO) (revision eea18b07ddfc917545d48ab6a272c0bfb9656f07) +++ TODO (.../TODO) (revision 0e4ebdb092c8158987489b5c26cf11526b2756f5) @@ -5149,10 +5149,15 @@ with wierd namespace deletion order - extended regression test +nx.tcl +- switch from "/obj/ info parameter" -> "nsf::parameter::get" + to reduce potential semantic confusion of info options. + "info parameter" was not object/class specific at all, but + is just a syntax extractor ======================================================================== TODO: -- /obj/ info parameter -> nsf::parameter ??? + - TODO: update tutorial and migration guide - finish nx-property reform (merge into master) Index: library/nx/nx.tcl =================================================================== diff -u -re8f463efb6805a9d062cb8e504dc56da719804cc -r0e4ebdb092c8158987489b5c26cf11526b2756f5 --- library/nx/nx.tcl (.../nx.tcl) (revision e8f463efb6805a9d062cb8e504dc56da719804cc) +++ library/nx/nx.tcl (.../nx.tcl) (revision 0e4ebdb092c8158987489b5c26cf11526b2756f5) @@ -749,20 +749,20 @@ # # Parameter extractors # - :method "info parameter default" {p:parameter varName:optional} { - if {[info exists varName]} { - uplevel [list ::nsf::parameter::get default $p $varName] - } else { - ::nsf::parameter::get default $p - } - } - :method "info parameter name" {p:parameter} {::nsf::parameter::get name $p} - :method "info parameter syntax" {p:parameter} {::nsf::parameter::get syntax $p} - :method "info parameter type" {p:parameter} {::nsf::parameter::get type $p} + # :method "info parameter default" {p:parameter varName:optional} { + # if {[info exists varName]} { + # uplevel [list ::nsf::parameter::get default $p $varName] + # } else { + # ::nsf::parameter::get default $p + # } + # } + # :method "info parameter name" {p:parameter} {::nsf::parameter::get name $p} + # :method "info parameter syntax" {p:parameter} {::nsf::parameter::get syntax $p} + # :method "info parameter type" {p:parameter} {::nsf::parameter::get type $p} - :alias "info parent" ::nsf::methods::object::info::parent - :alias "info precedence" ::nsf::methods::object::info::precedence - :alias "info vars" ::nsf::methods::object::info::vars + :alias "info parent" ::nsf::methods::object::info::parent + :alias "info precedence" ::nsf::methods::object::info::precedence + :alias "info vars" ::nsf::methods::object::info::vars :method "info variable definition" {handle} {return [$handle definition]} :method "info variable name" {handle} {return [$handle cget -name]} :method "info variable parameter" {handle} {return [$handle parameter]} Index: tests/class-method.test =================================================================== diff -u -ra615b76dd389290567bc8506fec6fa0a3b2c14d2 -r0e4ebdb092c8158987489b5c26cf11526b2756f5 --- tests/class-method.test (.../class-method.test) (revision a615b76dd389290567bc8506fec6fa0a3b2c14d2) +++ tests/class-method.test (.../class-method.test) (revision 0e4ebdb092c8158987489b5c26cf11526b2756f5) @@ -17,7 +17,7 @@ ? {lsort [::C info object methods]} "f" ? {lsort [::C info]} \ - "valid submethods of ::C info: children class configure filter has heritage info instances lookup method methods mixin mixinof name object parameter parent precedence slots subclass superclass variable variables vars" + "valid submethods of ::C info: children class configure filter has heritage info instances lookup method methods mixin mixinof name object parent precedence slots subclass superclass variable variables vars" } # @@ -76,7 +76,7 @@ ? {lsort [::C info object methods]} "a f foo fwd p v2" ? {lsort [::C info]} \ - "valid submethods of ::C info: children class configure filter has heritage info instances lookup method methods mixin mixinof name object parameter parent precedence slots subclass superclass variable variables vars" + "valid submethods of ::C info: children class configure filter has heritage info instances lookup method methods mixin mixinof name object parent precedence slots subclass superclass variable variables vars" } # Index: tests/info-method.test =================================================================== diff -u -r994c14a5b0e1d662fc4f903f097ed0ee7a130986 -r0e4ebdb092c8158987489b5c26cf11526b2756f5 --- tests/info-method.test (.../info-method.test) (revision 994c14a5b0e1d662fc4f903f097ed0ee7a130986) +++ tests/info-method.test (.../info-method.test) (revision 0e4ebdb092c8158987489b5c26cf11526b2756f5) @@ -749,7 +749,7 @@ ? {lsort [::nx::Object info methods -path "info lookup *"]} \ "{info lookup configure parameters} {info lookup configure syntax} {info lookup filter} {info lookup filters} {info lookup method} {info lookup methods} {info lookup mixins} {info lookup slots} {info lookup variables}" ? {lsort [::nx::Object info methods -path "info *parameter*"]} \ - "{info lookup configure parameters} {info object method parameters} {info parameter default} {info parameter name} {info parameter syntax} {info parameter type} {info variable parameter}" + "{info lookup configure parameters} {info object method parameters} {info variable parameter}" ? {lsort [::nx::Object info methods "slots"]} "" ? {lsort [::nx::Object info methods "*slots*"]} "" ? {lsort [::nx::Object info methods -path "*slot*"]} \ Index: tests/info-variable.test =================================================================== diff -u -rf671281a240219965d436e2bfa762baf85274ca6 -r0e4ebdb092c8158987489b5c26cf11526b2756f5 --- tests/info-variable.test (.../info-variable.test) (revision f671281a240219965d436e2bfa762baf85274ca6) +++ tests/info-variable.test (.../info-variable.test) (revision 0e4ebdb092c8158987489b5c26cf11526b2756f5) @@ -46,10 +46,15 @@ ? {Person info method parameters foo force} "-force:switch" ? {Person info method parameters foo {*a[gm]*}} {age:integer {name ""}} ? {Person info method syntax foo} "/cls/ foo ?-force? /age/ ?/name/?" - ? {Person info parameter syntax age:integer} "/age/" - ? {Person info parameter syntax -force:switch} "?-force?" - ? {Person info parameter name "a b"} "a" + #? {Person info parameter syntax age:integer} "/age/" + #? {Person info parameter syntax -force:switch} "?-force?" + #? {Person info parameter name "a b"} "a" + ? {nsf::parameter::get syntax age:integer} "/age/" + ? {nsf::parameter::get syntax -force:switch} "?-force?" + ? {nsf::parameter::get name "a b"} "a" + + ? {lmap p [Person info configure parameters] {nsf::parameter::get default $p}} "0 0 0 0 0 0" ? {lmap p [Person info method parameters foo] {nsf::parameter::get default $p}} "1 0 1" @@ -174,17 +179,17 @@ ? {lmap handle $::vs {::Foo info variable name $handle}} \ "__private(::Foo,p) a b c d e i q" - ? {lmap handle $::ps {::Foo info parameter name $handle}} \ + ? {lmap handle $::ps {nsf::parameter::get name $handle}} \ "p a b c d e i q" - ? {lmap handle $::ps {::Foo info parameter default $handle}} \ + ? {lmap handle $::ps {nsf::parameter::get default $handle}} \ "1 0 1 1 1 1 0 0" - ? {lmap handle $::ps {::Foo info parameter type $handle}} \ + ? {lmap handle $::ps {nsf::parameter::get type $handle}} \ "{} integer integer {} lower lower {} {}" ? {nsf::parameter::get default "b:integer 123" ::var1} "1" ? {set ::var1} "123" - ? {::Foo info parameter default "b:integer 123" ::var2} "1" + ? {nsf::parameter::get default "b:integer 123" ::var2} "1" ? {set ::var2} "123" } Index: tests/plain-object-method.test =================================================================== diff -u -ra615b76dd389290567bc8506fec6fa0a3b2c14d2 -r0e4ebdb092c8158987489b5c26cf11526b2756f5 --- tests/plain-object-method.test (.../plain-object-method.test) (revision a615b76dd389290567bc8506fec6fa0a3b2c14d2) +++ tests/plain-object-method.test (.../plain-object-method.test) (revision 0e4ebdb092c8158987489b5c26cf11526b2756f5) @@ -11,7 +11,7 @@ ? {o filter set f} "::o: unable to dispatch method 'filter'" ? {lsort [o info object methods]} "f" - ? {lsort [o info]} "valid submethods of ::o info: children class configure has info lookup name object parameter parent precedence variable vars" + ? {lsort [o info]} "valid submethods of ::o info: children class configure has info lookup name object parent precedence variable vars" } # @@ -60,7 +60,7 @@ ? {o info filter methods} "" ? {lsort [o info object methods]} "a f foo fwd p v2" - ? {lsort [o info]} "valid submethods of ::o info: children class configure filter has info lookup method methods mixin name object parameter parent precedence slots variable variables vars" + ? {lsort [o info]} "valid submethods of ::o info: children class configure filter has info lookup method methods mixin name object parent precedence slots variable variables vars" } # Index: tests/submethods.test =================================================================== diff -u -ra615b76dd389290567bc8506fec6fa0a3b2c14d2 -r0e4ebdb092c8158987489b5c26cf11526b2756f5 --- tests/submethods.test (.../submethods.test) (revision a615b76dd389290567bc8506fec6fa0a3b2c14d2) +++ tests/submethods.test (.../submethods.test) (revision 0e4ebdb092c8158987489b5c26cf11526b2756f5) @@ -230,7 +230,7 @@ # defaultcmd has to return also subcmds of other shadowed ensembles ? {lsort [o1 info has]} "valid submethods of ::o1 info has: mixin namespace something type" ? {lsort [o1 info]} \ - "valid submethods of ::o1 info: children class configure has info lookup name object parameter parent precedence variable vars" + "valid submethods of ::o1 info: children class configure has info lookup name object parent precedence variable vars" # returning methodpath in ensemble ? {o1 info has something path} "info has something path"