Hello there,
I would like to RAISE a discussion again about the implementation of
USED variables.
I did discuss this with MFC, Years ago, when implementing the first
version of Rexx2Nrx, and DID try to convince him, that:
WHEN (If) my code does say:
import org.netrexx.thsitc.runtime.compatibility.RexxMsg
AND
class RexxMsg does have a PUBLIC PROPERTY ic1 (the Parse Pointer)
THEN
in my own code:
class myclass USES RexxMsg
ic1=ic1+3
THE LEFT HAND SIDE Variable ic1
*should REFERENCE* the PUBLIC PROPERTY 'ic1' of class RexxMsg.
As it is now, we do have an interesting SIDE effect:
The RIGHT hand side (ic1+3) DOES REFERENCE the public property
'ic1' of class RexxMsg (when USES is used), but the LEFT HAND Side
'ic1' does CREATE a NEW, LOCAL variable.
My personal feeling is that this is TOTALLY UN-HUMAN (and very
dangerous, as well, for NEWBIES)
Whil'st I did learn how to cirumvent this (always classify USED properties
on the LEFT HAND side of an assignment), I'm raising this issue now
again for review by the ARB (Language Architecture Review Board).
It's totally ridiculous that in a statement as:
ic1=ic1+3
The left hand side denotes a different entity than the right hand side.
Sorry, Mike, to say this again...
Thomas Schneider.
Thomas Schneider (Founder of www.thsitc.com) Member of the Rexx Languge
Asscociation (www.rexxla.org) Member of the NetRexx Developer's Team
(www.netrexx.org)
_______________________________________________
Ibm-netrexx mailing list
[hidden email]
Online Archive :
http://ibm-netrexx.215625.n3.nabble.com/
Thomas Schneider, Vienna, Austria (Europe) :-)
www.thsitc.com
www.db-123.com