|
Class: AbstractSourceFileWriter
Object
|
+--AbstractSourceFileWriter
|
+--JavaScriptSourceFileWriter
|
+--SmalltalkChunkFileSourceWriter
- Package:
- stx:libbasic
- Category:
- Kernel-Classes-Support
- Version:
- rev:
1.15
date: 2021/11/26 13:56:32
- user: cg
- file: AbstractSourceFileWriter.st directory: libbasic
- module: stx stc-classLibrary: libbasic
Abstract common superclass for source file writers
copyrightCOPYRIGHT (c) 2006 by eXept Software AG
All Rights Reserved
This software is furnished under a license and may be used
only in accordance with the terms of that license and with the
inclusion of the above copyright notice. This software may not
be provided or otherwise made available to, or used by, any
other person. No title to or ownership of the software is
hereby transferred.
queries
-
isAbstract
-
Return if this class is an abstract class.
True is returned here for myself only; false for subclasses.
Abstract subclasses must redefine this again.
signal constants
-
methodSourceRewriteQuery
-
hook to allow for just-in-time rewriting of a method's sourceCode while filing out
used when saving version_XXX methods in a non-XXX sourceCodeManager
(i.e. to rewrite all non-CVS version methods while saving into a CVS repository)
this is required because we cannot save an SVN version method (dollar-ID-...-dollar) into a
CVS repository without loosing the original string with the next checkout, because it also gets
expanded by CVS. The same is true vice-versa for CVS-Ids, which get clobbered by SVN.
see SmalltalkChunkFileSourceWriter fileOutMethod:on:
accessing
-
generatingSourceForOriginal: aBoolean
-
if false (the default), the source of the current (in image) code is generated.
That means, that any extension method which shadows some other original method,
that extension method's code is generated.
if true, the code of the original method is generated.
Use a true value, when generating code for a SCM checkin operation, as then we do not
want the extension to shadow the original
fileout
-
fileOut: aClass on: outStreamArg
-
source writing
-
fileOut: class on: stream withTimeStamp: stampIt withInitialize: initIt withDefinition: withDefinition methodFilter: methodFilter
-
-
fileOut: class on: stream withTimeStamp: stampIt withInitialize: initIt withDefinition: withDefinition methodFilter: methodFilter encoder: encoderOrNil
-
raise an error: must be redefined in concrete subclass(es)
** This method must be redefined in concrete classes (subclassResponsibility) **
-
fileOutMethods: methods on: stream
-
Files out a bunch of methods. This is used to file-out extension methods
** This method must be redefined in concrete classes (subclassResponsibility) **
-
fileOutPackageDefinition: packageId on: stream
-
Files out a package definition on the stream, so all subsequent
code entities will be placed in that package
** This method must be redefined in concrete classes (subclassResponsibility) **
source writing - comments
-
fileOutComment: aStringOrStringCollection on: aStream
-
Writes a comment to a stream using proper syntax
-
fileOutCommentEndOn: aStream
-
Writes a comment end mark on aStream.
** This method must be redefined in concrete classes (subclassResponsibility) **
-
fileOutCommentLine: aString on: aStream
-
Writes a single line of comment on a comment to a stream.
Should not put an cr to the stream!
** This method must be redefined in concrete classes (subclassResponsibility) **
-
fileOutCommentStartOn: aStream
-
Writes a comment start mark on aStream.
** This method must be redefined in concrete classes (subclassResponsibility) **
MethodSourceRewriteQuery
|