direct test for get
[scpubgit/TenDotTcl.git] / snit / roadmap.txt
CommitLineData
d4567ecb 1This is a roadmap to the code layout in snit.tcl.
2
3Package Definition
4* package provide
5* ::snit:: namespace definition; exports Snit commands.
6
7Major Variable Definitions (this includes a whole lot of code)
8* ::snit:: variable definitions:
9 * reservedArgs
10 * prettyStackTrace Not used currently
11
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
21 * alias installhull
22 * alias install
23 * alias typevariable
24 * alias variable
25 * alias mytypevar
26 * alias typevarname Deprecated
27 * alias myvar
28 * alias varname Deprecated
29 * alias myproc
30 * alias codename Deprecated
31 * alias mymethod
32 * alias mytypemethod
33 * alias from
34 * Snit's internal variables
35 * See dictionary.txt
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)
42 * %COMPILEDDEFS%
43 * Call the Type Constructor
44
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.
49
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
58 types.
59
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.
68
69Compilation Commands
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
99
100Public Commands
101* proc ::snit::compile
102* proc ::snit::type
103* proc ::snit::widgetadaptor
104* proc ::snit::widget
105* proc ::snit::typemethod
106* proc ::snit::method
107* proc ::snit::macro
108
109Utility Commands
110* proc ::snit::Expand
111* proc ::snit::Mappend
112* proc ::snit::CheckArgs
113* proc ::snit::Contains
114* proc ::snit::Capitalize
115* proc ::snit::Listify
116
117Snit Runtime Library
118
119The commands defined here are used by Snit-generated code at run-time
120rather than compile time.
121
122* Object Creation
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
131* Object Destruction
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
150** ::snit::RT.myvar
151** ::snit::RT.myproc
152** ::snit::RT.codename
153** ::snit::RT.mytypemethod
154** ::snit::RT.mymethod
155** ::snit::RT.CallInstance
156* Utilities
157** ::snit::RT.from
158* Type Destruction
159** ::snit::RT.typemethod.destroy
160* Option Handling
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
167* Type Introspection
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
180