nsf

Clone Tools
  • last updated 55 mins ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- generated interface for ::xotcl::relation

- support for generating interface for ::xotcl commands - generated interface for ::xotcl::alias

- removed compatibility for versions before Tcl 8.4 (was not tested anyhow) This version requires at least Tcl 8.4.

- separated C-code generator from declarations

    • -0
    • +408
    /generic/gentclAPI.decls
- moved all definitions of method commands to generated code - from 15356 generic/xotcl.c => 13408

- all object methods generated - added reference counting for patternobj - some cleanup and reordering

- committing snapshot

- fixed regression test

- improved varargs handler, instforward

- !!! removed obsolete features * ability to specify nonpos args and pos args as different arguments * compile flags AUTOVARS, REFCOUNTED, REFCOUNT_TRACE - added -flags with one argument + type - generated all class methods from interface descriptions

- transtional version, not all test of regression test work correctly

- 3 class methods generated, handling args/allargs

- added check methods

- all "<object> info" commands generated

- changed "<object> info hasNamespace" to "<object> info hasnamespace" (all commands and info options are lowercase only, no underscore) - 11 "<object> info" commands generated

- objv-stubs for all 23 class info methods

- defined 5 more info methods view generator - simplified objpattern handling

- improved changelog entry

- added c-stub generate (generates Tcl_ObjCmdProc from method definitions in Tcl)

- added generator for tclAPI.h - defined 8 info methods based on the new objv parseing infrastructure - replaced occurances of "instdestroy" by "dealloc" in documentation

    • -0
    • +111
    /generic/gentclAPI.tcl
- committing snapshot - changed method name "instdestroy" into "dealloc" - new file: tclAPI.h

    • -0
    • +123
    /generic/tclAPI.h
- 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.

- added metaclass property for root metaclass - metaclass property is set via ::xotcl::relation ... metaclass

- 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())

-implemented XOTclObjInfoParametercmdMethod(), XOTclClassInfoInstparametercmdMethod() -implemented -closure for XOTclClassInfoInstmixinMethod()

- use objectName() and className() when possible - implemented XOTclClassInfoMixinofMethod() and XOTclClassInfoInstmixinofMethod() - some cleanup in regression tests

update changelog

- add object-system test to regression test target

- fixed bug in "info precedence -intrinsic"

- 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