nx.tcl

Clone Tools
  • last updated 16 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- added test cases for "info slots"

  1. … 2 more files in changeset.
- nx.tcl: * splitted method "delete" into a "delete method" and "delete attribute" * remove flag "-per-object" in method "delete" * delete per-object methods of classes with "/cls/ class delete method name" and "/cls/ class delete attribute name" * extended regression test

  1. … 2 more files in changeset.
-nx.tcl: * added method "delete" to delete methods and attributes * extended regression test

  1. … 3 more files in changeset.
-nsf.c:

* Added argument "-reg-object" to ::nsf::method::create to

distinguish between a registration and a definition object for

ensemble methods, similar as on other places. If no reg-object is

provided, it is the same as the definition object. One should

take care that the registration objects are deleted after the

definition objects, which is the case for the usages of the

reg-objects in nx/xotcl.

* The namespaces within plain scripted methods and scripted

ensemble objects are now the same.

* Extended regression test

  1. … 5 more files in changeset.
- nx.tcl: * removed "info slot handle" and "info slot parameter" * added "info parameter spec", "info parameter list", "info parameter name", and "info parameter syntax" * extended regression test

  1. … 4 more files in changeset.
- nsf.c: Since the method "objectparameter" is just based on the class (and object parameters are invalidates as well over the class), we moved the method from obj to class to avoid potential confusions

  1. … 8 more files in changeset.
- added: "info slot handle /name/" "info slot parameter /name/"

  1. … 1 more file in changeset.
- added: "info slot handle /name/" "info slot parameter /name/"

  1. … 1 more file in changeset.
- nx.tcl, xotcl2.tcl: removed unsafe {*}$pattern

  1. … 2 more files in changeset.
- nsf.c * added "pattern" to "info lookup slots" * added "pattern" to "info slots" * extended regression test

  1. … 7 more files in changeset.
* base objectparameter on "info slots -closure"

  1. … 2 more files in changeset.
* added switch "-source" to "info slots -closure" and "info lookup slots" (similar to "info lookup methods") * extended regression test

  1. … 5 more files in changeset.
- nsf.c * first version of c-bases "info slots" for classes * switch "-closure" just for class info method

  1. … 5 more files in changeset.
- nx.tcl: replace loops ::nsf::methods::[object|class]::* by explict command registrations

  1. … 1 more file in changeset.
- library/nx/nx.tcl: Added the default procs for the init, defaultmethod, and unknown hooks to the ignore list for the ::nx::Object standard method set. Otherwise, upon a resourcing of nx.tcl (e.g., package forget nx;package req nx), they get registered as alias methods no matter what (due to residing in ::nsf::methods::object::*).

- nx.tcl: added support for positional object parameter and removed special handling of the last argument for the init block; added attributes "position" and "positional" to ObjectParameterSlots, removed last argument of method "objectparameter" - nx.tcl: simplified createBootstrapAttributeSlots (second round of default value setting seems not necessary) - nx.tcl: some cleanup

  1. … 4 more files in changeset.
- nsf: renamed nsf::isobject to nsf::object::exists - nsf: renamed nsf::qualify to nsf::object::qualify

  1. … 17 more files in changeset.
- nsf:c: fix dispatch of setter without current method - extended regression tests

  1. … 6 more files in changeset.
- nx.tcl: fix handling of arg in converter

- Let "info slot" return the slot object

  1. … 1 more file in changeset.
- added to "info slot /attName/"

  1. … 2 more files in changeset.
* added pattern to "info slots"

  1. … 1 more file in changeset.
- delete accessor when slot is destroyed

  1. … 1 more file in changeset.
* added flag ?-type ...? to "info slots"

  1. … 1 more file in changeset.
* nx: added flag ?-type ...? to "info lookup slots" * nsf: made all useful converters external symbols

  1. … 6 more files in changeset.
* some documentation/todo updates

  1. … 3 more files in changeset.
* fixed bad interaction between filter and parameter alias

  1. … 3 more files in changeset.
* Hopefully the last big naming change: Instead of writing "C class-object method foo {} {...}" one can write now "C class method foo {} {...}" to define a class method named "foo" for class "C". This naming change became possible by defining XOTcl's "class" (and "superclass") as object parameter only. To change a class of an object o, one has to use "o configure -class NEWCLASS". The term "object-class" looks alien to language beginners, the term "class" is much more straightforward. Changing classes or superclasses is seldomly used by typicall application programs.

For already existing nx scripts, changing "object-class" into

class should be straightforward.

* various documentation updates (migration guide, nx tutorial)

  1. … 22 more files in changeset.
* added methods ::nsf::methods::object::class and ::nsf::methods::class::superclass in order to make faster and nicer looking objectparameters (compared with forwarders) * nx: changed parameter -class to use ::nsf::methods::object::class * ns: fixed chicken egg problem of method objectparameter needing objectparameter by creating/destroying slot Class::slot::dummy; otherwise default values for slots would not be available * reduced verbosity of parameter forwarder

  1. … 6 more files in changeset.
* provided a fast path implementation for "defaultmethod" * provided default system methods for "init", "defaultmethod" and "unknown" * provided handles for system methods "alloc", "dealloc", "recreate", and "defaultmethod" * strip in dispatch invocations of "unknown" potental leading colons * removed c-level implementation of init again, since scripted one can be used now as well in registration of createobjectsystem * reduced verbosity * added defintions such that these methods can be loaded via ::nsf::method::require ::nx::Object unknown

  1. … 6 more files in changeset.