diff options
author | dkf <dkf@noemail.net> | 2013-12-30 08:37:49 (GMT) |
---|---|---|
committer | dkf <dkf@noemail.net> | 2013-12-30 08:37:49 (GMT) |
commit | 2a0228ca26d6caf19b1ce12a6f8e2429237e0aca (patch) | |
tree | a8680fa7474bcf0220ce6342a82e0a07e23ef8ff /generic/tclCompCmdsGR.c | |
parent | 1b0b9d9cd8541a3e32f5c06f0acccec4b8222d0c (diff) | |
download | tcl-2a0228ca26d6caf19b1ce12a6f8e2429237e0aca.zip tcl-2a0228ca26d6caf19b1ce12a6f8e2429237e0aca.tar.gz tcl-2a0228ca26d6caf19b1ce12a6f8e2429237e0aca.tar.bz2 |
implement [namespace origin] in bytecode
FossilOrigin-Name: 1572fe02bd24fb75aba6534cfa5270559fc64266
Diffstat (limited to 'generic/tclCompCmdsGR.c')
-rw-r--r-- | generic/tclCompCmdsGR.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/generic/tclCompCmdsGR.c b/generic/tclCompCmdsGR.c index fc54620..df8895f 100644 --- a/generic/tclCompCmdsGR.c +++ b/generic/tclCompCmdsGR.c @@ -1956,6 +1956,28 @@ TclCompileNamespaceCodeCmd( } int +TclCompileNamespaceOriginCmd( + Tcl_Interp *interp, /* Used for error reporting. */ + Tcl_Parse *parsePtr, /* Points to a parse structure for the command + * created by Tcl_ParseCommand. */ + Command *cmdPtr, /* Points to defintion of command being + * compiled. */ + CompileEnv *envPtr) /* Holds resulting instructions. */ +{ + Tcl_Token *tokenPtr; + DefineLineInformation; /* TIP #280 */ + + if (parsePtr->numWords != 2) { + return TCL_ERROR; + } + tokenPtr = TokenAfter(parsePtr->tokenPtr); + + CompileWord(envPtr, tokenPtr, interp, 1); + TclEmitOpcode( INST_ORIGIN_COMMAND, envPtr); + return TCL_OK; +} + +int TclCompileNamespaceQualifiersCmd( Tcl_Interp *interp, /* Used for error reporting. */ Tcl_Parse *parsePtr, /* Points to a parse structure for the command |