xotcl.c

Clone Tools
  • last updated 11 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
-added missing Makefile dependency for xotclAccessInt.h -switched from XOTclObjectType to Tcl cmdName type (removed all type usages, removed RegisterObjTypes()) -removed compile flag KEEP_TCL_CMD_TYPE -renamed XOTclObjConvertObject() to GetObjectFromObj() -renamed GetXOTclClassFromObj() to GetClassFromObj() -simplified name/object conversion to lookup xotcl Objects -handle imported cmds in XOTclGetClientDataFromCmdPtr() -removed object flag XOTCL_NS_DESTROYED -removed member "parameters" from XOTclClass -removed member "parameterClass" from XOTclClassOpt

  1. … 7 more files in changeset.
- fix a bug in CopyHandler (while copying slot objects) - found and fixed two cases, where xotcl could crash during deletion of active objects - simplified deletion logic of active objects significantly unsing an explicit activation count - removed old deletion logic (state variable callIsDestroy, callstate XOTCL_CSC_CALL_IS_DESTROY, destroyedCmd on stack content) - removed now obsolete functions CallStackMarkDestroyed() and CallStackMarkUndestroyed() - made changes for with and without TCL85STACK

  1. … 11 more files in changeset.
- changed version number from 2.0.0a to 2.0.0 to avoid problems with package require - found crashes in deletion order (when tcl implicitly deletes xotcl objects), introduced temporary compile flag OLD_DELETE

  1. … 13 more files in changeset.
- generated interface for ::xotcl::deprecated

  1. … 6 more files in changeset.
- generated interface for ::xotcl::XOTclInstvarCmd - define objects with cmdName of tcl obj type "cmd"

  1. … 4 more files in changeset.
- generated interface for ::xotcl::createobjectsystem and ::xotcl::finalize

  1. … 3 more files in changeset.
- added c functions for handling nonposargs in XOTclProcContext: getNonposArgs(), addNonposArgs() - provide convenient means to get Proc *: getObjectProc() getClassProc() - removed old hashtables and managing functions for nonposargs - reduced size of XOTclObject and XOTclClass structures

  1. … 1 more file in changeset.
- XOTclProcContext and XOTclProcDeleteProc(): hooks for storing method information in command structures - added nonpos args lookup via XOTclProcContext

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

- split callProcCheck() into invokeProcMethod() and invokeCmdMethod() - renamed DoCallProcCheck() into InvokeMethod()

- removed XOTclCallStack definition and datastructures, when compiled with TCL85STACK

- CallStackPop(): when compiled with TCL85STACK,

the function just initializes a given call stack content;

allocation based on C-Stack

- some function cleanup and minor optimizations

  1. … 4 more files in changeset.
- added option withRootClass to ComputePrecedenceList(); - exclude rootClass in search for defaults (for the time being) - implemented cmd ::xotcl::instvar

- get rid of fakeNS - minor simplification in XOTcl_PopFrame()

  1. … 1 more file in changeset.
- Removed currentFramePtr (the pointer from the xotcl stack to the tcl stack) from the call stack content. Now, all access to the call stack content happens via the tcl85stack.

- For the time being, the xotcl stack is purely an allocation stack

(we still have to evaluate, where we should store the call stack content efficiently:

some options: via alloca, on the c-stack, on the tcl stack, on an allocation stack)

  1. … 2 more files in changeset.
- new method CallStackPopAll() for making ExitHandler() independent from call stack structures

  1. … 2 more files in changeset.
- implemented doCleanup() independent from stack structures - some variable renaming

  1. … 1 more file in changeset.
- renamed UndestroyObj() to CallStackMarkUndestroyed() and implemented it for tcl85stack

  1. … 3 more files in changeset.
- get rid of CallStackIsDestroyed()

  1. … 1 more file in changeset.
- move tcl85showStack(), nonXotclObjectProcFrame() and nextFrameOfType() to xotclStack*.c

  1. … 2 more files in changeset.
- get rid of GetSelfProc() - implemented XOTclNextMethod() for tcl85stack

- implemented XOTclForwardMethod () for tcl85stack

  1. … 1 more file in changeset.
- return Tcl frame pointer as last arguments in CallStackGetFrame() and CallStackGetTopFrame() - pass call stack content to GetSelfProc() - some simplifications to avoid multipe stack searches - implemented XOTclSelfSubCommand () for tcl85stack

  1. … 3 more files in changeset.
- implemented FilterActiveOnObj() for tcl85stack

  1. … 2 more files in changeset.
- pass conditionally XOTclCallStackContent to GuardCall() due to different stack lifetime - CallStackPush() returns now callstack content - implemented CallStackFindActiveFilter() for tcl85stack

  1. … 3 more files in changeset.
- implemented computeLevelObj() for tcl85stack

  1. … 2 more files in changeset.
- implemented CallStackUseActiveFrames() for tcl85stack - nonXotclObjectProcFrame returns now only active frames

  1. … 3 more files in changeset.
- implemented XOTclCallStackFindActiveFrame() for tcl85stack

  1. … 3 more files in changeset.
- defined new (3rd) frame type FRAME_IS_XOTCL_CMETHOD for calling c-implemented methods (the same as FRAME_IS_XOTCL_OBJECT, except that it uses csc as clientData instead of only the xotcl object - implemented XOTclCallStackFindLastInvocation() for tcl85stack

  1. … 6 more files in changeset.
- pass call stack content explicitly to canonicalNonpositionalArgs to obtain active class or object - fix two more regression test entries with canonical args (info body, order in info locals) - canonical args passes now regression test (also in connection with tcl85stack)

  1. … 2 more files in changeset.
- pass call stack content explicityl to XOTclNextMethod, which is used on one occurance outside the tcl callstack scope, such that CallStackGetTopFrame() gets the previous stack entry - implemented CallStackGetTopFrame() for tcl85stack - implemented CallStackGetObjectFrame() for tcl85stack

  1. … 2 more files in changeset.