nsf

Clone Tools
  • last updated 20 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- some simplifications

- fix capitalization

- fixed "info methods" and added "-methodtype all" for setting class-only

Merge branch '2.0.0-develop' of ssh://alice.wu-wien.ac.at/usr/local/src/git-repo/xotcl into 2.0.0-develop

Conflicts:

library/xotcl/library/xotcl2.tcl

    • -0
    • +152
    /library/xotcl/library/xotcl2.tcl
- changed info to new interface (partly done for nx, migration for xotcl to be done)

- Started separating the documentation into four documentation projects, each with its own documentation artifact: nsf (predefined.tcl), nsl/nx (nx.tcl), xotcl (xotcl2.tcl), libraries (several?). - Removed documentation blocks from gentclAPI.decls - Added default namespace resolution for documentation entities. @project and @package can now specify a default namespace which is applied to all relative (not fully qualified) entity names. This avoids the redundant writing of longish qualified entity names. As a @project may contain several @packages, multiple default namespaces can be specified. - Added a distinct @class entity family. - @project and @package can now trace the creation of specified part entities (@class, @object, @command) to be structurally linked to them. - Fixed search box support for @command views - Excluded template files from output directories

    • -1
    • +17
    /library/lib/doc-assets/command.html.tmpl
    • -4
    • +4
    /library/lib/doc-assets/entity.html.tmpl
    • -0
    • +151
    /library/xotcl/library/xotcl2.tcl
- added object info methods mixinguard, mixinclasses to objectInfoMethod - added class info methods mixinguard, mixinclasses to classInfoMethod - built a temporary solution for dispatcher "mixin", since forward mangles args - nx: we have now "obj info mixin guard name" instead of "obj info filter -guard name" - nx: we have now "obj info mixin classes ...." instead of "obj info filter ...." - updated migration guide

- started new interface bundles, objectInfoMethod and classInfoMethod for using new infrastructure - added object info methods filterguard, filtermethods, vars to objectInfoMethod - added class info methods filterguard, filtermethods to classInfoMethod - built a temporary solution for dispatcher "filter", since forward mangles args - nx: we have now "obj info filter guard name" instead of "obj info filter -guard name" - nx: we have now "obj info filter methods ...." instead of "obj info filter ...."

- added option "-returns" to Class.method - added subcmd to method/object method in nx - delete class methods in freeAllXOTclObjectsAndClasses() explicitly to handle potential double-deletes - extended regression test for subcmds

- implemented "object-methods-only" as alternative for prefix for invoke "object as a method" - added option "-returns" to Object.method

- use prefix sub= for methods invoked on "object as method" - change further instances of "my connection" to "[self]::connection" in xo*comm*

    • -3
    • +3
    /library/xotcl/apps/comm/webserver.xotcl
    • -1
    • +1
    /library/xotcl/library/comm/Access.xotcl
    • -1
    • +1
    /library/xotcl/library/comm/Httpd.xotcl
- changed requireNamespace to "require namespace" in lib/make.tcl

- implemented experimental delegating version of "object as method" that keeps the original self.

    • -40
    • +40
    /library/xotcl/library/comm/Httpd.xotcl
    • -6
    • +14
    /library/xotcl/tests/slottest.xotcl
- updated todo list

- deactivated "abstract"

- replaced "obj|cls mixinguard name cond" by "obj|cls mixin guard name cond" - replaced "obj|cls info mixinguard name" by "obj|cls info mixin -guard name" - replaced "cls object info mixinguard name" by "cls object info mixin -guard name" - removed XOTclObjInfoMixinguardMethod() - removed XOTclClassInfoMixinguardMethod() - extended regression test - updated migration guide

- replaced "obj|cls filterguard name cond" by "obj|cls filter guard name cond" - replaced "obj|cls info filterguard name" by "obj|cls info filter -guard name" - replaced "cls object info filterguard name" by "cls object info filter -guard name" - removed XOTclObjInfoFilterguardMethod() - removed XOTclClassInfoFilterguardMethod() - extended regression test - updated migration guide

- 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.

- updated TODO

- 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.

Merge branch '2.0.0-develop' of ssh://alice.wu-wien.ac.at/usr/local/src/git-repo/xotcl into 2.0.0-develop

- changed __invalidateobjectparameter from a method of class to framework primitiv ::nsf::invalidateobjectparameter

Merge branch '2.0.0-develop' of ssh://alice.wu-wien.ac.at/usr/local/src/git-repo/xotcl into 2.0.0-develop

Fixed some more [info callable] occurrences

- removed XOTCL_METHODTYPE_OBJECT from XOTCL_METHODTYPE_BUILTIN - default methodtype returns now everything, which is a true method (except objects) - methodtype -all includes objects - the object "slot" does not appear now in the method listing per default for classes having slots

Merge branch '2.0.0-develop' of ssh://alice.wu-wien.ac.at/usr/local/src/git-repo/xotcl into 2.0.0-develop

- 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

- Accomplished major rewrite and cleanup of the comment block parser. The revised design allows us to express parsing states (context, description, part) as well as their substates reflecting the comment line processed (tag, text, space) directly. The design follows a METHODS-FOR-STATES strategy. Also, the parsing logic is now self-contained and is not interwoven with the class hierarchy documentation entities anymore (i.e., the former process() method of Entity and its subclasses). - The modal/reactive design of the comment block parser has been streamlined: There is a CommentBlockParser class which acts as the event source. The actual parsing is achieved by the mixin-refined entity objects by reacting upon the parsing events (process, parse, next). - Adjusted the tests in doc.tcl accordingly. - Changed occurrences of [info callable] to reflect the latest changes.

    • -449
    • +360
    /library/lib/doc-tools.tcl
- made slot optimizer more robust

- 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