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::Contains
114 * proc ::snit::Capitalize
115 * proc ::snit::Listify
119 The commands defined here are used by Snit-generated code at run-time
120 rather than compile time.
123 ** ::snit::RT.type.typemethod.create
124 ** ::snit::RT.widget.typemethod.create
125 ** ::snit::RT.MakeInstanceCommand
126 ** ::snit::RT.InstanceTrace
127 ** ::snit::RT.ConstructInstance
128 ** ::snit::RT.UniqueName
129 ** ::snit::RT.UniqueInstanceNamespace
130 ** ::snit::RT.OptionDbGet
132 ** ::snit::RT.method.destroy
133 ** ::snit::RT.DestroyObject
134 ** ::snit::RT.RemoveInstanceTrace
135 * Typecomponent Management and Typemethod Caching
136 ** ::snit::RT.TypecomponentTrace
137 ** ::snit::RT.CacheTypemethodCommand
138 * Component Management and Method Caching
139 ** ::snit::RT.Component
140 ** ::snit::RT.ComponentTrace
141 ** ::snit::RT.CacheMethodCommand
142 ** ::snit::RT.LookupMethodCommand
143 ** ::snit::RT.ClearInstanceCaches
144 * Component Installation
145 ** ::snit::RT.installhull
146 ** ::snit::RT.install
147 * Method/Variable Name Qualification
148 ** ::snit::RT.variable
149 ** ::snit::RT.mytypevar
152 ** ::snit::RT.codename
153 ** ::snit::RT.mytypemethod
154 ** ::snit::RT.mymethod
155 ** ::snit::RT.CallInstance
159 ** ::snit::RT.typemethod.destroy
161 ** ::snit::RT.method.cget
162 ** ::snit::RT.CacheCgetCommand
163 ** ::snit::RT.method.configurelist
164 ** ::snit::RT.CacheConfigureCommand
165 ** ::snit::RT.method.configure
166 ** ::snit::RT.GetOptionDbSpec
168 ** ::snit::RT.typemethod.info
169 ** ::snit::RT.typemethod.info.typevars
170 ** ::snit::RT.typemethod.info.typemethods
171 ** ::snit::RT.typemethod.info.instances
172 * Instance Introspection
173 ** ::snit::RT.method.info
174 ** ::snit::RT.method.info.type
175 ** ::snit::RT.method.info.typevars
176 ** ::snit::RT.method.info.typemethods
177 ** ::snit::RT.method.info.methods
178 ** ::snit::RT.method.info.vars
179 ** ::snit::RT.method.info.options