eXept Software AG Logo

Smalltalk/X Webserver

Documentation of class 'Explainer::ActionWithInfo':

Home

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

Class: ActionWithInfo (private in Explainer

This class is only visible from within Explainer.

Inheritance:

   Object
   |
   +--Explainer::ActionWithInfo

Package:
stx:libcomp
Category:
System-Compiler
Owner:
Explainer

Class protocol:

instance creation
o  block: aBlock info: info


Instance protocol:

accessing
o  block: blockArg info: infoArg

o  info

o  info: something

evaluation
o  value
(comment from inherited method)
return the receiver itself.
This allows every object to be used where blocks or valueHolders
are typically used, and allows for valueHolders and blocks to be
used interchangably in some situations.

Time will show, if this is a good idea or leads to sloppy programming
style ... (the idea was borrowed from the Self language).

WARNING: don't 'optimize' away ifXXX: blocks
(i.e. do NOT replace
foo ifTrue:[var1] ifFalse:[var2]
by:
foo ifTrue:var1 ifFalse:var2
)
- the compilers will only generate inline code for the if,
iff the argument(s) are blocks - otherwise, a true send is
generated.
This 'optimization' will work semantically correct,
but execute SLOWER instead.

Using constants (foo ifTrue:1 ifFalse:2) does not introduce a performance penalty.

o  value: arg



ST/X 7.7.0.0; WebServer 1.702 at 20f6060372b9.unknown:8081; Mon, 18 Nov 2024 04:23:51 GMT