xotcl.c

Clone Tools
  • last updated 8 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- provide prefix for internally called methods to distinguish between methods called on objects or classes

  1. … 5 more files in changeset.
- eliminated XOTE___UNKNOWN - renamed __unknown to requireobject

  1. … 5 more files in changeset.
- eliminated XOTE_UNKNOWN

  1. … 1 more file in changeset.
- eliminated XOTE_RESIDUALARGS

  1. … 1 more file in changeset.
- renamed MethodObj() to XOTclMethodObj() (it is an exported symbol) - eliminated XOTE_MOVE

  1. … 2 more files in changeset.
- replaced hard-coded method calls for XOTE_DEFAULTMETHOD, XOTE_INIT, XOTE_OBJECTPARAMETER with MethodObj()

  1. … 2 more files in changeset.
- created new functions: ObjectSystemFree(), ObjectSystemAdd(), ObjectSystemsCheckSystemMethod(), ObjectSystemsCleanup(), GetObjectSystem(), CallDirectly() for better separation of systems. We keep track which essential system methods are defined and which which methods are potentially overloaded.

  1. … 2 more files in changeset.
- move refcount fixing logic for exit from higher stackframes to new function: finalObjectDeletion()

- first part of allowing arbitrary named internally called methods.

  1. … 5 more files in changeset.
- fix last issue, with freeing objects, when exit happens from higher stack frames

  1. … 1 more file in changeset.
- block call-stack deletes during XOTCL_EXITHANDLER_ON_SOFT_DESTROY; however, this seems to create a small leak during exit (revant for threads); so currently, debug still turned on

  1. … 1 more file in changeset.
- replace all CanInvokeDirectly() by InvokeMethodObj()

- remove some more obsolete RCS Ids - call Tcl_Objs "Obj", not "Object"

  1. … 11 more files in changeset.
- remove filter deactivation to a later point in time (should finally be before freeAllXOTclObjectsAndClasses())

- deactivate filters in finialize - new method InvokeMethodObj() to replace finally CanInvokeDirectly()

  1. … 2 more files in changeset.
- call all truely essential methods directly if possible (Object.destroy, Class.alloc, Class.dealloc, Class.create) The basics of XOTcl can work now also in cases, when these are not defined as methods.

- reduce verbosity

- make XOTcl_FrameDecls transparent (use variable declarations in place instead of the macro) - fix variable shadowing bug in error handling (could cause crashes when initcmd lead to errors)

  1. … 1 more file in changeset.
- define RecreateObject() for internal call via diect invocation - doCleanup is just called by recreate; merge it into XOTclCRecreateMethod. Is method cleanup necessary? is recreate not sufficient?

- call c-implemented methods directly for XOTE_RECREATE as well (otherwise, create is faster than recreate)

  1. … 1 more file in changeset.
- call c-implemented methods directly, when this is safe (implemented for XOTE_ALLOC, XOTE_CLEANUP, XOTE_CONFIGURE, XOTE_CREATE, XOTE_DEALLOC); this improves create/destroy speed by up to 15% - allocate namespaces for objects less eager - make nameing more consistent (change newObj into newObject when variable is an xotcl object)

  1. … 1 more file in changeset.
- fixing "-parameter" with empty content - more variable naming cleanup - fix line breaking in serializer for "exportedObjects"

  1. … 4 more files in changeset.
- fixed wrong name for per-object filter in RelationSlot - fixed condition in filter-incovation to top-level frames - added frametype to information returned by "info frame"

  1. … 4 more files in changeset.
- remove dependency from xotcl1 in handling of forwarders in method "copy" - further cleanup using "CONST char *", improving on naming conventions

  1. … 5 more files in changeset.
- further cleanup using "CONST char *"

  1. … 3 more files in changeset.
- use "CONST char *" in generated interface and below

  1. … 5 more files in changeset.
- defined "xotcl::current" as synonym for "::xotcl::self" - new options for ::xotcl::current current object == current current method == current proc current callingmethod == current callingproc - "self proc" and friends are for backward compatibility for xotcl1, "current method" and friends are for xotcl2 - namespace exported "::xotcl::current"

  1. … 4 more files in changeset.
- minor cleanup (varresolution test and comment)

  1. … 1 more file in changeset.
- enable compilation with assertion turned on (via NDEBUG) - fix potentially uninitialized flags for ArgumentCheck() - some further cleanup, tested with 32 bit under Mac OS X 10.6

  1. … 4 more files in changeset.
- keep variables defined from an CMETHOD frame local to this frame (e.g. initcmd, -nonleaf option, ...); previously variables without xotcl resolver prefix were defined globally - fix regression test according to previous item - generalize nonXotclObjectProcFrame() and rename it to activeProcFrame()^

  1. … 5 more files in changeset.