nsf

Clone Tools
  • last updated 10 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- regression tests: * added disposition.test * extended regression tests

    • -0
    • +451
    /tests/disposition.test
-nsf.c: * switched parameter logic from default for nrargs from 0 to 1 * simplified logic to detect additional arguments in argument parser * improved error message for missing required argument

- gentclAPI.decls: * added "-nrargs 0" where needed

- gentclAPI.tcl: * renamed "nrArgs" to "nrParams" * switched default for nrargs from 0 to 1

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