1 This is a roadmap to the code layout in snit.tcl.
5 * ::snit:: namespace definition; exports Snit commands.
7 Major Variable Definitions (this includes a whole lot of code)
8 * ::snit:: variable definitions:
10 * prettyStackTrace Not used currently
12 * ::snit::typeTemplate Template code shared by all Snit types.
13 As the type definition is parsed, it
14 produced text that gets inserted into
15 this template; then the template is
16 evaluated as though it were sourced
17 from a normal .tcl file.
18 * Type namespace definition
19 * User's typevariable definitions
20 * Commands for use in type code
26 * alias typevarname Deprecated
28 * alias varname Deprecated
30 * alias codename Deprecated
34 * Snit's internal variables
36 * Template Code -- Stuff that gets filled in.
37 * proc Snit_instanceVars Initializes instance variables
38 * proc Snit_typeconstructor
39 * Default Procs -- Stuff that's sometimes replaced.
40 * proc Snit_constructor The default constructor
41 * proc Snit_destructor The default destructor (empty)
43 * Call the Type Constructor
45 * ::snit::nominalTypeProc Template for the normal type proc.
46 * ::snit::simpleTypeProc Template for the simple type proc.
47 This is used when "-hastypemethods no";
48 all it does is create instances.
50 * ::snit::nominalInstanceProc Template for the body of the normal
51 instance proc. Supports method
52 caching, delegation, etc.
53 * ::snit::simpleInstanceProc Template for the body of the simple
54 instance proc, used when
55 "-simpledispatch yes". Doesn't
56 support delegation, upvar,
57 hierarchical methods, or exotic return
60 * Snit compilation variables
61 * compiler The name of the slave interpreter used
62 to "compile" type definitions
63 * compile Array, accumulates results of
64 "compiling" type definitions
65 * reservedwords List of names that can't be used as
66 macros. Basically, any command
67 defined before the first macro.
70 * proc ::snit::Comp.Init
71 * proc ::snit::Comp.Compile
72 * proc ::snit::Comp.SaveOptionInfo
73 * proc ::snit::Comp.Define
74 * proc ::snit::Comp.statement.pragma
75 * proc ::snit::Comp.statement.widgetclass
76 * proc ::snit::Comp.statement.hulltype
77 * proc ::snit::Comp.statement.constructor
78 * proc ::snit::Comp.statement.destructor
79 * proc ::snit::Comp.statement.option
80 * proc ::snit::Comp.OptionNameIsValid
81 * proc ::snit::Comp.statement.oncget
82 * proc ::snit::Comp.statement.onconfigure
83 * proc ::snit::Comp.statement.method
84 * proc ::snit::Comp.CheckMethodName
85 * proc ::snit::Comp.statement.typemethod
86 * proc ::snit::Comp.statement.typeconstructor
87 * proc ::snit::Comp.statement.proc
88 * proc ::snit::Comp.statement.typevariable
89 * proc ::snit::Comp.statement.variable
90 * proc ::snit::Comp.statement.typecomponent
91 * proc ::snit::Comp.DefineTypeComponent
92 * proc ::snit::Comp.statement.component
93 * proc ::snit::Comp.DefineComponent
94 * proc ::snit::Comp.statement.delegate
95 * proc ::snit::Comp.DelegatedTypemethod
96 * proc ::snit::Comp.DelegatedMethod
97 * proc ::snit::Comp.DelegatedOption
98 * proc ::snit::Comp.statement.expose
101 * proc ::snit::compile
103 * proc ::snit::widgetadaptor
104 * proc ::snit::widget
105 * proc ::snit::typemethod
106 * proc ::snit::method
110 * proc ::snit::Expand
111 * proc ::snit::Mappend
112 * proc ::snit::CheckArgs
113 * proc ::snit::Capitalize
117 The commands defined here are used by Snit-generated code at run-time
118 rather than compile time.
121 ** ::snit::RT.type.typemethod.create
122 ** ::snit::RT.widget.typemethod.create
123 ** ::snit::RT.MakeInstanceCommand
124 ** ::snit::RT.InstanceTrace
125 ** ::snit::RT.ConstructInstance
126 ** ::snit::RT.UniqueName
127 ** ::snit::RT.UniqueInstanceNamespace
128 ** ::snit::RT.OptionDbGet
130 ** ::snit::RT.method.destroy
131 ** ::snit::RT.DestroyObject
132 ** ::snit::RT.RemoveInstanceTrace
133 * Typecomponent Management and Typemethod Caching
134 ** ::snit::RT.TypecomponentTrace
135 ** ::snit::RT.UnknownTypemethod
136 * Component Management and Method Caching
137 ** ::snit::RT.Component
138 ** ::snit::RT.ComponentTrace
139 ** ::snit::RT.UnknownMethod
140 ** ::snit::RT.ClearInstanceCaches
141 * Component Installation
142 ** ::snit::RT.installhull
143 ** ::snit::RT.install
144 * Method/Variable Name Qualification
145 ** ::snit::RT.variable
146 ** ::snit::RT.mytypevar
149 ** ::snit::RT.codename
150 ** ::snit::RT.mytypemethod
151 ** ::snit::RT.mymethod
152 ** ::snit::RT.CallInstance
156 ** ::snit::RT.typemethod.destroy
158 ** ::snit::RT.method.cget
159 ** ::snit::RT.CacheCgetCommand
160 ** ::snit::RT.method.configurelist
161 ** ::snit::RT.CacheConfigureCommand
162 ** ::snit::RT.method.configure
163 ** ::snit::RT.GetOptionDbSpec
165 ** ::snit::RT.typemethod.info
166 ** ::snit::RT.typemethod.info.typevars
167 ** ::snit::RT.typemethod.info.typemethods
168 ** ::snit::RT.typemethod.info.instances
169 * Instance Introspection
170 ** ::snit::RT.method.info
171 ** ::snit::RT.method.info.type
172 ** ::snit::RT.method.info.typevars
173 ** ::snit::RT.method.info.typemethods
174 ** ::snit::RT.method.info.methods
175 ** ::snit::RT.method.info.vars
176 ** ::snit::RT.method.info.options