On 12 January 2013 18:57, Jesus Nuñez <[email protected]> wrote: > Ok, but happens that #value: uses #fieldAt: was inherited from > NBExternalStructure, which is no longer in the hierarchy. But I understand > that it will no longer work with the change I made, any idea? > Yes, because address is not a structure. Initially it was like that to reuse some code pieces, but it not worth it.
> > Best Regards, > > Jesus > > > 2013/1/12 Igor Stasenko <[email protected]> >> >> No, it should be >> NBExternalAddress value: addr >> because method should answer an instance of NBExternalAddress >> not integer. >> >> On 12 January 2013 15:25, Jesus Nuñez <[email protected]> wrote: >> > Sorry. NBExternalAddress new ulongAt: adress >> > >> > >> > 2013/1/12 Jesus Nuñez <[email protected]> >> >> >> >> I have made a small change in the code because NBExternalAdress does >> >> not >> >> inherit from NBExternalStructure anymore. It is safe?. I mean so far no >> >> problems but my understanding is limited so I haven't make any commit. >> >> >> >> getGlobalSymbolPointer: symbolName >> >> | bytes addr | >> >> bytes := ByteArray new: 8. >> >> self bootstrapGetGlobalSymbolPointer: symbolName into: bytes. >> >> addr := bytes unsignedLongAt: 1 bigEndian: false. >> >> addr = 0 >> >> ifTrue: [self error: 'failed to get a symbol address: ' , symbolName]. >> >> +^ NBExternalAddress ulongAt: addr >> >> -^ NBExternalAddress value: addr >> >> >> >> Cheers >> > >> > >> >> >> >> -- >> Best regards, >> Igor Stasenko. >> > -- Best regards, Igor Stasenko.
