diff options
| author | donal.k.fellows@manchester.ac.uk <dkf> | 2014-01-25 09:02:30 (GMT) |
|---|---|---|
| committer | donal.k.fellows@manchester.ac.uk <dkf> | 2014-01-25 09:02:30 (GMT) |
| commit | a405227e1473ed16a0a7736cd1d93e70b258da87 (patch) | |
| tree | 6850ff329261da488e14891e203120b8b8bc9a15 /generic/tclCompile.c | |
| parent | a720dda14fd0f8a0f500dc3c3ed270e4f1a7df21 (diff) | |
| parent | d9baccba96b82b4770d2bcb4ab9e6c18eb8c0bf7 (diff) | |
| download | tcl-a405227e1473ed16a0a7736cd1d93e70b258da87.zip tcl-a405227e1473ed16a0a7736cd1d93e70b258da87.tar.gz tcl-a405227e1473ed16a0a7736cd1d93e70b258da87.tar.bz2 | |
merge principal development branch
Diffstat (limited to 'generic/tclCompile.c')
| -rw-r--r-- | generic/tclCompile.c | 21 |
1 files changed, 19 insertions, 2 deletions
diff --git a/generic/tclCompile.c b/generic/tclCompile.c index 39fa241..fdc3e26 100644 --- a/generic/tclCompile.c +++ b/generic/tclCompile.c @@ -618,8 +618,25 @@ InstructionDesc const tclInstructionTable[] = { * Stack: ... cmdName => ... fullOriginalCmdName */ {"tclooNext", 2, INT_MIN, 1, {OPERAND_UINT1}}, - /* Push the identity of the current TclOO object (i.e., the name of - * its current public access command) on the stack. */ + /* Call the next item on the TclOO call chain, passing opnd arguments + * (min 1, max 255, *includes* "next"). The result of the invoked + * method implementation will be pushed on the stack in place of the + * arguments (similar to invokeStk). + * Stack: ... "next" arg2 arg3 -- argN => ... result */ + {"tclooNextClass", 2, INT_MIN, 1, {OPERAND_UINT1}}, + /* Call the following item on the TclOO call chain defined by class + * className, passing opnd arguments (min 2, max 255, *includes* + * "nextto" and the class name). The result of the invoked method + * implementation will be pushed on the stack in place of the + * arguments (similar to invokeStk). + * Stack: ... "nextto" className arg3 arg4 -- argN => ... result */ + + {"yieldToInvoke", 1, 0, 0, {OPERAND_NONE}}, + /* Makes the current coroutine yield the value at the top of the + * stack, invoking the given command/args with resolution in the given + * namespace (all packed into a list), and places the list of values + * that are the response back on top of the stack when it resumes. + * Stack: ... [list ns cmd arg1 ... argN] => ... resumeList */ {"numericType", 1, 0, 0, {OPERAND_NONE}}, /* Pushes the numeric type code of the word at the top of the stack. |
