eXept Software AG Logo

Smalltalk/X Webserver

Documentation of class 'SmalltalkShareClient::RemoteMethod':

Home

Documentation
www.exept.de
Everywhere
for:
[back]

Class: RemoteMethod (private in SmalltalkShareClient

This class is only visible from within SmalltalkShareClient.

Inheritance:

   Object
   |
   +--ExecutableFunction
      |
      +--CompiledCode
         |
         +--Method
            |
            +--SmalltalkShareClient::RemoteMethod

Package:
stx:goodies/communication
Category:
Net-Communication-SmallTeam
Owner:
SmalltalkShareClient

Instance protocol:

accessing
o  containingClass
(comment from inherited method)
return the class I am defined in.
Notice, that the containingClass query returns nil, if a method is wrapped or no longer valid
due to an accept in a browser or debugger.
However, the mclass slot still contains a reference to the once valid class and can be fetched
via getMclass.
See comment in who.

o  privacy

o  selector

o  selector: aSymbol

o  source
(comment from inherited method)
return the sourcestring for the receiver.
Return nil, if we do not know the source.

o  who
(comment from inherited method)
return the class and selector of where I am defined in;
nil is returned for unbound methods.

ST/X special notice:
returns an instance of MethodWhoInfo, which
responds to #methodClass and #methodSelector query messages.
For backward- (& ST-80) compatibility, the returned object also
responds to #at:1 and #at:2 messages.

Implementation notice:
To avoid an expensive search, the once valid containing class is kept and remembered
in the mclass slot. However, if a method gets recompiled or wrapped, the mclass field is
no longer valid and who on the old method returns nil (because the method is actually no longer
contained in that class). However, to allow easier unwrapping (and gathering of the corresponding
wrapper), the mclass field is never nilled. I.e. it still refers to the original class.
Therefore, a validation of the mclass slot is done here.

o  wrapper

private
o  fetchFullInfo

queries
o  isExecutable
(comment from inherited method)
return true, if this method is executable.
I.e. neither an invalidated nor an unloaded method

o  isShadowingExtension
(comment from inherited method)
return true, if this method is an extension (i.e. package ~= classes' package)
which shadows an existing method from another package (i.e. a package conflict)

o  isUnloaded



ST/X 7.7.0.0; WebServer 1.702 at 20f6060372b9.unknown:8081; Thu, 07 Nov 2024 09:05:57 GMT