tests

Clone Tools
  • last updated 9 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- 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.
- new function CallStackDestroyObject() to factor out xotcl stack access Since tcl-stack-entries have a lightly different life-time (pop is managed by tcl), we have as well slightly different life-times of objects. One test in the test suite is deactivated for now, we will see, if this turs out to become a problem as we proceed.

  1. … 3 more files in changeset.
- remove debug output

- snapshot 3 - first version passing regression test again

  1. … 3 more files in changeset.
- snapshot #2

  1. … 4 more files in changeset.
- first implementation of canonical arguments

  1. … 3 more files in changeset.
- based introspection for procs/instprocs on new argument definition structures

- allowing type checkers also for positional arguments

(for now only, when nonpos args are given as well; we have

to think about using these either for all procs/instprocs,

or only, when e.g. type checkers are used; we have to

make more benchmarking to get a better foundation)

- registered the following type checkers for procs/instprocs:

switch, integer, boolean, object, class

Example

o proc bar {-enable:switch o:object c:class} {

return "o=$o c=$c"

}

- generated interface for ::xotcl::configure; now 97 interfaces are

generated; shortcoming for bool/int converter stubs: optional

0-vaues are not recognized, so use tclobj for the time being

- extended regression test

  1. … 7 more files in changeset.
- parse non-pos-args for procs/instprocs into new argument definition structure - using new parseObjv for calling procs and instproc when nonpos-args are used (invocation time went from 9.08ms to 5.95ms) - TODO: complete implementation for regression test, base introspection/copy etc. on new structures

  1. … 5 more files in changeset.
- committing snapshot

  1. … 4 more files in changeset.
- !!! 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

  1. … 9 more files in changeset.
- changed "<object> info hasNamespace" to "<object> info hasnamespace" (all commands and info options are lowercase only, no underscore) - 11 "<object> info" commands generated

  1. … 6 more files in changeset.
- added c-stub generate (generates Tcl_ObjCmdProc from method definitions in Tcl)

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

  1. … 9 more files in changeset.
- 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. … 5 more files in changeset.
-implemented XOTclObjInfoParametercmdMethod(), XOTclClassInfoInstparametercmdMethod() -implemented -closure for XOTclClassInfoInstmixinMethod()

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

  1. … 2 more files in changeset.
- add object-system test to regression test target

  1. … 1 more file 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. … 5 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. … 6 more files in changeset.
- new regression test file

    • -0
    • +63
    ./object-system.xotcl
merge with 1.6.3 (HEAD)

    • -0
    • +488
    ./mixinoftest.xotcl
    • -0
    • +152
    ./varresolutiontest.xotcl
  1. … 126 more files in changeset.
- 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.
- removed references to 1.6.2

- 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.
- add comments to var resolution tests for objects without namespaces

- 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

    • -0
    • +108
    ./varresolutiontest.xotcl
  1. … 4 more files in changeset.
- 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.
- handle nonposargs in method "copy" properly - extend regression test for copy - added "<class> mixinof -closure ?pattern?" - extended regression test for mixinof - updated documentation

  1. … 14 more files in changeset.