nsf

Clone Tools
  • last updated 8 hours ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- 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

- first steps towards 8.6

- improve debug message

- fixed var resolver problem - reactivated "set" method via "::set" - removed private realization via XOTclOSetMethod

- made create statments in xoDoc and loaded packages explicit - added tests/protected.xotcl

    • -13
    • +13
    /library/lib/metadataAnalyzer.xotcl
    • -0
    • +108
    /tests/protected.xotcl
- 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

- implementing "method" instead of "proc" and "instproc" on the C level

- removed c-level support for the following methods and provide emulation on the script level isobject, isclass, ismetaclass, ismixin istype

- generated interfaces for XOTclIsCmd() and XOTclQualifyObjCmd() - simplified PrimitiveODestroy() - eliminated XOTcl_TraceObjCmd()

- removed obsolete todo and improvded documentation

- reuse tcl_obj passed from alloc in Primitive*Create() commands.

- removed deprecated :xotcl::setrelation - fixed potential crash in bootup code, when destroy method was defined for ::xotcl::Slot

- generated interface for XOTclNSCopyCmds()

- generated interface for XOTclNSCopyVars() - grouped genreated tcl commands together in source code

- provided parameter definitions for XOTclInterpObjCmd()

- implemented -objscope for ::xotcl::dispatch - debugged and added tests for XOTclDispatchCmd()

- following tcl naming conventions

- cleanup of checker obj - renamed nonposargType() to ParamCheckObj()

- 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

- drop XOTclOSetvaluesMethod(), use alias for "set" instead of it - implement parameter option "optional" for positional parameters - extend regression test

- handling of aliased objects, when the target objects are destroyed (realized via refcounting on objects) - distinguishing between nested and aliased objects in cmd table during deletion - extended regression test

- better error message in case parameter definition could not be obtained

- simplified and more regular method lookup interface - "info params" and "info instparams" work now as well with C-implemented methods (e.g. Class info instparams instproc)

- some code cleanup (some more TODOs removed)

- passing disallowed options to ParamParse() to disallow e.g. parameter option "relation" for method parameter

- some cleanup of visibility of symbols

- new function: ParamDefsList(), - extended ListParams() to work with and without parameter definitions

- deleted following functions:

AppendOrdinaryArgsFromNonposArgs(),

GetProcDefault(),

ListArgsFromOrdinaryArgs(),

ListDefaultFromOrdinaryArgs(),

ListProcArgs()

ListProcDefault(),

SetProcDefault(),

XOTclClassInfoInstargsMethod(),

XOTclClassInfoInstdefaultMethod(),

XOTclClassInfoInstnonposargsMethod(),

XOTclObjInfoArgsMethod(),

XOTclObjInfoDefaultMethod(),

XOTclObjInfoNonposargsMethod(),

checkRequiredValue(),

evalValueIfNeeded(),

setDefaultValue()

- provided backward compatibility on tcl level (currently in predefined, should be moved into library)

- 2 new info methods: "info params", "info instparams" as replacement for old diversity - ParamDefsFormat() returns now pos and nonpos parameters, reports "initcmd" and "substdefault"

- improve variable name

- remove debug output