gentclAPI.decls

Clone Tools
  • last updated 4 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- renamed gentclAPI.decls to nsfAPI.decls - renamed tclAPI.h to nsfAPI.h - added nsf.m4 to git for the time being

  1. … 7 more files in changeset.
- genAPI.decls and nsf.c: bring cmds in same order - nsf.c: align naming conventions

  1. … 3 more files in changeset.
- nsf.c: * Don't output non-consuming procs (which are always called) via parametersyntax (shows, what a user can input) * additional command ::nsf::object::initialized to check whether an object is already initialized * new function DispatchInitMethod() similar to DispatchDefaultMethod() * let residualargs call init directly instead of doing it the inidrect way * provided ability to call init with object parameters at arbitrary times * switch from Tcl_ObjCmdProc style interface (ClientData first) to a C stype interface for DispatchDefaultMethod(), DispatchUnknownMethod() * bring cmd definitions for nsf::object in right order - extended regression test

  1. … 9 more files in changeset.
- gentclAPI.decls: * added "-nrargs 0" where needed

- removal of unneeded flags "-incontext" and "-nomixins" from * /obj/ info methods * /cls/ info methods These flags are correct for "info lookup", but unneeded for "info methods" + cleanup of ListDefinedMethods()

  1. … 3 more files in changeset.
- bring defined commands in the source code in alphabetical order - generate interface for NsfUnsetUnknownArgsCmd() - delete some obsolete code

  1. … 3 more files in changeset.
- nsf.c: added cmd "::nsd::method::registered /handle/" that returns the object on which the method identified by the handle was registered, or empty. - extended regression test

  1. … 5 more files in changeset.
-nsf.c: added c-implementation of "/object/ info slots" to share implementation details and reduce scattering

  1. … 4 more files in changeset.
-nsf.c:

* Added argument "-reg-object" to ::nsf::method::create to

distinguish between a registration and a definition object for

ensemble methods, similar as on other places. If no reg-object is

provided, it is the same as the definition object. One should

take care that the registration objects are deleted after the

definition objects, which is the case for the usages of the

reg-objects in nx/xotcl.

* The namespaces within plain scripted methods and scripted

ensemble objects are now the same.

* Extended regression test

  1. … 5 more files in changeset.
- nsf:c * added C-implemented class level method "info objectparameter list|name|parameter|parametersyntax" * added enum to handle different print styles for parameters * renamed ParamDefsList() to ParamDefsNames(), added true ParamDefsList()

  1. … 3 more files in changeset.
- nsf.c * added "pattern" to "info lookup slots" * added "pattern" to "info slots" * extended regression test

  1. … 7 more files in changeset.
* added switch "-source" to "info slots -closure" and "info lookup slots" (similar to "info lookup methods") * extended regression test

  1. … 5 more files in changeset.
- nsf.c * first version of c-bases "info slots" for classes * switch "-closure" just for class info method

  1. … 5 more files in changeset.
- nsf.c: * renamed old flag "-order" of "info mixin classes" to "-heritage" since it computes same heritage as in "info heritage" (but potentially for a list of classes) * added compatibility layer for xotcl2 * added lost option "-heritage" to "/cls/ info mixin classes" (was only there for "/obj/ info mixin classes") * extended regression test

  1. … 7 more files in changeset.
- nsf.c: * moved implementation of ::nsf::method::delete to C * produce same error messages when methods are delete via nsf::method::delete and nsf::method::create {} {} * Prohibit deletion of methods during shutdown. Otherwise when destructors delete methods, some other destructors depending on these methods will fail. Cleanup deletes all methods anyway. * Provided alternative (faster) way of dispatching nsf::procs (can be tured off with NSF_INVOKE_SHADOWED_TRADITIONAL) * renamed NsfMethodCmd() into NsfMethodCreateCmd() for consistency * nsf works with OpenACS again (requires new nstrace.tcl, aolserver-openacs.tcl, and 01-debug-procs.tcl).

  1. … 7 more files in changeset.
- nsf: renamed nsf::isobject to nsf::object::exists - nsf: renamed nsf::qualify to nsf::object::qualify

  1. … 17 more files in changeset.
- nsf.c: added nsf::var::unset (provided so far just var::set)

  1. … 4 more files in changeset.
- gentclAPI.tcl: * renamed "nsfCmd" to simply "cmd", since the code can generate arbitrary tcl commands * allow type "int" in the .decls files - nsf.c * move several functions from "static" to "external" to make the code generator usable for submodules as well

  1. … 7 more files in changeset.
* added methods ::nsf::methods::object::class and ::nsf::methods::class::superclass in order to make faster and nicer looking objectparameters (compared with forwarders) * nx: changed parameter -class to use ::nsf::methods::object::class * ns: fixed chicken egg problem of method objectparameter needing objectparameter by creating/destroying slot Class::slot::dummy; otherwise default values for slots would not be available * reduced verbosity of parameter forwarder

  1. … 6 more files in changeset.
* provided a fast path implementation for "defaultmethod" * provided default system methods for "init", "defaultmethod" and "unknown" * provided handles for system methods "alloc", "dealloc", "recreate", and "defaultmethod" * strip in dispatch invocations of "unknown" potental leading colons * removed c-level implementation of init again, since scripted one can be used now as well in registration of createobjectsystem * reduced verbosity * added defintions such that these methods can be loaded via ::nsf::method::require ::nx::Object unknown

  1. … 6 more files in changeset.
* added C-implemented method "init" for orthogonality * allow specification of system method handles in nsf::createobjectsystem * automatically register alias, when system-method handle was provided and a same-named method is defined

  1. … 5 more files in changeset.
- changed names of var handling commands in nsf: ::nsf::existsvar => ::nsf::var::exists ::nsf::importvar => ::nsf::var::import ::nsf::setvar => ::nsf::var::set

  1. … 12 more files in changeset.
- changed named of method handling commands in nsf: ::nsf::methodproperty => ::nsf::method::property ::nsf::method => ::nsf::method::create ::nsf::methoddelete => ::nsf::method::delete ::nsf::alias => ::nsf::method::alias ::nsf::forward => ::nsf::method::forward ::nsf::setter => ::nsf::method::setter (updated regression test, docs, ...)

  1. … 24 more files in changeset.
- fixed potential crash with -param:switch - added "... info method exists ...."

  1. … 6 more files in changeset.
DTrace: * added "nsf::configure dtrace on|off" for skipping package initialization (to be handled in D script) * make compliation clean

  1. … 7 more files in changeset.
- cleanup and documentation of nsf-specific interp state - nsf::configure: added an option "profile on|off" (per default off)

  1. … 5 more files in changeset.
- The fix of yesterdays subst reference counting bug triggered an other problem: If the last arg was "args", the flags array for checking the need for decr of refcounts was not extended. There are multiple possible fixes, i have just extended the flags array for now as well. - When profiling is activated, perform now a more sane shutdown order, all hash tables are now correctly freed. - Improve behavior, when object system creation fails - Drop function NsfProfilePrint()

  1. … 5 more files in changeset.
- nsf.c: provide low-level commands for managing profile data

  1. … 1 more file in changeset.
- removed TCL_VWAIT from the code, since we have it in git

  1. … 2 more files in changeset.
- removed c-implementation of method vwait, it was replaced by "vwait :varName". We had to allow flag TCL_GLOBAL_ONLY in InterpColonVarResolver(), since Tcl vwait implementation calls it with that flag. - added a scripted implementation for vwait in xotcl2

  1. … 8 more files in changeset.