author | Claus Gittinger <cg@exept.de> |
Fri, 06 May 2016 05:00:00 +0200 | |
changeset 3848 | 869d3d3fe0ce |
parent 3834 | 988d5478a278 |
child 3873 | 707275c1f86d |
child 3912 | 11eb7594d5df |
permissions | -rw-r--r-- |
1858 | 1 |
" |
2 |
COPYRIGHT (c) 2006 by eXept Software AG |
|
3135 | 3 |
All Rights Reserved |
1858 | 4 |
|
5 |
This software is furnished under a license and may be used |
|
6 |
only in accordance with the terms of that license and with the |
|
7 |
inclusion of the above copyright notice. This software may not |
|
8 |
be provided or otherwise made available to, or used by, any |
|
9 |
other person. No title to or ownership of the software is |
|
10 |
hereby transferred. |
|
11 |
" |
|
1827 | 12 |
"{ Package: 'stx:libcomp' }" |
13 |
||
3559 | 14 |
"{ NameSpace: Smalltalk }" |
15 |
||
1827 | 16 |
LibraryDefinition subclass:#stx_libcomp |
3255 | 17 |
instanceVariableNames:'' |
18 |
classVariableNames:'' |
|
19 |
poolDictionaries:'' |
|
20 |
category:'* Projects & Packages *' |
|
1827 | 21 |
! |
22 |
||
1858 | 23 |
!stx_libcomp class methodsFor:'documentation'! |
24 |
||
25 |
copyright |
|
26 |
" |
|
27 |
COPYRIGHT (c) 2006 by eXept Software AG |
|
3135 | 28 |
All Rights Reserved |
1858 | 29 |
|
30 |
This software is furnished under a license and may be used |
|
31 |
only in accordance with the terms of that license and with the |
|
32 |
inclusion of the above copyright notice. This software may not |
|
33 |
be provided or otherwise made available to, or used by, any |
|
34 |
other person. No title to or ownership of the software is |
|
35 |
hereby transferred. |
|
36 |
" |
|
37 |
! |
|
38 |
||
39 |
documentation |
|
40 |
" |
|
3498 | 41 |
Package documentation: |
42 |
||
3559 | 43 |
This library contains the Smalltalk parser and bytecode compiler, |
3498 | 44 |
and related support classes (AST representation). |
3597 | 45 |
|
46 |
This compiler is used when code is changed within the running IDE or application. |
|
47 |
It generates bytecode methods, which are further translated to machine code by the VM, |
|
48 |
when first executed. |
|
49 |
This is not to be confused with the stc-compiler, which generates plain machine code, which |
|
50 |
is packaged in compiled class libraries. Usually, end user applications are deployed as |
|
51 |
stc-compiled binary code. And only patches or dynamically generated code uses bytecode methods. |
|
1858 | 52 |
" |
53 |
! ! |
|
1827 | 54 |
|
55 |
!stx_libcomp class methodsFor:'description'! |
|
56 |
||
2034 | 57 |
excludedFromPreRequisites |
58 |
^ #( |
|
2497 | 59 |
#'exept:ctypes' |
2034 | 60 |
#'stx:libbasic2' "Text - referenced by Parser>>selectorCheck:for:positions: " |
61 |
#'stx:libtool' "Tools::ToDoListBrowser - referenced by Parser>>selectorCheck:for:positions: " |
|
62 |
#'stx:libview' "Color - referenced by SyntaxHighlighter>>markParenthesisAt: " |
|
63 |
#'stx:libview2' "ValueHolder - referenced by Parser>>addDoItTemporary: " |
|
64 |
#'stx:libwidg' "Workspace - referenced by Parser>>primary_identifier " |
|
65 |
#'stx:libwidg2' "TextBox - referenced by WarningCompilationErrorHandler>>error:position:to:from: " |
|
2497 | 66 |
#'stx:goodies/sunit' |
2034 | 67 |
) |
2497 | 68 |
|
69 |
"Modified: / 16-06-2011 / 15:33:57 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
|
2034 | 70 |
! |
71 |
||
3033
47393e19b5d2
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
Stefan Vogel <sv@exept.de>
parents:
3026
diff
changeset
|
72 |
mandatoryPreRequisites |
3834 | 73 |
"list packages which are mandatory as a prerequisite. |
74 |
This are packages containing superclasses of my classes and classes which |
|
75 |
are extended by myself. |
|
76 |
They are mandatory, because we need these packages as a prerequisite for loading and compiling. |
|
77 |
This method is generated automatically, |
|
78 |
by searching along the inheritance chain of all of my classes." |
|
2497 | 79 |
|
1827 | 80 |
^ #( |
3834 | 81 |
#'stx:libbasic' "Autoload - superclass of ParseNodeValidator" |
3033
47393e19b5d2
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
Stefan Vogel <sv@exept.de>
parents:
3026
diff
changeset
|
82 |
) |
47393e19b5d2
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
Stefan Vogel <sv@exept.de>
parents:
3026
diff
changeset
|
83 |
! |
47393e19b5d2
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
Stefan Vogel <sv@exept.de>
parents:
3026
diff
changeset
|
84 |
|
47393e19b5d2
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
Stefan Vogel <sv@exept.de>
parents:
3026
diff
changeset
|
85 |
referencedPreRequisites |
3834 | 86 |
"list packages which are a prerequisite, because they contain |
87 |
classes which are referenced by my classes. |
|
88 |
We do not need these packages as a prerequisite for compiling or loading, |
|
89 |
however, a class from it may be referenced during execution and having it |
|
90 |
unloaded then may lead to a runtime doesNotUnderstand error, unless the caller |
|
91 |
includes explicit checks for the package being present. |
|
92 |
This method is generated automatically, |
|
93 |
by searching all classes (and their packages) which are referenced by my classes." |
|
94 |
||
95 |
^ #( |
|
96 |
#'stx:goodies/refactoryBrowser/lint' "RBReadBeforeWrittenTester - referenced by Parser class>>checkMethod:in:ignoreErrors:ignoreWarnings:" |
|
97 |
#'stx:goodies/refactoryBrowser/parser' "RBAssignmentNode - referenced by Explainer class>>addTypesAssignedToLocal:inTree:to:" |
|
98 |
#'stx:goodies/refactoryBrowser/refactoring' "RenameTemporaryRefactoring - referenced by Parser::CorrectByInteractiveRename>>fixFrom:to:for:" |
|
3848 | 99 |
#'stx:libbasic3' "AbstractSourceCodeManager - referenced by Explainer class>>methodSpecialInfoFor:" |
100 |
#'stx:libtool2' "MethodFinderWindow - referenced by Explainer class>>actionToOpenMethodFinderFor:" |
|
3834 | 101 |
) |
102 |
! |
|
103 |
||
104 |
subProjects |
|
105 |
"list packages which are known as subprojects. |
|
106 |
The generated makefile will enter those and make there as well. |
|
107 |
However: they are not forced to be loaded when a package is loaded; |
|
108 |
for those, redefine requiredPrerequisites." |
|
3033
47393e19b5d2
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
Stefan Vogel <sv@exept.de>
parents:
3026
diff
changeset
|
109 |
|
47393e19b5d2
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
Stefan Vogel <sv@exept.de>
parents:
3026
diff
changeset
|
110 |
^ #( |
1827 | 111 |
) |
112 |
! ! |
|
113 |
||
1868 | 114 |
!stx_libcomp class methodsFor:'description - compilation'! |
115 |
||
2203 | 116 |
additionalBaseAddressDefinition_bc_dot_mak |
117 |
"this is an optional definition, which (if present) may speed up the dll-loading a little |
|
118 |
on win32 systems." |
|
119 |
||
1889 | 120 |
^ ' |
1968 | 121 |
# see stdHeader_bc for LIBCOMP_BASE |
2203 | 122 |
LIB_BASE=$(LIBCOMP_BASE) |
1889 | 123 |
' |
1878 | 124 |
! |
125 |
||
1868 | 126 |
stcOptimizationOptions |
3528 | 127 |
^ '+optinline +optinline2 +inlinenew' |
1868 | 128 |
|
129 |
"Created: / 23-08-2006 / 11:27:31 / cg" |
|
3528 | 130 |
! |
131 |
||
132 |
stcWarningOptions |
|
133 |
^ '-warnNonStandard -warnUnused' |
|
1868 | 134 |
! ! |
135 |
||
1927 | 136 |
!stx_libcomp class methodsFor:'description - contents'! |
137 |
||
138 |
classNamesAndAttributes |
|
2254 | 139 |
"lists the classes which are to be included in the project. |
140 |
Each entry in the list may be: a single class-name (symbol), |
|
141 |
or an array-literal consisting of class name and attributes. |
|
142 |
Attributes are: #autoload or #<os> where os is one of win32, unix,..." |
|
143 |
||
1927 | 144 |
^ #( |
2034 | 145 |
"<className> or (<className> attributes...) in load order" |
2497 | 146 |
Breakpoint |
2776 | 147 |
BreakpointDescription |
3435 | 148 |
BreakpointQuery |
2776 | 149 |
CompilationErrorHandler |
3779 | 150 |
CompilationErrorHandlerQuery |
2776 | 151 |
DoNotShowCompilerWarningAgainActionQuery |
3373
b6fe9ced025f
added EvalScriptingErrorHandler
Claus Gittinger <cg@exept.de>
parents:
3261
diff
changeset
|
152 |
DoNotShowCompilerWarningAgainForThisMethodActionQuery |
3779 | 153 |
DoNotShowCompilerWarningAgainForThisReceiverSelectorActionQuery |
2776 | 154 |
InstrumentationContext |
155 |
InstrumentationInfo |
|
156 |
InstrumentedMethod |
|
157 |
LazyMethod |
|
158 |
ObjectFileHandle |
|
159 |
ObjectFileLoader |
|
3373
b6fe9ced025f
added EvalScriptingErrorHandler
Claus Gittinger <cg@exept.de>
parents:
3261
diff
changeset
|
160 |
ParseError |
2776 | 161 |
ParseNode |
3823 | 162 |
ParseNodeVisitor |
3373
b6fe9ced025f
added EvalScriptingErrorHandler
Claus Gittinger <cg@exept.de>
parents:
3261
diff
changeset
|
163 |
ParseWarning |
2776 | 164 |
ParserFlags |
165 |
ProgramNodeBuilder |
|
166 |
ProgramNodeEnumerator |
|
167 |
STCCompilerInterface |
|
168 |
Scanner |
|
169 |
SourceFileLoader |
|
170 |
Structure |
|
171 |
UndefinedVariable |
|
3373
b6fe9ced025f
added EvalScriptingErrorHandler
Claus Gittinger <cg@exept.de>
parents:
3261
diff
changeset
|
172 |
UndefinedVariableNotification |
2776 | 173 |
Variable |
174 |
#'stx_libcomp' |
|
175 |
AssignmentNode |
|
176 |
BlockNode |
|
177 |
BreakpointNode |
|
3373
b6fe9ced025f
added EvalScriptingErrorHandler
Claus Gittinger <cg@exept.de>
parents:
3261
diff
changeset
|
178 |
CompilationError |
b6fe9ced025f
added EvalScriptingErrorHandler
Claus Gittinger <cg@exept.de>
parents:
3261
diff
changeset
|
179 |
EvalScriptingErrorHandler |
2776 | 180 |
MessageNode |
3373
b6fe9ced025f
added EvalScriptingErrorHandler
Claus Gittinger <cg@exept.de>
parents:
3261
diff
changeset
|
181 |
MethodNode |
2776 | 182 |
ParseErrorNode |
183 |
Parser |
|
3823 | 184 |
PluggableParseNodeVisitor |
2776 | 185 |
PrimaryNode |
186 |
ProgramNode |
|
3373
b6fe9ced025f
added EvalScriptingErrorHandler
Claus Gittinger <cg@exept.de>
parents:
3261
diff
changeset
|
187 |
SelectorNode |
2776 | 188 |
StatementNode |
189 |
TextCollectingCompilationErrorHandler |
|
3373
b6fe9ced025f
added EvalScriptingErrorHandler
Claus Gittinger <cg@exept.de>
parents:
3261
diff
changeset
|
190 |
UndefinedSuperclassError |
b6fe9ced025f
added EvalScriptingErrorHandler
Claus Gittinger <cg@exept.de>
parents:
3261
diff
changeset
|
191 |
UndefinedVariableError |
2776 | 192 |
WarningCompilationErrorHandler |
193 |
AbstractSyntaxHighlighter |
|
194 |
BinaryNode |
|
3373
b6fe9ced025f
added EvalScriptingErrorHandler
Claus Gittinger <cg@exept.de>
parents:
3261
diff
changeset
|
195 |
BreakpointAnalyzer |
2776 | 196 |
ByteCodeCompiler |
197 |
CascadeNode |
|
198 |
ConstantNode |
|
199 |
Explainer |
|
200 |
PrimitiveNode |
|
201 |
ReturnNode |
|
202 |
SelfNode |
|
203 |
UnaryNode |
|
204 |
VariableNode |
|
205 |
ByteCodeCompilerWithBreakpointSupport |
|
206 |
CodeCoverageHighlighter |
|
207 |
Decompiler |
|
208 |
ECompletionConstantNode |
|
209 |
InstrumentingCompiler |
|
210 |
SuperNode |
|
211 |
SyntaxHighlighter |
|
3834 | 212 |
(ParseNodeValidator autoload) |
3823 | 213 |
(Switch autoload) |
2776 | 214 |
) |
215 |
! |
|
216 |
||
217 |
extensionMethodNames |
|
3848 | 218 |
"lists the extension methods which are to be included in the project. |
219 |
Entries are 2-element array literals, consisting of class-name and selector. |
|
220 |
A correponding method with real names must be present in my concrete subclasses |
|
221 |
if it has extensions." |
|
2776 | 222 |
|
223 |
^ #( |
|
224 |
Object notifyTodo:position:className:selector:severity:priority:equalityParameter:checkAction: |
|
225 |
) |
|
226 |
! |
|
227 |
||
228 |
xclassNamesAndAttributes |
|
229 |
"lists the classes which are to be included in the project. |
|
230 |
Each entry in the list may be: a single class-name (symbol), |
|
231 |
or an array-literal consisting of class name and attributes. |
|
232 |
Attributes are: #autoload or #<os> where os is one of win32, unix,..." |
|
233 |
||
234 |
^ #( |
|
235 |
"<className> or (<className> attributes...) in load order" |
|
236 |
Breakpoint |
|
2034 | 237 |
CompilationErrorHandler |
2497 | 238 |
DoNotShowCompilerWarningAgainActionQuery |
239 |
InstrumentedMethod |
|
2034 | 240 |
LazyMethod |
241 |
ObjectFileHandle |
|
242 |
ObjectFileLoader |
|
243 |
ParseNode |
|
244 |
ParserFlags |
|
245 |
ProgramNodeBuilder |
|
246 |
ProgramNodeEnumerator |
|
247 |
STCCompilerInterface |
|
248 |
Scanner |
|
249 |
SourceFileLoader |
|
250 |
Structure |
|
251 |
Switch |
|
252 |
UndefinedVariable |
|
253 |
Variable |
|
2497 | 254 |
#'stx_libcomp' |
255 |
AssignmentNode |
|
256 |
BlockNode |
|
257 |
BreakpointNode |
|
258 |
MessageNode |
|
259 |
Parser |
|
260 |
PrimaryNode |
|
261 |
ProgramNode |
|
262 |
StatementNode |
|
263 |
TextCollectingCompilationErrorHandler |
|
2034 | 264 |
WarningCompilationErrorHandler |
2497 | 265 |
AbstractSyntaxHighlighter |
266 |
BinaryNode |
|
267 |
ByteCodeCompiler |
|
268 |
CascadeNode |
|
269 |
ConstantNode |
|
270 |
Explainer |
|
271 |
ParseErrorNode |
|
272 |
PrimitiveNode |
|
273 |
ReturnNode |
|
274 |
SelfNode |
|
275 |
UnaryNode |
|
276 |
VariableNode |
|
277 |
ByteCodeCompilerWithBreakpointSupport |
|
278 |
CodeCoverageHighlighter |
|
279 |
Decompiler |
|
280 |
ECompletionConstantNode |
|
2642 | 281 |
InstrumentationInfo |
282 |
InstrumentationContext |
|
2366 | 283 |
InstrumentingCompiler |
2497 | 284 |
SuperNode |
285 |
SyntaxHighlighter |
|
2561 | 286 |
BreakpointDescription |
2580 | 287 |
(ParseNodeValidator autoload) |
2592 | 288 |
(ParseNodeVisitor autoload) |
2698
d91ab2f27d67
changed: #classNamesAndAttributes
Claus Gittinger <cg@exept.de>
parents:
2697
diff
changeset
|
289 |
(MethodNode autoload) |
1927 | 290 |
) |
2023 | 291 |
|
2776 | 292 |
"Created: / 06-12-2011 / 21:14:23 / cg" |
1927 | 293 |
! ! |
294 |
||
1827 | 295 |
!stx_libcomp class methodsFor:'description - project information'! |
296 |
||
297 |
companyName |
|
298 |
"Return a companyname which will appear in <lib>.rc" |
|
299 |
||
300 |
^ 'eXept Software AG' |
|
301 |
! |
|
302 |
||
303 |
description |
|
304 |
"Return a description string which will appear in nt.def / bc.def" |
|
305 |
||
1859 | 306 |
^ 'Smalltalk/X Bytecode Compiler' |
307 |
! |
|
308 |
||
1827 | 309 |
legalCopyright |
310 |
"Return copyright string which will appear in <lib>.rc" |
|
311 |
||
3655 | 312 |
^ 'Copyright Claus Gittinger 1988-2012\nCopyright eXept Software AG 2012' |
2045 | 313 |
|
2886 | 314 |
"Modified: / 18-07-2012 / 19:11:33 / cg" |
3033
47393e19b5d2
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
Stefan Vogel <sv@exept.de>
parents:
3026
diff
changeset
|
315 |
! |
47393e19b5d2
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
Stefan Vogel <sv@exept.de>
parents:
3026
diff
changeset
|
316 |
|
47393e19b5d2
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
Stefan Vogel <sv@exept.de>
parents:
3026
diff
changeset
|
317 |
productName |
47393e19b5d2
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
Stefan Vogel <sv@exept.de>
parents:
3026
diff
changeset
|
318 |
"Return a product name which will appear in <lib>.rc" |
47393e19b5d2
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
Stefan Vogel <sv@exept.de>
parents:
3026
diff
changeset
|
319 |
|
47393e19b5d2
Now preRequiites are separated in mandatoryPreRequisites and referencedPreRequisites
Stefan Vogel <sv@exept.de>
parents:
3026
diff
changeset
|
320 |
^ 'Smalltalk/X' |
1827 | 321 |
! ! |
322 |
||
2497 | 323 |
!stx_libcomp class methodsFor:'description - svn'! |
324 |
||
325 |
svnRepositoryUrlString |
|
326 |
"Return a SVN repository URL of myself. |
|
327 |
(Generated since 2011-04-08) |
|
328 |
" |
|
329 |
||
330 |
^ '$URL$' |
|
331 |
! |
|
332 |
||
333 |
svnRevisionNr |
|
334 |
"Return a SVN revision number of myself. |
|
335 |
This number is updated after a commit" |
|
336 |
||
3157 | 337 |
^ "$SVN-Revision:"'exportiert'"$" |
2497 | 338 |
! ! |
339 |
||
1827 | 340 |
!stx_libcomp class methodsFor:'documentation'! |
341 |
||
2642 | 342 |
version |
3655 | 343 |
^ '$Header$' |
2642 | 344 |
! |
345 |
||
2497 | 346 |
version_CVS |
3655 | 347 |
^ '$Header$' |
2254 | 348 |
! |
349 |
||
2497 | 350 |
version_SVN |
3255 | 351 |
^ '$ Id $' |
1827 | 352 |
! ! |
3026 | 353 |