nsf

Clone Tools
  • last updated 11 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- reduce redundancy by introducing macro NSF_ARG_METHOD_INVOCATION

- changed required stubs version

- added handling for provided arguments to positional object parameters with disposition alias and forward - provided better error messages for unknown parameter options - provided error messages for multiple disposition parameters

- provided nicer registration and inspection interface for unknown handlers - added documentation for unknown handlers in tutorial - cleanup of __unknown

- minor cleanup

- improve bignum conversion handling further - found memleak in tcl

- nsf.c: Initialising the tommath stubs by using the Tcl_TomMath_InitStubs macro so that we can use the stubbed tommath C interface

- fixing part of the memleak introduced for bignum handling above (for some unknown reasons, we see crashes from mp_clear) - extend regression test

- library/mongodb: * use type int32 * updated to new nx/nsf interfaces * updated for mongo-c-driver post 0.3 (supporting result MONGO_OK for mongo_cursor_next) * factored out "mongo cond" from "mongo query"

    • -0
    • +10
    /library/mongodb/example-nx-mongo.tcl
- added value checker type int32 (similar to "string is integer") and changed value checker "integer" to accept all integers

- removed warning about strict-aliasing rules

- add one more testcase for wideint

- added tests for integer, wideinteger and bignums

- fixed memory leak in "... info mixin classes -heritage"

- moved mixin reg type converter to a new file (nsfObj.c) - added NsfFilterregObjType, to provide a converter for filter registration similar to mixin registrations - replaced dummy dupIntRepProc and updateStringProc in nsfObj.c by NULL

- moved mixin reg type converter to a new file (nsfObj.c)

    • -0
    • +179
    /generic/nsfObj.c
- Use mixinregObjType as well in NsfRelationCmd(), so this is the only place, where mixin and guards are processed. - Since the type converter converts Tcl-Objs, we have less context information (e.g. we have no base class, on which we can decide to call e.g. __unknown on on of the objects systems). - because of the point above, i removed ::xotcl::Class->__unknown and ::nx::Class->__unknown in favor of a global proc ::nsf::unknown, for which unknown handlers can be registered - GetClassFromObj() receives as last argument "withUnknown" instead of baseClass to indicate, when unknown should be tried. - new function NsfCallUnkownHandler()

- improve code documentation

- renamed converter from "mixinspec" to "mixinreg"

- improve code documentation

- nsf.c: fix small memory leak for nsf::is in error cases

- nsf.c: use NsfObjectRefCountIncr() instead of object->refCount++

- improve code documentation

- removal of unneeded flags "-incontext" and "-nomixins" from * /obj/ info methods * /cls/ info methods These flags are correct for "info lookup", but unneeded for "info methods" + cleanup of ListDefinedMethods()

- remove unneeded var when compiled without profile support

* added profiling support for nsf::proc when NSF_INVOKE_SHADOWED_TRADITIONAL is turned off.

- nsf.c: * added a new converter for converting mixins with guards (named mixinspec) * used mixinspec in nx.tcl and xotcl2.tcl * extended nx regression test.

- removed unneeded expr

- nsf.c: generalized disposition handling (forward, alias, initcmd) for object parameter * disposition is now an option for object parameters rather than than an own type. Therefore, one can check the arguments passed to the disposition cases * changed specification of name of method from arg= to method= * this way "type" info in "info parameter syntax" is handled automatically

- nsf.c: removed unneeded casts to (ClientData)