nsf

Clone Tools
  • last updated 6 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- fixed error message for forward ... onerror and method paths. The command "C object mixin" returns now "::C object mixin add|clear|delete|get|guard|set" and not "::C mixin add|clear|delete|get|guard|set" as before.

- add ".add" file for mongodb interface

    • -0
    • +1
    /library/mongodb/pkgIndex.add
- use cget interface

- rename nsf::parameter:invalidate::classcache -> nsf::parameter::cache::classinvalidate nsf::parameter:invalidate::objectcache -> nsf::parameter::cache::objectinvalidate reasons: (a) remove single colon inside the name, (b) put verb to the end

- use functions IsRootClass(), IsRootMetaClass() and IsBaseClass() to access object/class properties - add gcc attribute "pure"

nsf.c: - cleanup of NsfParameterInvalidateClassCacheCmd(): performance improvements. After the fixing of indirect mixin validation, performance of invalidation went up by a factor of 5. At least, in some important cases (invalidation of rootclasses like nx::Object / xotcl::Object), we are again on the same level as before (actually slightly faster).

- reduce variable scopes

- fix error message

- add target for cppcheck with same arguments as for compilation

Removing traces of nxdoc

Fixing an example script for changes in getter/setter reform

- updated migration guide and tutorial to reflect recent changes

    • -16
    • +12
    /doc/next-tutorial/next-tutorial.html
    • -14
    • +11
    /doc/next-tutorial/next-tutorial.txt
- minor cleanup

- improve spelling

- update of TODO and regression test

    • -0
    • +286
    /tests/nsf-cmd.test
- adapt mixinof.test to the additional information - transform mixinof.test to newer style regression test with autoated object deletion

- add test file nsf-cmd.test

- ignore generated .txt files

nx.tcl: - removed /cls/ info configure parameters /cls/ info configure /cls/ info syntax Use e.g. "/cls/ info lookup parameters create" instead

- nsf.c: - Let "/cls/ info mixinof -closure" return as well implicit mixin classes to make it easier to determine class dependencies.

Example:

nx::Class create M0

nx::Class create M1 -superclass M0

nx::Class create M2 -superclass M1

nx::Class create C

nx::Class create D -superclass C

C mixin add M2

# M2 is mixed into C, and implicitely into D

#

# Since M2 is a subclass of M1, classes C and D depend as well

# on M1 and M0, as seen in the heritage:

? {C info heritage} ":M2 ::M1 ::M0 ::nx::Object"

? {D info heritage} ":M2 ::M1 ::M0 ::C ::nx::Object"

# previously, only "M2 info mixinof -closure" showed the

# mixin relations, even with "-closure", while M1 and M0 did not.

? {M2 info mixinof -closure} "::C ::D"

# now these show the same relations (in this example).

? {M1 info mixinof -closure} "::C ::D"

? {M0 info mixinof -closure} "::C ::D"

- handle ensembles in info nx::help

- harden code

mongo: - upgrade to the newly released version 0.96 of the c-driver - replace deprecated function mongoc_collection_delete by mongoc_collection_remove - tested with MongoDB v2.6.1

- provide a minimal nx::help

    • -0
    • +45
    /library/lib/nx-help.tcl
- provide contextObj when required argument is missing

nsf.c: - added options to filter output from ::nsf::cmd::info parameter options (args, syntax, parameter) - deleted: - "/obj/ info lookup configure parameters ?pattern?" - "/obj/ info lookup configure syntax" - added: - "/obj/ info lookup parameters /methodName/ ?pattern?" - "/obj/ info lookup syntax /methodName/ ?pattern?" This covers as well - "/obj/ info lookup parameters configure|create|new|... ?pattern?" - extend regression test

- remove dead code

- white-space change

- improve error message

nsf.c, gentclAPI.tcl: - new argument types "virtualobjectargs" and "virtualclassargs" for context-specific argument resolutions: when a context object is provided, arguments of type "virtualobjectargs" are determined based on the slots applicable for the object (like "... lookup ..."), arguments of type "virtualclassargs" are resolved against a class. These types are used as follows: /obj/ configure /virtualobjectargs/ /cls/ create /name/ /virtualclassargs/ /cls/ recreate /name/ /virtualclassargs/ /cls/ new ?-childof /obj/? /virtualclassargs/ This new feature allows us to provide better error messages and to make much of the "... info ... configure parameter ..." infrastructure much less important. - For "virtualclassargs" we need the functionality to obtain from the C-Code based on a class the configure parameters applicable to objects of this class. - add argument "-context ..." to "cmd::info" to pass the context object (so far the only place where the context-object is used) - object system configuration parameters changes: new: -class.configureparameter new: -object.configureparameter removed: -class.objectparameter