> On 16 Jul 2026, at 21:33, Jean Louis Faucher <[email protected]> wrote:
> 
> 
> Bonus
> 
> I made a list of protected methods, and compared it with rexxref.
> Only 4 methods are documented as "protected" in rexxref (see the idented 
> methods).
> Not sure we need to update rexxref for each method.
> It would be more easy to list all the protected methods in the chapter "The 
> Security Manager".
> 
> It's not clear to me why METACLASS, SUBCLASSES, and SUPERCLASS are protected.
> That was already like that in ooRexx 4.2.
> 
> rexxref says these method are protected, but they are not:
> - class~inherit   .class~method("inherit")~isprotected=   -- 0
> - object~run      .object~method("run")~isprotected=  -- 0
> 
> 
> ooRexx 5.3
> ooRexx[sh]> ?m == /^......P
> P. PCGP.   'BASECLASS'                               : 'Class' (REXX)
> P. P.GP.   'BASECLASS'                               : 'Class' (REXX)
> P. PCGP.   'DEFAULTOPTIONS'                          : 'Package' (REXX)
>     P. P.GP.   'DEFINE'                                  : 'Class' (REXX)
> P. PCGP.   'DEFINE'                                  : 'Class' (REXX)
> P. P.GP.   'DEFINEMETHODS'                           : 'Class' (REXX)
> P. PCGP.   'DEFINEMETHODS'                           : 'Class' (REXX)
> P. PCGP.   'DELETE'                                  : 'Class' (REXX)
>     P. P.GP.   'DELETE'                                  : 'Class' (REXX)
> P. PCGP.   'METACLASS'                               : 'Class' (REXX)
> P. P.GP.   'METACLASS'                               : 'Class' (REXX)
> P. P.GP.   'OPTIONS'                                 : 'Package' (REXX)
> P. P.GP.   'PROCESS'                                 : 'system' (pipe.cls)
>     P. P.GP.   'SETMETHOD'                               : 'Directory' (REXX)
> P. P.GP.   'SETPROTECTED'                            : 'Method' (REXX)
> P. P.GP.   'SETSECURITYMANAGER'                      : 'Method' (REXX)
> P. P.GP.   'SETSECURITYMANAGER'                      : 'Package' (REXX)
> P. P.GP.   'SETSECURITYMANAGER'                      : 'Routine' (REXX)
> P. P.GP.   'SUBCLASSES'                              : 'Class' (REXX)
> P. PCGP.   'SUBCLASSES'                              : 'Class' (REXX)
> P. PCGP.   'SUPERCLASS'                              : 'Class' (REXX)
> P. P.GP.   'SUPERCLASS'                              : 'Class' (REXX)
> P. PCGP.   'SUPERCLASSES'                            : 'Class' (REXX)
> P. P.GP.   'SUPERCLASSES'                            : 'Class' (REXX)
> P. PCGP.   'UNINHERIT'                               : 'Class' (REXX)
> P. P.GP.   'UNINHERIT'                               : 'Class' (REXX)
>     P. P.GP.   'UNSETMETHOD'                             : 'Directory' (REXX)


I made an error in the review above:
Directory~setMethod and Directory~unsetMethod are not documented as protected 
in rexxref.

rexxref documents object~setMethod and object~unsetMethod as protected.
But they are not ('P' in col 7 is missing):

ooRexx[sh]> ?m setMethod
P. P.GP.   'SETMETHOD' : 'Directory' (REXX)
P. ..G..   'SETMETHOD' : 'Object' (REXX)
P. .CG..   'SETMETHOD' : 'Object' (REXX)

ooRexx[sh]> ?m unsetMethod
P. ..G..   'UNSETMETHOD' : 'Object' (REXX)
P. P.GP.   'UNSETMETHOD' : 'Directory' (REXX)
P. .CG..   'UNSETMETHOD' : 'Object' (REXX)

Confirmation in Setup.cpp

        AddPrivateMethod("SetMethod", RexxObject::setMethod, 3);
        AddPrivateMethod("UnsetMethod", RexxObject::unsetMethod, 1);

        AddProtectedMethod("SetMethod", DirectoryClass::setMethodRexx, 2);
        AddProtectedMethod("UnsetMethod", DirectoryClass::unsetMethodRexx, 1);


_______________________________________________
Oorexx-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/oorexx-devel

Reply via email to