eXept Software AG Logo

Smalltalk/X Webserver

Documentation of class 'Class::SimulatedClassPool':

Home

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

Class: SimulatedClassPool (private in Class

This class is only visible from within Class.

Inheritance:

   Object
   |
   +--Class::SimulatedClassPool

Package:
stx:libbasic
Category:
Kernel-Classes
Owner:
Class
Author:
Claus Gittinger

Description:


in contrast to other smalltalks, ST/X does not keep the classVariables
in a dictionary; instead, classVariables are stored as special globals,
with the className as prefix (colon-separated).
The reason is that stc-compiled code should be allowed to access classVars
in a similar fashion to globals.

Whenever a classes classPool is requested (by code imported from visualworks), 
an instance of myself is created, which forwards at: and at:put: messages 
to the original class. 
Notice that classPools are never asked for by smalltalk/x
code - especially not by the browser. However, imported code (like the refactory browser)
may do so.

This is an additional goody class; therefore:

THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTOR ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED.  IN NO EVENT SHALL THE CONTRIBUTOR BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.


Instance protocol:

accessing
o  associationAt: aName
simulate an association

o  associationAt: aName ifAbsent: exceptionBlock
simulate an association

o  associations

o  associationsDo: aBlock
evaluate aBlock for all of my simulated classVarName->value associations

o  at: aKey

o  at: aKey ifAbsent: exceptionBlock

o  at: aKey put: something

o  bindingOf: aKey

o  keys
Button classPool keys
Button classPool at:#ReturnForm

o  keysAndValuesDo: aBlock
evaluate aBlock for all of my simulated classVarName->value associations

accessing-private
o  setClass: aClass


Private classes:

    SimulatedVariableBinding


ST/X 7.2.0.0; WebServer 1.670 at bd0aa1f87cdd.unknown:8081; Thu, 18 Aug 2022 14:46:57 GMT