varresolutiontest.xotcl

Clone Tools
  • last updated 1 hour ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
- experimental change of resolver name prefix char from dot to single colon

  1. … 16 more files in changeset.
- NsDotVarResolver: don't create variables on CMETHOD frames when their names do not start with a "."

- general overhaul of XOTcl_PushFrame()XOTcl_PopFrame():

new functions:

* XOTcl_PushFrameCsc()/XOTcl_PopFrameCsc(): for CMETHOD fames

* XOTcl_PushFrameObj()/XOTcl_PopFrameObj(): for OBJECT frames

(objscope)

- preallocate obj->vartable in XOTcl_PushFrameObj() to

avoid situations where to non-existing vartable is created

on demand at different places (e.g. on stack and in

var resolver)

- caller of convertToRelationtype(): make sure that last argument

keeping the result is large enough to held pointer (in case of

sizeof(void) != sizeof(int)

  1. … 6 more files in changeset.
- use uplevel in slot add/delete to evalute in calling namespace (for not fully qualified object names) - determine namespace in test method "?" to allow its execution in an "namespace eval" - added regression tests

  1. … 6 more files in changeset.
- extend regression test

- improved comments

- modernize test a little: all local definitions of proc "?" are gone. - added interface to test: "Test parameter count SOMEVALUE" to specify conveniently e.g. the number of tests the be executed - add XOTCL_CM_NO_UNKNOWN to dispatch of defaultmethod

  1. … 13 more files in changeset.
- added experimental flag for alias "-noleaf" to force a stack frame to be written (e.g. necessary for "next"). makes only sense for aliases to c-implemented cmds

- fix inconsistent behaviour of dotVarResolver

"o eval {set .x 1}" was setting var ".x" instead of "x"

The problem was due to a interaction between

the namespace varResolver() and the DotVarResolver()

- fix for DotCmdResolver during compilation of a proc by Tcl.

- extended regression text

- found 2 potential bugs (not fixed yet)

  1. … 9 more files in changeset.
- added existence test for slot extractor (needed for 8.5.8) - added refcounting CallStackDoDestroy() to ensure existance of object until end of function - make sure to call PrimitiveDestroy() before DeleteCommandFromToken(), otherwise e.g. unset traces on this object cannot be executed - regression test works again

  1. … 7 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.
- supporting "per-object" for alias - extending regression test

  1. … 1 more file in changeset.
- DotCmdResolver() with XOTclDotCmd() only lookups within XOTCL_METHOD_FRAMES to minimize interactions supports efficient method-lookup via notation {.method in method bodies} - extended regression tests

  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.
- made compiledlocal handler more robust - added regression tests for compiled local handler

  1. … 1 more file in changeset.
merge with 1.6.3 (HEAD)

    • -0
    • +152
    ./varresolutiontest.xotcl
  1. … 130 more files in changeset.
- removed references to 1.6.2

- 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.