generic

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

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

  1. … 1 more file in changeset.
- 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()

  1. … 1 more file in changeset.
- renamed GetObjectInterface() -> GetObjectParameterDefinition() - renamed canonicalNonpositionalArgs() -> ProcessMethodArguments() - simplified XOTclOConfigureMethod(), 30% speedup, when defaults are used

  1. … 1 more file in changeset.
- 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

  1. … 1 more file 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. … 1 more file in changeset.
- renamed "configureargs" to "objinterface"

  1. … 1 more file in changeset.
- new option substdefault for nonposarg parser - changed per-argument options for argument definitions to bitfield named "flags" - removed CONFIGURE_SIGNATURE_GENERATOR - can start now with cacheInterface 1

- new functions NonposArgsFree(), ParsedInterfaceDefinitionFree() - new class method invalidateinterfacedefinition - renamed convertToInterceptor() to convertToRelation() - added test tests/objifdtest.xotcl (not yet in test suite)

  1. … 2 more files in changeset.
- added first verison of configure based on nonpos args (many thanks to Stefan!)

  1. … 2 more files in changeset.
- delay deletion of active classes until after last activation ends (similar to handling of active objects)

- fix deletion order for exit() calls with active stack frames

- simplify interface of callDestroyMethod() - some cleanup for destroy stuff (inline comments, etc.) - checked all flags setting in connection with deletion - make sure, destroy methods are called on exit

-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. … 4 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. … 3 more files in changeset.
- changed version number from 2.0.0a to 2.0.0 to avoid problems with package require - found crashes in deletion order (when tcl implicitly deletes xotcl objects), introduced temporary compile flag OLD_DELETE

  1. … 10 more files in changeset.
- generated interface for ::xotcl::deprecated

- generated interface for ::xotcl::XOTclInstvarCmd - define objects with cmdName of tcl obj type "cmd"

- no need to call objvparser in stub code, when just "allargs" are specified in a method

- generated interface for ::xotcl::createobjectsystem and ::xotcl::finalize

- added c functions for handling nonposargs in XOTclProcContext: getNonposArgs(), addNonposArgs() - provide convenient means to get Proc *: getObjectProc() getClassProc() - removed old hashtables and managing functions for nonposargs - reduced size of XOTclObject and XOTclClass structures

- XOTclProcContext and XOTclProcDeleteProc(): hooks for storing method information in command structures - added nonpos args lookup via XOTclProcContext

- minor cleanup

- split callProcCheck() into invokeProcMethod() and invokeCmdMethod() - renamed DoCallProcCheck() into InvokeMethod()

- removed XOTclCallStack definition and datastructures, when compiled with TCL85STACK

- CallStackPop(): when compiled with TCL85STACK,

the function just initializes a given call stack content;

allocation based on C-Stack

- some function cleanup and minor optimizations

- added option withRootClass to ComputePrecedenceList(); - exclude rootClass in search for defaults (for the time being) - implemented cmd ::xotcl::instvar

- get rid of fakeNS - minor simplification in XOTcl_PopFrame()

- Removed currentFramePtr (the pointer from the xotcl stack to the tcl stack) from the call stack content. Now, all access to the call stack content happens via the tcl85stack.

- For the time being, the xotcl stack is purely an allocation stack

(we still have to evaluate, where we should store the call stack content efficiently:

some options: via alloca, on the c-stack, on the tcl stack, on an allocation stack)