testx.xotcl

Clone Tools
  • last updated 17 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- turned "setter" method into a command "::xotcl::setter" with the same interface like "::xotcl::alias" - removed flag -per-object from XOTclCForwardMethod - require "object" to be followed directly by either method defining command or info, etc. (use "public object method" instead of "object public method")

  1. … 10 more files in changeset.
- Definition of method modifiers "public", "protected" and "object" - all method-creating methods ("method", "alias", "forward", "setter") return now the fully qualified method names - extending 50 regression tests fpr method modifiers - Make "unknown" for ::xotcl2::Class" to raise an error instead of warning. Otherwise, protected class-level methods would create objects with the name of protected methods. Other option: make calls to protected methods raise an error, instead of calling "unknown"

  1. … 8 more files in changeset.
- changed in xotcl-core "method" into "object-method" and "class-method", provided scripted definition for method in xotcl2 - removed "setter" from methods in xotcl1 - defined xotcl1 methods in terms of "proc" and "instproc"

  1. … 9 more files in changeset.
- changed "info methods" (without defined, as defined in xotcl1) into "info callable" - changed "info methods -defined" into "info methods" - replaced "procsearch <name>" by "info callable -which <name>" - added emulation for procsearch for xotcl1

  1. … 10 more files in changeset.
- removed "obj|class info alias"; obsoleted by "info method definition"

  1. … 4 more files in changeset.
* info params removed * info instparams removed * added subcommand to "info method args <somename>": similar to "info method parameter ...", but returns only names of parameters instead of full parameter definitions

  1. … 4 more files in changeset.
- xotcl2: implemented "<cl> info -per-object subcmd" (moved "-per-object" in front of info, since it specifies, what kind of info is requested). As a consequence, XOTclObjInfoMethodMethod() works returns always object specific infos and XOTclClassInfoMethodMethod() class specific infos, no "-per-object" switch for the subcmd required. - cleanup in other subcomds than "info method" and "info methods" required

  1. … 8 more files in changeset.
- new method named "setter" * <Object> setter <varName> * <|Class> setter ?-per-object? <varName>

- new info method named "method"

* <Object|Class> info method ?-per-object? definition|name|type <methodName>"

* "info method definition" returns full cmds

(e.g. for scripted methods parameters, body, pre- and postconditions)

* fixed proper list handling in AssertionList()

* added tests for "info method" (infomethodtest.xotcl)

- changed method "alias" in xotcl2:

* removed the long list of arguments

".... -cmd -source-object -source-method -source-per-object:switch"

* determine method cmdname via "... info method name <methodName>"

and pass it to alias

- method "parametercmd" and "instparametercmd" are gone (for xotcl2)

we have now

"<Object> setter <name>"

"<Class> setter ?-per-object? <name>"

- added emulation for old "parametercmd" and "instparametercmd" in xotcl1

- method "instforward" is gone (for xotcl2),

we have now

"<Object> forward <name> ... "

"<Class> forward ?-per-object? <name> ... "

- added emulation for old "forward" and "instforward" in xotcl1

- "info body" gone, added emulation in xotcl1

- "info instbody" gone, added emulation in xotcl1

- "info commands" gone, added emulation in xotcl1

- "info instcommands" gone, added emulation in xotcl1

- "info parametercmd" gone, added emulation in xotcl1

- "info instparametercmd" gone, added emulation in xotcl1

  1. … 15 more files in changeset.
- new info command for Object and Class: "info alias -per-object -definition name" (similar to "info forward"/"info instforward") should probably be moved into a more general "info method -per-object -definition name" - extended regression test

  1. … 6 more files in changeset.
- extended genrclAPI to allow enumeration type for nonpos args - changed api of "info methods": added nonpos arg "methodType" possible values: "all", "scripted", "compiled", "alias", "forwarder", "object", "setter" - added compatible scripted "info methods" interface for xotcl1 - "info methods -methodtype alias" not tested and not working

  1. … 6 more files in changeset.
- moved xotcl-1.* definition into an own library file - renamed library/lib/changeXOTclVersion.xotcl to library/lib/changeXOTclVersion to ease pkgIndex generation - new function "xotcl::use xotcl1" or "xotcl::use xotcl2" to ease switching between xotcl 1 and 2 - changed library/lib/test to xotcl2 - added for all regression test "xotcl::use xotcl1" instead of "namespace import ::xotcl::*"

  1. … 27 more files in changeset.
- make volatile work with object frames - fix typo in error message

  1. … 2 more files in changeset.
- change slots to xotcl2 Objects and Classes

  1. … 3 more files in changeset.
- provide explicit unknown handler - fix cases, where unknown hander was unknown

  1. … 3 more files in changeset.
- change "setvalues" to "residualargs"

  1. … 4 more files in changeset.
- factor out VarHashTableCreate() and CompiledLocalsLookup() - new debug flag VAR_RESOLVER_TRACE - new varResolver DotVarResolver(): catches variable names starting with a ".", only lookups within XOTCL_METHOD_FRAMES to minimize interactions - don't clobber from guard calls for 8.5 and earlier as well - extended regression tests

  1. … 3 more files in changeset.
- provide propagation of errors from mixin guards (in earlier XOTcl versions, these were silently ignored) - don't clobber from guard calls - added new regression tests for mixin and filter guards called via next and trigger errors - fix result code handling for tcl 8.6 - fix tcl stack allocs/deallocs for tcl 8.6 - new debug flag TCL_STACK_ALLOC_TRACE - improve comments - new function CmdIsProc() to handle different behavior of TclIsProc() in 8.6 - passing regression test with tcl 8.6

  1. … 3 more files in changeset.
- more work on 8.6b1: xotcl 2.0 boots now - fixed a few regression tests for 8.6 TclIsProc((Command*)cmd) not equiv to (Tcl_Command_objProc(cmd) == TclObjInterpProc) - not all regression tests run yet - make sure to run " make clean;configure;make genstubs" to compile under 8.5

  1. … 10 more files in changeset.
- changed interface of ::xotcl::methodproperty to be used as well for introspection

- added ::xotcl::methodproperty ... static

We have now

* call-protection via methodproperty "protected"

* overwrite-protection via methodproperty "static"

Static methods can be deleted, but not overwritten (accidentially)

- added flag "-protected" to "method" for call-protected methods

- added checks for overwrite-protection to tcl implemented methods.

aliases, forwarder, and parametercmds

- removed "classscopedinstproc" (use "method -inner-namespace" instead)

- removed C-implemented unknown handler for ::xotcl::Class

and replaced by a Tcl-implemented one (should move into

compatibility library)

- removed XOTclAddPMethod() (use XOTclAddObjectMethod instead)

- removed XOTclAddIMethod() (use XOTclAddInstanceMethod instead)

- generalized MakeObjectMethod() and MakeClassMethod() into MakeProc()

- removed compile-flag NAMESPACEINSTPROCS and AUTOVARS

- removed defines for isClassString, isDoubleDashString, isAllocString,

isDeallocString, isDestroyString

  1. … 10 more files in changeset.
- implementing "method" instead of "proc" and "instproc" on the C level

  1. … 6 more files in changeset.
- removed c-level support for the following methods and provide emulation on the script level isobject, isclass, ismetaclass, ismixin istype

  1. … 5 more files in changeset.
- provided parameter definitions for XOTclInterpObjCmd()

  1. … 4 more files in changeset.
- first implementation of application specific checkers - changed XOTclDispatchCmd to parameter interface (testing and adjustment outstanding) - reactivated XOTclOSetMethod, since one test in regression test caused troubles for still unknown reasons

  1. … 8 more files in changeset.
- renamed "objinterface" to "objectparameter" - renamed "invalidateinterfacedefinition" to "invalidateobjectparameter" - fixed regression test "filterAddRemove" and "filterClassChange" to be more robust - deactivated regression test "filterInfo", since this traces the detail of object configuration - object parameters pass now testx regression test, run currently into problems in slottest

  1. … 6 more files in changeset.
- renamed "configureargs" to "objinterface"

  1. … 4 more files in changeset.
- activated test in filterGuard regression test. the former problem healed itself with the recent changes

-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.
- 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 CallStackUseActiveFrames() for tcl85stack - nonXotclObjectProcFrame returns now only active frames

  1. … 3 more files in changeset.