nx

Clone Tools
  • last updated 1 hour ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- use now class-only for all methods methods of meta-classes. Methods of meta-classes are intended to be applied on classes, one should not change this via per-object mixins. - respect class-only in "info callable methods|method" - extended regression test - provided relation name "object-filter" to slot filter.

  1. … 5 more files in changeset.
- experimental method-property "class-only": this allows to make object save against per-object mixins of meta-classes. the flag is only used in the mixin-resolver - used for the time being in nx only for Class.info, but would apply as well for methods defined on both Object and Class.

  1. … 4 more files in changeset.
- changed __invalidateobjectparameter from a method of class to framework primitiv ::nsf::invalidateobjectparameter

  1. … 5 more files in changeset.
- removed methods object-mixin and object-filter from the interface. (Caused some duplication of logic in the method "object") _ added option noforwarder to RelationSlots - some minor cleanup

  1. … 2 more files in changeset.
- made slot optimizer more robust

  1. … 1 more file in changeset.
- checked saftey of Class.method, Class.alias, Class.setter, Class.forward - made Class.filterguard, Class.mixinguard, Class.attribute robust against per-object mixins from meta-classes - fixed mixin/filter delete methods with guarded operations - extended regression test - all methods defined on both, Object and Class are now safe in respect to per-object mixins with meta-classes

  1. … 2 more files in changeset.
- made Class.info, Class.mixin, Class.filter robust against per-object mixins from meta-classes - extended regression test

  1. … 5 more files in changeset.
- renamed "info method name ..." into "info method handle ...", since it returned already the handle - renamed ListMethodName() to ListMethodHandle() - changed output of "info callable -which ..." from definition to method handle - renamed "info callable -which ..." into "info callable method ..." - updated regression test to reflect the changes

  1. … 13 more files in changeset.
- removed method "autoname" from nx.tcl - added "method require autoname" - added "method require exists"

  1. … 4 more files in changeset.
- nsf: provided scripted support for "require/provide methods" - nx: new method ":require namespace" ":require method" "require object method" - added regression test method-require - removed requireNamespace from nx.tcl (still exists in xotcl) - replaced "requireNamespace" by "require namespace" in nx regression tests - updated migration guide

  1. … 9 more files in changeset.
- replaced several occurrences of "eval" in nx.tcl and xotcl2.tcl

  1. … 2 more files in changeset.
- Implemented "interp alias" support for classes. In some cases. interp-aliased classes worked already without additional code, but e.g. in "... -superclass C ..." it failed. Without this feature, one could not reuse a class with a different namespace, unless it was explicitely "namespace exported" in the source. The problem was the implementation of "::nx::Attribute", which should not be exported in nx (most people do a "namespace import ::nx::*") because there is no need to do so, but ::xotcl::Attribute should reuse it - without subclassing). .... However, we still seem to have a problem, when the interp-aliased Class is exported and imported to a different namespace.

- removed definition of slots from nx, changed regression tests

examples to to ::attribute instead of -slots

  1. … 7 more files in changeset.
- made the "next scripting laguage" a own, loadable tcl package (currently named nx, name is subject of change) - predefined.tcl is now pretty minimal.

  1. … 31 more files in changeset.