xotcl.c

Clone Tools
  • last updated 11 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- implemented yet another objv parser - used currently only for XOTclClassInfoInstancesMethod()

- new command: ::xotcl::createobjectsystem <rootClass> <rootMetaClass> This command creates a basic object system with the specified <rootClass> as most general root class and the specified metaclass as most general meta class.

Example: ::xotcl::createobjectsystem ::oo::object ::oo::class

In general, it would be possible to remove an objects system

at runtime, but there is so far no tcl interface for this.

- extended framework to work with multiple root classes

- the basic root class of XOTcl is now ::xotcl::Object again

(instead of ::oo::object) as before. The old setup can be

achieved on the Tcl-layer.

  1. … 7 more files in changeset.
- added metaclass property for root metaclass - metaclass property is set via ::xotcl::relation ... metaclass

  1. … 3 more files in changeset.
- new parse() infrastructure for factoring out common parsing patterns of objv[] parsers - new error message handler: XOTclObjErrArgCntObj() - shortend code by about 1000 lines (about 100 due to parse())

  1. … 2 more files in changeset.
-implemented XOTclObjInfoParametercmdMethod(), XOTclClassInfoInstparametercmdMethod() -implemented -closure for XOTclClassInfoInstmixinMethod()

  1. … 5 more files in changeset.
- use objectName() and className() when possible - implemented XOTclClassInfoMixinofMethod() and XOTclClassInfoInstmixinofMethod() - some cleanup in regression tests

  1. … 4 more files in changeset.
- fixed bug in "info precedence -intrinsic"

  1. … 1 more file in changeset.
- define default meta-class for ::xotcl::Class - use default meta-class, when a the topmost meta-class of an object system is deleted - fix regression test

  1. … 6 more files in changeset.
- work on collateral damage after merge - fixed many test cases from the regression thest - wrote some changes to ChangeLog as a reminder

  1. … 8 more files in changeset.
merge with 1.6.3 (HEAD)

  1. … 130 more files in changeset.
- follow Tcl's naming conventions more closely

- fixed potential access to deleted command list item in FilterSearchAgain() - fixed potential access deleted xotcl object by switching order in a condition - some minor cleanup

  1. … 2 more files in changeset.
- finishing release 1.6.3

  1. … 3 more files in changeset.
- re-enable small optimization

- factor out common code

- provide compatibility with Tcl 8.4

- simplify semantics of MixinSeekCurrent and FilterSeekCurrent, improve speed - remove necessity to have tclCompile.h - improve documentation

some small performance improvements (use CreateHashEntry instead of FindHashEntry, remove unneded argument, improve order of long and expressions)

- some code cleanup - new methods, when compiled with tcl 8.5; + MakeProcError (producing error messages from xotcl methods) + PushProcCallFrame (compile method to byte-code) The new support allows to call code at the begin of a proc without using the old approach based on :xotcl::initProcNS

  1. … 2 more files in changeset.
- fixed reference counting - removed temporary hacks - added CONST to several functions - added relative namespace handling

  1. … 4 more files in changeset.
- added Stefan's work for namespace resolvers - fixed a memory leak for "obj exists" due to the changes - found another memory leak, when e.g. "::info" is added as an alias and "info exists" is tested against non-existing vars

  1. … 4 more files in changeset.
- Correct deletion of user-metaclasses - commenting existing and potential usage of namespace resolvers

- Correct deletion of user-metaclasses: Deletion of user-metaclasses could lead to undestroyable objects, since the instances of the user-metaclasses were reclassed to ::xotcl::Object instead of ::xotcl::Class. - extend regression test for such situations

  1. … 2 more files in changeset.
- removed unneeded function

- new command ::xotcl::finalize to delete all xotcl objects and classes. Calls as well exit handler - some cleanup

- handle nonposargs in method "copy" properly - extend regression test for copy - added "<class> mixinof -closure ?pattern?" - extended regression test for mixinof - updated documentation

  1. … 15 more files in changeset.
- upgrading object to class and downgrading class to object not allowed via "class" method - upgrading and downgrading can be performed via create (but using destroy/create instead of recreate) - fixed bug, where an "o info precedence" could core, after a class C was destroyed, where class C was used as a superclass of a mixin of o. - minor refactoring

first part of fix when a class is "casted" (via method "class") into an object

  1. … 2 more files in changeset.
Merge branch 'master' of ssh://alice.wu-wien.ac.at/usr/local/src/git-repo/xotcl

Conflicts:

ChangeLog

generic/xotcl.c

  1. … 1 more file in changeset.
* additional argument for "info precedence": "-intrinsic" Syntax: <objName> info precedence ?-intrinsic? ?pattern? If "-intrinsic" is specified, only the classes of the superclass type hierarchy are returnd. Otherwise, the precedence contains mixin classes as well. * Remove pattern argument from "info class" * Check results for guards to be boolean instead of integer (now, guards are allowed to return e.g. "true") * Bump version number to 1.6.1

  1. … 12 more files in changeset.