nsf

Clone Tools
  • last updated 23 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- removed -per-object from ::xotcl::relation - removed -per-object from methods "mixinguard" and "filterguard" - removed -per-object from methods "alias" and "method" - added "... object filterguard ..." and "... object mixinguard ..." - implemented "info method definition" with "object" modifier - extended regression test

- call __UNKNOWN with XOTCL_CM_NO_PROTECT (don't complain when it is protected)

- added "<Class> object filter" and "<Class> object mixin" - use explicit "(object|class)-(mixin|filter)" relations in ::xotcl::relation - removed "-per-object" from all user-level relation commands (::xotcl::relation has still "-per-object"), but it is not needed anymore - register slots "object-mixin" and "object-filter" for conveniance to allow object-filter and object-mixins via configuration via object parameter

- turned "setter" method into a command "::xotcl::setter" with the same interface like "::xotcl::alias" - removed flag -per-object from XOTclCForwardMethod - require "object" to be followed directly by either method defining command or info, etc. (use "public object method" instead of "object public method")

- renamed method property "static" to "redefine-protected"

- removed "-protected" and "-public" from method defining methods ("alias", "method")

- Definition of method modifiers "public", "protected" and "object" - all method-creating methods ("method", "alias", "forward", "setter") return now the fully qualified method names - extending 50 regression tests fpr method modifiers - Make "unknown" for ::xotcl2::Class" to raise an error instead of warning. Otherwise, protected class-level methods would create objects with the name of protected methods. Other option: make calls to protected methods raise an error, instead of calling "unknown"

    • -0
    • +159
    /tests/method-modifiers.xotcl
- return fully qualified name from method defining commands (part 1, "method")

- changed in xotcl-core "method" into "object-method" and "class-method", provided scripted definition for method in xotcl2 - removed "setter" from methods in xotcl1 - defined xotcl1 methods in terms of "proc" and "instproc"

- dropped method "instvar" from the xotcl2 interface

- Methods defined via "method" are now per default "protected" - new switch "-public" for "method" to define public methods - new flag for "info callable": -callprotection", values "all|protected|public" - new flag for "info methods": -callprotection", values "all|protected|public" - converted part of regression test

- minor refactoring to reflect changes in "info methods"

- changed "info methods" (without defined, as defined in xotcl1) into "info callable" - changed "info methods -defined" into "info methods" - replaced "procsearch <name>" by "info callable -which <name>" - added emulation for procsearch for xotcl1

- removed "obj|class info alias"; obsoleted by "info method definition"

- renamed "info method pre" to "info method precondition" - renamed "info method post" to "info method postcondition"

- removed "-per-object" slot from infoslot->get and infoslot->add

- reduce verbosity

- added changes for new behavior

- keep last setting of per-object and per-class mixins, when list of new mixins contains invalid ones (prev. versions: registered mixins were reset)

- reseting interceptor list in interceptorslot->mixin via relation - adding rests for behavior, when setting invalid mixins

- remove experimental code

- info "pre" is gone, now subcommand "<obj> info method pre <name>", added emulation in xotcl1 - info "inst pre" is gone, now subcommand "<cls> info method pre <name>", added emulation in xotcl1 - info "post" is gone, now subcommand "<obj> info method post <name>", added emulation in xotcl1 - info "instpost" is gone, now subcommand "<cls> info method post <name>", added emulation in xotcl1 - "info instinvar" gone, added emulation in xotcl1

- minor cleanup of obsolete code

- removed deprecated calls from predefined and regression test

* info params removed * info instparams removed * added subcommand to "info method args <somename>": similar to "info method parameter ...", but returns only names of parameters instead of full parameter definitions

- method "instfilterguard" is gone (for xotcl2) we have now "<Object> filterguard <name> ... " "<Class> filterguard ?-per-object? <class> " - added emulation for old "filterguard" and "instfilterguard" in xotcl1

- "info instforward" gone, added emulation in xotcl1

- "info instfilterguard" gone, added emulation in xotcl1

- "info instfilter" gone, added emulation in xotcl1

- "info instmixinguard" gone, added emulation in xotcl1