|
Class: ObjectFileHandle
Object
|
+--ObjectFileHandle
- Package:
- stx:libcomp
- Category:
- System-Compiler
- Version:
- rev:
1.46
date: 2019/06/28 07:06:06
- user: cg
- file: ObjectFileHandle.st directory: libcomp
- module: stx stc-classLibrary: libcomp
- Author:
- Claus Gittinger
not for public use - used by ObjectFileLoader to keep track of loaded modules,
associating objectFile names and moduleIDs to classes/methods.
This is required to be able to fixup classes, methods and function references
when an image is restarted and the dynamic objects are reloaded.
ExternalFunction
ObjectFileLoader
change & update
-
preSnapshot
-
about to write a snapshot.
Mark all the current instances as being snapshotted
accessing
-
classes
-
return the classes
-
classes: aCollectionOfClasses
-
set the classes collection
-
functions
-
return the functions which were already extracted from the module.
-
makeClassLibHandle
-
make this a classLibHandle - must be done manually when init failed for proper de-registration
later.
-
method
-
return the method (or nil, if I am not a method-file handle)
-
method: something
-
set the method
-
methods
-
return the collection of methods (or an empty collection,
if I am not a method-file handle)
-
moduleID
-
return moduleID
-
moduleID: something
-
set moduleID
-
pathName
-
return pathName
-
pathName: something
-
set pathName
-
snapshot
-
return the value of the instance variable 'snapshot' (automatically generated)
-
snapshot: something
-
set the value of the instance variable 'snapshot' (automatically generated)
-
sysHandle1
-
return sysHandle1
-
sysHandle1: something
-
set sysHandle1
-
sysHandle2
-
return sysHandle2
-
sysHandle2: something
-
set sysHandle2
actions
-
removeConnectedObjects
-
remove the smalltalk objects from the system that are connected
with this ObjectFileHandle
-
removeUnusedObjectFile
-
remove the object file,
but only if we are sure, that it is not referenced by a snapshot.
-
unload
-
unload the object file represented by me
change & update
-
update: something with: aParameter from: changedObject
-
my method/class object was collected - unload the underlying objectfile
copying-private
-
postCopy
-
flush module handles of the copy
-
postDeepCopy
-
printing & storing
-
printOn: aStream
-
append a printed representation of the receiver to aStream
queries
-
getFunction: aString
-
return a function object for an entry in the module represented by the receiver.
-
getFunctionAddress: aString into: anExternalFunction
-
fill the code address of the external function named aString into anExternalFunction.
Returns the address, or nil.
-
hasUndefinedSymbols
-
return true, if the module has any undefined symbols.
The only system, which allows modules with undefined symbols to be
loaded is (currently) the linux a.out version.
-
isClassLibHandle
-
return true, if I am a handle for a class library
-
isFunctionObjectHandle
-
return true, if I am a handle for a c-code (or other) function object file
-
isMethodHandle
-
return true, if I am a handle for a single compiled method
-
isObsolete
-
return true, if my clases/method has already been removed from
the image. I.e. if the object file can be unloaded without danger.
-
isUnknownHandle
-
return true, if it is not (yet) known, what type of
file is represented by the handle. (i.e. when loaded, but not yet
registered/initialized)
-
package
-
retrieve the packageID of the class-library handle
usage example(s):
sigh - for now, the package must be extracted from the first classes/methods
|
usage example(s):
|