nsf

Clone Tools
  • last updated 14 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
Merge branch '2.0.0-develop' of ssh://alice.wu-wien.ac.at/usr/local/src/git-repo/xotcl into 2.0.0-develop

- added further tests for the object-system specific resolver

- nsf.c / ListCmdParams(): Fixed a crash scenario when relying on the methodName for trying to resolve the parametersyntax for C-implemented commands. In these cases, methodName stands for a null pointer, so we need to fall back to Tcl_GetCommandName(). - nsf.tcl / ::nsf::mixin: The proc implementation used "mixin" rather than "class-mixin" as (default) relation type.

- Experimental Object-System specific resolver in method bodies (allows resolving to the "right" next, self, etc. without namespace imports/paths) - deactivated automatic namespace path copying for child-objects - extended regression test

- frame skipping in cmdresolver apprantly not needed anymore

- source code formatted via new pretty printer class

    • -2015
    • +3375
    /doc/next-migration.html
- fixed in bug in ensemble-next (removed colon-prefix from methodname in next) - extended regression test

- removed method "setter" from migration guide

- removed method "setter" from migration guide

- serializer: updated serializer to avoid calls to "setter" - extended regression test

- nx::test: made differences in regression test easier to read

- doctools: changed "-slotclass" to "-class"

- removed method "setter" from nx - nx method "attribute": changed name of nonposarg from "slotclass" to "class" - fix bug for "C class-object attribute foo" (incorrect forwarder) - extended regression test

- Changed parametersyntax visualisation to show variable/replacable elements in italics. - Rewrote the method template for attribute accessors/mutators - Revised and refactored the resolution helper of member entities along an inheritance path to reflect member overloading - Reduced verbosity

    • -3
    • +3
    /library/lib/doc-assets/class.html.tmpl
    • -2
    • +2
    /library/lib/doc-assets/method.html.tmpl
- Adjusted the TODOs - Completed marking internally-called methods and provided a first documentation draft for them. - Fixed the indentation level for code listings - Now using method.html.tmpl to render per-object methods in class.html.tmpl - Fixed return (out parameter) validation

    • -53
    • +17
    /library/lib/doc-assets/class.html.tmpl
    • -1
    • +4
    /library/lib/doc-assets/method.html.tmpl
- "/obj/ info method parametersyntax /method/": return results of ::nsf::parametersyntax in case, the parametersyntax cannot obtained from a parameter definition (e.g. the method is a forwarder to a tcl cmd).

    • -19
    • +13
    /library/xotcl/library/xotcl2.tcl
- streamlined error messages - removed NsfErrBadVal() and replaced it with a generalized version of NsfObjErrType(

- made error messages more consistent - improved error messages for "returns" and "nsf::is" (omit parameter name)

- Adjusted for multiplicity types - Added new templates: attributemethod.html.tmpl is responsible for rendering accessor/mutators for attribute slots, object.html.tmpl for objects. - I now render attribute slots both in their object parameter view & a method view. Furthermore, I distinguish between the incremental vs. ordinary interface (as requested). - Fixed div boxing scheme (again) - Adjusted various places (method.html.tmpl, submethod.html.tmpl) to display the status marks (more to come) - Streamlined the method views, introducing Type and Protection sections - Started adopting the /obj/ prefix in parameter listings - Made the @use mechanism working again (under validation). Once tiny bit needs to be fixed: The upward propagation of status messages if @use is in place. - Removed the cause for redundant validation calls by traversing the entity hierarchy only once. - Added nx-specific tracers (to distinguish between ensemble and slot objects, ...) For now, they work fine, but are tangled with non-nx tracing. This needs refactoring. - Added another nx-specific tracer which tackles the issue of the __resolve_method_path helper. While quite cumbersome and coupling nxdoc to many internal design decisions of nx, it turns any change in nx.tcl unnecessary. - Fixed ::nx::doc::handleinfo to deal with objects as methods (the case for intermediate ensemble objects). - Added ::nsf::setter support - Fixed the validation support for submethod structures. - Some cleanup (to be continued)

    • -0
    • +78
    /library/lib/doc-assets/attributemethod.html.tmpl
    • -8
    • +20
    /library/lib/doc-assets/class.html.tmpl
    • -1
    • +1
    /library/lib/doc-assets/command.html.tmpl
    • -22
    • +24
    /library/lib/doc-assets/entity.html.tmpl
    • -73
    • +74
    /library/lib/doc-assets/method.html.tmpl
    • -0
    • +101
    /library/lib/doc-assets/object.html.tmpl
    • -142
    • +276
    /library/lib/doc-tools.tcl
- provide warning if nonpositional argument is passed more than once

- improve wording in comment

- added returns handling for nx in serializer - extended regression test

- extended und overworked mirgration guide (added e.g. multiplicity)

- extended regression test

- further cleanup of error procs: eliminated NsfObjErrArgCnt() - improve error message, when too many arguments are passed

- fix messages when test fails

- minor cleanup

- make sure to load the local version of the old XOTcl documentation toolkit

    • -2
    • +2
    /library/xotcl/library/lib/makeDoc.xotcl
    • -1
    • +1
    /library/xotcl/library/lib/xodoc.xotcl
- added strnstr emulation for installations without having it

- new printf-style error message generator: NsfPrintError() - simplified error handling: removed NsfVarErrMsg() and NsfErrMsg() and replaced it by NsfPrintError()