Source Files
Public Interface
- Tcl_GetIndexFromObj
- Tcl_GetIndexFromObjStruct
- Tcl_WrongNumArgs
- Tcl_ParseArgsObjv
Private Interface
- TclInitPrefixCmd
- TclGetCompletionCodeFromObj
Directly Depends On Public Interface Of
- Tcl_Obj System
- Allocation
- string Object Type
- Parsing and Evaluation
- namespace
- list Object Type
- UTF-8 Strings
- numeric Object Types
Directly Depends On Private Interface of
Discussion
An "index" value remembers the lookup of a string in a table of strings.
Unless Object Types change a lot, the routines SetIndexFromAny and UpdateStringOfIndex do not need to exist. The object type is a caching one only, saving a table lookup result. There are no pure "index" values.
Tcl_WrongNumArgs is piled high with hackery, special cases and ugliness to bend it into useful service for ensembles, and possibly Itcl command variants as well. Surely a do-over with a clear vision of the support task from the beginning could be better.
The completion codes extractor might be good public.
There's no need to worry about INT_MAX restrictions here. These tools are for looking up in small tables of small strings via linear search. No need for major sophistication here.