SnapShotImageMemory.st
changeset 1484 089067851973
parent 1482 13fe76a0986b
child 1485 7e96892bc9df
equal deleted inserted replaced
1483:f27b959005c9 1484:089067851973
  1093 
  1093 
  1094 sourceFilename
  1094 sourceFilename
  1095     "return the sourcefilename if source is extern; nil otherwise"
  1095     "return the sourcefilename if source is extern; nil otherwise"
  1096 
  1096 
  1097     self isMethodOrLazyMethod ifTrue:[
  1097     self isMethodOrLazyMethod ifTrue:[
  1098         self sourcePosition notNil ifTrue:[^ self source].
  1098         self sourcePosition notNil ifTrue:[
       
  1099             ^ self at:(Method instVarOffsetOf:'source').
       
  1100         ].
  1099         ^ nil
  1101         ^ nil
  1100     ].
  1102     ].
  1101     self halt.
  1103     self halt.
  1102 !
  1104 !
  1103 
  1105 
  1325 size
  1327 size
  1326     ^ byteSize
  1328     ^ byteSize
  1327 ! !
  1329 ! !
  1328 
  1330 
  1329 !SnapShotImageMemory::ImageMethodObject methodsFor:'method protocol'!
  1331 !SnapShotImageMemory::ImageMethodObject methodsFor:'method protocol'!
       
  1332 
       
  1333 localSourceStream
       
  1334     "try to open a stream from a local source file,
       
  1335      searching in standard places."
       
  1336 
       
  1337     |fileName aStream package source|
       
  1338 
       
  1339     package := self package.
       
  1340     source := self at:(Method instVarOffsetOf:'source').
       
  1341     package notNil ifTrue:[
       
  1342         fileName := Smalltalk getSourceFileName:(package copyReplaceAll:$: with:$/) , '/' , source.
       
  1343         fileName notNil ifTrue:[
       
  1344             aStream := fileName asFilename readStream.
       
  1345             aStream notNil ifTrue:[^ aStream].
       
  1346         ].
       
  1347     ].
       
  1348     fileName := Smalltalk getSourceFileName:source.
       
  1349     fileName notNil ifTrue:[
       
  1350         aStream := fileName asFilename readStream.
       
  1351         aStream notNil ifTrue:[^ aStream].
       
  1352     ].
       
  1353     ^ nil
       
  1354 !
  1330 
  1355 
  1331 package
  1356 package
  1332     |packageSlotOffset packagePtr packageRef package|
  1357     |packageSlotOffset packagePtr packageRef package|
  1333 
  1358 
  1334     cachedPackage isNil ifTrue:[
  1359     cachedPackage isNil ifTrue:[