nsfInt.h

Clone Tools
  • last updated 3 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- Added exerpimental object property "allowmethoddispatch" for child-objects to be called from parent objects via method interface. Background: both, per-object methods and childobjects are implemented via cmds in the same tcl namespace. Without special care, both are callable via the standard dispatch. Apparently, this is not always wanted. - handled allowmethoddispatch and keepcallerself in copy/move - set allowmethoddispatch per-default in XOTcl - removed visablilty of objects with "allowmethoddispatch" false in "info methods" and "info search methods" - extended regression test

  1. … 10 more files in changeset.
- simplified usage of ObjectName() and ClassName() macros (no caller parenthesis needed) - added exerpimental object property keepcaller self (currently only evaluated by aliased objects)

  1. … 8 more files in changeset.
Allow to pass casts to macros ClassName and ObjectName

- simplify macro handling with __WIN32__ - regroup some macro definitions

  1. … 1 more file in changeset.
- generic/nsfInt.h: Provided the DECR_REF_COUNT2 #define macro for __WIN32__ builds (e.g., MinGW). Thanks to Stephan Adelsberger for pointing to the issue. - Made temp file handling in a rosetta example OS-independent; thanks to Stephan Adelsberger for the initial patch

  1. … 2 more files in changeset.
- fix spelling

  1. … 1 more file in changeset.
nsf.c: - added method NsfMethodNamePath() to compute the ensemble path in error messages - reduce verbosity - extended regression test

  1. … 4 more files in changeset.
- update copyright notices with MIT licens from OSI (http://www.opensource.org/licenses/MIT)

  1. … 26 more files in changeset.
nsf.c: - reduce number of RUNTIME_STATE(interp) in favor of a variable. - make time of the definition of a method independent on the number of defined instances (unless, when filters are defined)

  1. … 2 more files in changeset.
- renamce NsfObject->filters and mixins to objFilters and objMixins

  1. … 1 more file in changeset.
- ensure to export only symbols starting with nsf

  1. … 2 more files in changeset.
- further cleanup of C code, adding asserts

  1. … 2 more files in changeset.
nsf.c: - new cmd for debugging: nsf::__db_show_obj - added MethodDupInternalRep() and FlagDupInternalRep() since they appear to be required in Tcl 8.6b2.

  1. … 6 more files in changeset.
nsf.c: - moved methodEpochCounters from global vars to the interp state to improve resue in multi threaded apps - separated objectMethodEpoch and instanceMethodEpoch - bump version number to 2.0a2

  1. … 4 more files in changeset.
- experimentation version of unknown handler for non-pos args - extending regression test

  1. … 6 more files in changeset.
nsf.c: - reform of method lookup. new code uses NsfInstanceMethodObjType and NsfObjectMethodObjType to reuse earlier lookup results. Improved speed for for methods with primitive bodies (over version before argument parse reform: 10%-43%. - additional compile-time option: METHOD_OBJECT_TRACE

  1. … 4 more files in changeset.
- nsf.c - added experimental parameter option noleadingdash - additionalal regression test file method-parameter.test - provide selective error messages for unknown nonpos args

  1. … 11 more files in changeset.
- reform of argument parse. new parser uses NsfFlagObjType to reuse earlier parse resuslts. Improved speed for for methods with primitive bodies: 5%-25%.

  1. … 7 more files in changeset.
- nsf.c: * report configuration options via "parray nsf::config"

  1. … 1 more file in changeset.
* added support for calling private methods via -local and filters * extended regression test for private + filters

  1. … 6 more files in changeset.
- remove interp from MEM_COUNT implementation

  1. … 3 more files in changeset.
* per-thread MEM_COUNT tested with aolserver/naviserver * removed INTERP macros for MEM_COUNT (since we use now per-thread tables instead of per-interp tables as in the first implementation)

  1. … 5 more files in changeset.
- nsf.c: * simplified permission handling * made private/protected mutual exclusive * extended regression test for private methods

  1. … 4 more files in changeset.
- nsf.c: * integrated "-local" and fully qualified handling with ObjectDispatch to ensure proper behavior of mixins/next etc. * added "/obj/ -local ..." similar to "/obj/ -system ..." * added "nsf::object::disapatch /obj/ -local ..." similar to "/obj/ -local ..." * extended regression test (next from -local, fully qualified names, private methods, "...dispatch -local")

  1. … 8 more files in changeset.
- added flag "-system" to ObjectDispatch

  1. … 1 more file in changeset.
- nsf.c: * added preliminary/minimal "private" support * private can be called via "my -local", direct dispatches are forbidden, ignored in mixins and next; * extended regression test

  1. … 6 more files in changeset.
- generic/nsfError.c: Made sure that the colon prefix is not printed in occurrences of NsfObjWrongArgs() - generic/nsfInt.h: Advertising the MethodName() function prototype - tests/parameters.test: Added a corresponding test

  1. … 3 more files in changeset.
-nsf.c: * move to greedy assert to an inner scope ("info method ...") * allow testwise "switch" as object parameter (when it is used, accessors are deactivated for this attribute) * extended regression test

  1. … 5 more files in changeset.
* added paramPtr->name to MEM_COUNT tracing * renamed NEW_STRING to STRING_NEW * added STRING_FREE, calling MEM_COUNT macros * checked all ckfree in nsf.c, everything allocated is covered by the MEM_COUNT macros

  1. … 2 more files in changeset.
- minor code cleanup

  1. … 1 more file in changeset.