nsfInt.h

Clone Tools
  • last updated 3 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- alias reform: instead of calling first an alias with a stack frame followed by the dispatched of the aliased cmd, resolve aliases internally in dispatch. This has the advantage that we do not have to ignore the "transparent" stack frame in some sitations, and we have much less problems with the names of the aliased cmds (e.g. objects) in the introspection methods. Additionally, several problem cases disappeared from the regression test cases. In addition, the new approach is faster. - eliminating obsolete flag NSF_CSC_CALL_IS_TRANSPARENT

  1. … 9 more files in changeset.
- 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.