diff options
| author | donal.k.fellows@manchester.ac.uk <dkf> | 2012-11-02 20:25:57 (GMT) |
|---|---|---|
| committer | donal.k.fellows@manchester.ac.uk <dkf> | 2012-11-02 20:25:57 (GMT) |
| commit | 6b77f7a7e64936b4b291fa18e026bb77fd82b9d7 (patch) | |
| tree | 7d93443b8d54a80a197f646009236ccff15c3f43 /generic/tclCompCmds.c | |
| parent | f6d9b35b1e1383315af919cd15e94e8dc7fffcda (diff) | |
| parent | fe4cd2b40a7333e64321b53988575b93ea1e1ad1 (diff) | |
| download | tcl-6b77f7a7e64936b4b291fa18e026bb77fd82b9d7.zip tcl-6b77f7a7e64936b4b291fa18e026bb77fd82b9d7.tar.gz tcl-6b77f7a7e64936b4b291fa18e026bb77fd82b9d7.tar.bz2 | |
merge dkf-compile-misc-info
Diffstat (limited to 'generic/tclCompCmds.c')
| -rw-r--r-- | generic/tclCompCmds.c | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/generic/tclCompCmds.c b/generic/tclCompCmds.c index 96bb9a4..7c1a4aa 100644 --- a/generic/tclCompCmds.c +++ b/generic/tclCompCmds.c @@ -3666,6 +3666,46 @@ TclCompileInfoLevelCmd( } return TCL_OK; } + +int +TclCompileInfoObjectClassCmd( + 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) +{ + DefineLineInformation; /* TIP #280 */ + Tcl_Token *tokenPtr = TokenAfter(parsePtr->tokenPtr); + + if (parsePtr->numWords != 2) { + return TCL_ERROR; + } + CompileWord(envPtr, tokenPtr, interp, 1); + TclEmitOpcode( INST_TCLOO_CLASS, envPtr); + return TCL_OK; +} + +int +TclCompileInfoObjectNamespaceCmd( + 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) +{ + DefineLineInformation; /* TIP #280 */ + Tcl_Token *tokenPtr = TokenAfter(parsePtr->tokenPtr); + + if (parsePtr->numWords != 2) { + return TCL_ERROR; + } + CompileWord(envPtr, tokenPtr, interp, 1); + TclEmitOpcode( INST_TCLOO_NS, envPtr); + return TCL_OK; +} /* *---------------------------------------------------------------------- |
