nsf

Clone Tools
  • last updated 12 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- Further testing on [current calledmethod|class] and submethods; added to-dos

- nx.tcl: * added support for "variable" on the class-level * added flag "noconfig" to object parameter options * parameters with "noconfig" are omitted in "info parameter syntax" and "info parameter list" * used switches for all configurable boolean options for "variable" and "attribute" * regularized the interface of "variable" and "attribute" * extended regression test

- nsf.c: improve performance (branch prediction) by using likely/unlikely macros for gcc

- nx.tcl: added switch "incremental" to "variable" and "attribute" - added regression test

- library/mongodb: * updated to current interface in git HEAD

- make sure to place declarations only at the begin of a block - minor code cleanup

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 tests for object specific "variable" and "attribute + application defined value checker

- generic/nsf.c: Fixed [current callingmethod] for submethods (i.e., reporting submethods as calling methods, including their methodpath). Added tests covering the fix (see tests/submethods.test). - generic/nsfStack.c (CallStackMethodPath): Re-arranged the traversal slightly, to escape non-ensemble frames (eval CFRAMEs) as parts of the method path. Added test (see tests/submethods.test). - library/nx/nx.tcl: Corrected the impl of Ensemble->defaultmethod() (e.g., used self instead of current) - tests/disposition.test: Fixed test cases turned out to be false positives. Before the fixes, [current methodpath] gave non-empty results for simple object aliases.

- provide error message, when method variable is a noop (e.g. no value provided and no accessor is wanted)

- added support for "class variable" - added tests for "variable" + multiplicity and "class variable"

- nx::Attribute: changed method 'checkInstVar' to 'setCheckedInstVar' - set only fresh variables via per-object method "variable" and "attribute" - added flag -concomplain to per-object method "variable" and "attribute" - extended regression test

- add reference value in tests, update TODO

- nx: factor out method createFromParameterSpec - method variable: * check default value * added shortcut, when no slot object is needed * extended regression test

- generalized "nsf::object::initialized" to nsf::object::property objectName initialized|class|rootmetaclass|rootclass|slotcontainer

- regularized more nsf::* names: renamed "nsf::createobjectsystem" => "nsf::objectsystem::create" renamed "nsf::unknown" => "nsf::object::unknown" renamed "nsf::dispatch" => "nsf::object::dispatch"

    • -11
    • +11
    /library/xotcl/library/xotcl2.tcl
  1. … 3 more files in changeset.
- better error message

- fix typo

- library/mongodb: * added new index options "-sparse" and "-background"

- library/mongodb: * updated to current interface in git HEAD * added flag timeout to mongo::connect

- first draft of separation of attribute -> variable + accessor

- make sure to always initialize variables

- reamed ObjectParameterSlot attribute from nosetter => accessor (positive formulation)

- tests/parameters.test: Tracked down the relevant Tcl issue (fossil check-in 769801ace1) resulting in the bignum double-rounding problem, observed earlier. The work-around is setting the tcl precision level to 17. I made it applying conditionally, depending on the Tcl patch level as the work-around is not needed anymore fore 8.5.10+. - generic/nsf.c: Correct usage of TclDumpMemoryInfo() for changes in 8.5.10, introduced by fossil check-in 4a9ba46064. Memdebug builts (--enable-symbols=mem) therefore require a recent Tcl version (8.5.10+).

- reduce verbosity - redoce scope of variables

- adding spaces after comma in argument lists

- fix typos in string "unknown" (unknwon, unkown)

- provide backward compatibility for unknwon method (when method contains spaces). - some minor cleanup - extended regression test

- TODO: Added an entry concerning callstack introspection (as discussed today) - generic/nsf.c: Some minor renaming in NsfOConfigureMethod(); made sure that intermediate frames resulting from forward-parameter dispatches are equally marked INACTIVE. - tests/disposition.test: Added tests covering uplevel/upvar support under parameter/disposition dispatches (i.e., uplevel and upvar calls from within parameter-dispatched methods); the tests also cover XOTcl's residualargs dispatches.

- generic/nsf.c / CallConfigureMethod() + CmdMethodDispatch(): Rephrased the accompanying docstrings slightly, to align the documentation to the underlying implementation details.