Posted to tcl by dgp at Tue Apr 09 16:55:31 GMT 2013view raw
- oo::object create foo
- oo::objdefine foo {
- method target {} {puts Hit!}
- forward bar my target
- }
- proc harness {} {
- foo target
- foo bar
- }
- proc handle {cmd args} {
- puts "Command [lindex $cmd 0] resolves to:"
- puts "\t'[uplevel 1 [list ::namespace which -command [lindex $cmd 0]]]'"
- puts "\t\tResolved at level [uplevel 1 {info level}]"
- }
- trace add execution harness enterstep handle
- harness
- Output:
- Command foo resolves to:
- '::foo'
- Resolved at level 1
- Command puts resolves to:
- '::puts'
- Resolved at level 2
- Hit!
- Command foo resolves to:
- '::foo'
- Resolved at level 1
- call NREO forward: 'my'
- Command my resolves to:
- ''
- Resolved at level 1
- Command puts resolves to:
- '::puts'
- Resolved at level 2
- Hit!
Comments
Posted by dgp at Tue Apr 09 16:58:14 GMT 2013 [text] [code]
The "Call NREO forward" line is C code debugging. Announces the call to TclNREvalObjv() in the routine InvokeForwardMethod().