diff options
author | dkf <donal.k.fellows@manchester.ac.uk> | 2013-12-30 08:37:49 (GMT) |
---|---|---|
committer | dkf <donal.k.fellows@manchester.ac.uk> | 2013-12-30 08:37:49 (GMT) |
commit | 1749e8cdf33e8232f22acc08f9ce4301b00ba7eb (patch) | |
tree | a8680fa7474bcf0220ce6342a82e0a07e23ef8ff /generic/tclCompCmdsGR.c | |
parent | 96f3f9a79df5d9ce6166a00452822684e177b743 (diff) | |
download | tcl-1749e8cdf33e8232f22acc08f9ce4301b00ba7eb.zip tcl-1749e8cdf33e8232f22acc08f9ce4301b00ba7eb.tar.gz tcl-1749e8cdf33e8232f22acc08f9ce4301b00ba7eb.tar.bz2 |
implement [namespace origin] in bytecode
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 |