nsf

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

- shortend some function/type names (e.g. use everywhere "Param" instead of "Parameter") - delayed parseContextRelease() in InvokeProc() until end if proc - process all argumens of proc/instpoc; before, this happend only, when nonpos parameters were used; - use parameter definitions only when they provide a value-add - finish freeing of parameter definitions

- passing obj to ArgumentParse() to get the object-context and to be able to produce nicer error messages - pass pushFrame to ProcessMethodArguments() to signal, whether stack frame was already pushed or not - deactivated check for {$} in objectparameter (for activating substdefault) - fixed class converter, which was to liberal - extended objparametertest for substdefault and some types

- renamed parseObjv() -> ArgumentParse() - renamed ifdSize -> nrParameters - argDefinitionsFree() -> ParameterDefinitionsFree() - renamed argDefinitionsNew() -> ParameterDefinitionsNew() - renamed struct XOTclParsedInterfaceDefinition -> XOTclParsedParameterDefinition - renamed ParsedInterfaceDefinitionFree() -> ParsedParameterDefinitionFree() - renamed struct argDefinition -> parameterDefinition - renamed struct XOTclNonposArgs ->XOTclParamDefs - renamed GeneratIfd() -> ParsedParameterDefinitionGet() - renamed parseNonposArgs() -> ParseParameterDefinitions() - renamed parseArgDefinition() -> ParseParamDefintion()

- new function ArgumentDefaults()

- new functions ArgumentError()

- ArgumentParse() handles now defaults as well (could be optimized)

- made varargs passing explicit

- new functionparseContextExtendObjv() to eliminate hard coded limits on argument lengths - reduced PARSE_CONTEXT_PREALLOC 20 - new function XOTclPrintObjv() for debugging (output of objv vector)

- keep flags for every objv in the parse context to communicate needed DECR_REF_COUNTS - keep Tcl_Obj "nameObj" in argDefinitions to avoid repetitious creations - move convertToRelation handling from ProcessMethodArguments() to configureMethod - move substDefault handing from configureMethod to other default handling in ProcessMethodArguments()

- renamed GetObjectInterface() -> GetObjectParameterDefinition() - renamed canonicalNonpositionalArgs() -> ProcessMethodArguments() - simplified XOTclOConfigureMethod(), 30% speedup, when defaults are used

- renamed test/objconfigurtest.xotcl to objparametertest.xotcl - incorporated recent changes and extended test

    • -0
    • +77
    /tests/objparametertest.xotcl
- new option initcmd for nonposarg parser (necessary for regression test) - error handling for failed relation settings - fixed crash when canonicalNonpositionalArgs returned result != 0 - regession test runs again

- 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

- renamed "configureargs" to "objinterface"