nsf

Clone Tools
  • last updated 4 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- added experimental code feature CYCLIC_MIXIN_ERROR

nsf.c: - new function DependentSubClasses() to determine all classes that inherit from a given class. The result extend TransitiveSubClasses() by including class mixin relationships. - simplify NsfParameterCacheClassInvalidateCmd() by using the new function DependentSubClasses(). With the new implementation, NsfParameterCacheClassInvalidateCmd() is as efficient as before without to MostGeneralSuperclass optimization (but being complete now) when working on the root classes (an more efficient on subclasses).

- 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