|
Class: ClassCategoryReader
Object
|
+--ClassCategoryReader
|
+--Dolphin::ClassCategoriesReader
|
+--Dolphin::MethodCategoriesReader
|
+--Squeak::ClassCommentReader
- Package:
- stx:libbasic
- Category:
- Kernel-Support
- Version:
- rev:
1.59
date: 2021/01/20 15:35:19
- user: cg
- file: ClassCategoryReader.st directory: libbasic
- module: stx stc-classLibrary: libbasic
a helper class for fileIn - keeps track of class and category to filein for.
Instances of this are created by the #methodsFor: methods in Class, to
read the next chunk(s) from a stream.
ClassCategoryReaders allow different ways of keeping the sourceCode of its
loaded code. This is controlled by the SourceMode class variable which may be:
#discard - forget the source code; no browsing/recompilation is possible
#keep - keep the source code as a string.
any saved image will later be fully independent of any
source files.
#reference - keep a reference to the loaded files basename
In order to be browsable, the original sourcefile should be
found along the sourcePath
(i.e. typically a link in the source directory should be present)
#absReference - keep a reference to the loaded files absolute pathname
but only if the file ends with .st.
(this is ok in multiUser configurations, where all sourcefiles are mounted
on a common path; typically automounted systems)
#forceAbsReference
- like above, but also do it for files not ending with .st.
Must be used with care - NEVER ever reference sources from the changes
file, because the changesBrowser does not adjust methods sources
when it compresses or removes changes.
#sourceReference - append source to the `st.src' file,
and keep a reference to that file.
if the image is later moved to another location,
this file should be moved along with it.
copyrightCOPYRIGHT (c) 1989 by Claus Gittinger
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.
defaults
-
keepSource
-
-
keepSource: aBoolean
-
-
skipUnchangedMethods
-
return true, if the default for unchanged methods is to skip them.
The default is true.
-
skipUnchangedMethods: aBoolean
-
return true, if the default for unchanged methods is to skip them.
The default is true. Can be temporarily changed to false, if
a forced fileIn is required.
-
sourceMode
-
return the sourceMode, which controls how sources are to be handled.
Read #documentation for more info
-
sourceMode: aSymbol
-
set the sourceMode, which controls how sources are to be handled.
Read #documentation for more info
initialization
-
initialize
-
ClassCategoryReader initialize
instance creation
-
class: aClass
-
return a new ClassCategoryReader to operate on aClass
-
class: aClass category: aCategory
-
return a new ClassCategoryReader to read methods for aClass with
methodCategory aCategory
-
class: aClass primitiveSpec: which
-
return a ClassCategoryReader to read a primitiveSpec chunk
fileIn
-
fileInFrom: aStream
-
read method-chunks from the input stream, aStream; compile them
and add the methods to the class defined by the class-instance var
-
fileInFrom: aStream notifying: requestor passChunk: passChunk
-
read method-chunks from the input stream, aStream; compile them
and add the methods to the class defined by the class-instance var;
errors and notifications are passed to requestor.
If passChunk is true, chunks are given to the requestor,
via a #source: message, allowing it to open a view showing any
erroneous source code.
-
fileInFrom: aStream notifying: requestor passChunk: passChunk single: oneChunkOnly
-
read method-chunks from the input stream, aStream; compile them
and add the methods to the class defined by the class-instance var;
errors and notifications are passed to requestor.
If passChunk is true, chunks are given to the requestor,
via a #source: message, allowing it to open a view showing any
erroneous source code.
If oneChunkOnly is true, the fileIn is finished after the first chunk.
-
fileInFrom: aStream notifying: requestor passChunk: passChunk single: oneChunkOnly silent: beSilent
-
read method-chunks from the input stream, aStream; compile them
and add the methods to the class defined by the class-instance var;
errors and notifications are passed to requestor.
If passChunk is true, chunks are given to the requestor,
via a #source: message, allowing it to open a view showing any
erroneous source code.
If oneChunkOnly is true, the fileIn is finished after the first chunk.
The beSilent argument controls output to the transcript, if it's true or
false. If it's nil, output is controlled by the Smalltalk>>silenLoading setting.
-
fileInFrom: aStream silent: beSilent
-
read method-chunks from the input stream, aStream; compile them
and add the methods to the class defined by the class-instance var.
The beSilent argument controls if a message is to be sent to the Transcript.
private
-
class: aClass category: aCategory
-
set the instance variables
-
class: aClass primitiveSpec: which
-
set the instance variables
special
-
ignoredProtocol
-
-
privateProtocol
-
-
protectedProtocol
-
|