nsf

Clone Tools
  • last updated 19 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
nx.tcl: - reworked error message generation of slot-forwarder (list all available slot methods with prefix value=)

xotcl2:

- use xotcl::RelationSlot instead of nx::Relationslot in xotcl2

(we can more value=assign here).

- fix load paths for sublibs (e.g. mongodb) in regression test

    • -0
    • +78
    /tests/accessor.test
nx.tcl: - add slot method value=unset to nx::RelationSlot and nx::VariableSlot - extended regression test

- update TODO file

- added likely/unlikely to result == TCL_OK etc.

Merge branch 'nx-no-setter' of ssh://alice.wu-wien.ac.at/usr/local/src/git-repo/nsf into nx-no-setter

xotcl2: - use value=set instead of value=assign - simplify "-parameter" implementation - add setters for "name", "domain", and "default" to xotcl::Attribute for backward compatibility

    • -27
    • +35
    /library/xotcl/library/xotcl2.tcl
mongodb - by directing calls to the setter, it is now more complex to determine the true calling object for an converter, since the set operation might be routed though the slot object. It would be nice to have framework support for this. - fix 2 error messages - provide shorter tracebacks by using "return -code error ..." rather than "error ..."

nsf.c: - fix one more subtle case of an error being swallowed: for xotcl, the constructor returns the list of residual arguments. In case there was an error, it was possible that the returned residual arguments overwrote the error message in the interp result

Adjust variable doc for recent changes

Extending mixin/filter doc to cover guards

Adding TODO

Adding filter doc fragment

Adjust mixin doc for recent changes

Adjusting property doc to reflect recent changes

- don't delete system slot ::xotcl::Attribute on cleanup

nx.tcl, xotcl2.tcl: - use value=* as names for interally called and forwarder-called accessor methods - disallow "assign" for nx::variableSlots

    • -4
    • +4
    /doc/example-scripts/traits-composite.tcl
    • -2
    • +2
    /doc/example-scripts/traits-simple.tcl
    • -16
    • +21
    /library/xotcl/library/xotcl2.tcl
nsf.c: - rename default slot methods add/get to value=add/value=get - provide an error message, when refering to a non-existing slot object

nx.tcl: - use set/get/add as slot methods for get/configure/incremental operations - demangle slots for nx/xotcl2 further

xotcl2:

- use assign/get/add as slot methods for get/configure/incremental

operations

- use object system configuration for -slot.get and -slot.set

- allow configuration of internally called "slot.get" and "slot.assign" methods via objectsystem::create

- enforce usage of "get" for all slots in nx - TODO: check, what in detail "parameter" in xtocl2 inherit from nx::variableslot (e.g. needsForwarder?)

- enforce using "set" for filter/object-filter in slot operations (same as for mixins)

nx.tcl: - remove setter methods from BootstrapVariableSlots - reducing interface of BootstrapVariableSlots by setting methods protected

- put test cases for all kind of mix setter / getter together in one test case

- reduce verbosity

nx.tcl: - add "set" as a method name for relation slots - implemented relation slot "mixin" and "object-mixin" via "slotassign" to disallow "/obj/ mixin /value/" and "/obj/ object mixin /value/" to use instead "/obj/ mixin set /value/" and "/obj/ object mixin set /value/" while keeping "configure" and "cget" working. This has the advantage that "/obj/ mixin set" does not try to replace the mixin chain by "set" - adapted regression test - TODO: check, if we need the explicit "slotassign"? isn't the presence of the slotObj sufficient? maybe "-forwardToSlot" in relationSlots? - TODO: demangle "slotassign" in "ObjectParameterSlot protected method getParameterOptions" and check interactions - TODO: to the same as -mixin and -object-mixin to -filter and -object-filter - TODO: clean up relation slot mixin variants - TODO: do we really like the fact that we have to write now "B mixin set M2" instead of "B mixin M2"? - TODO: should we disallow "B mixin" and enforce instead of "B mixin get" ? - TODO: we could as well allow "B mixin clear" instead of "B mixin set {}" - TODO: allow "set" for variable slots as well. Do we need "assign"?

nsf.c: - allow parameter option "method=" for slotassign as well. rationale: this allows to use the parameter "forwardername" to specify a different forwarder target method (e.g. in case of object-mixins). The method is used both in "configure" and "cget". - allow methodname to consist of max tow words in relation slots (e.g. "-methodname {mixin set}"}

- extend bagel example slightly

- finalize dropping of setter methods for nx

    • -6
    • +6
    /doc/example-scripts/traits-composite.tcl
    • -4
    • +4
    /doc/example-scripts/traits-simple.tcl
- show info line for every test case