On 18.05.2022 16:21, Rick McGuire wrote:
I went back through the history of this, and this came from a bit of cleanup that I did back in
2014 to refactor the code that handled the check to the object class. The original test used this
code:
- // validate the starting scope if we've been given one
- if (startscope != OREF_NULL)
- {
- if (!receiver->behaviour->hasScope((RexxClass *)startscope))
- {
- reportException(Error_Incorrect_method_array_noclass, IntegerTwo);
- }
- }
Which is code that will work for an object instance, including class objects.
Great, thank you, it works! :)
Here the adjusted code:
// validate the starting scope if we've been given one
if (scope != OREF_NULL)
{
if (! this->behaviour->hasScope((RexxClass *)scope))
{
reportException(Error_Incorrect_method_array_noclass, this,
scope);
}
}
Also in the preliminary adjustment in ForwardInstruction.cpp (moving the validateScopeOverride()
test into ObjectClass sendMessage() that forward invokes (and does not have that check yet; all
other sendMessage() methods have that check it seems).
Will add further class level tests to Message.testgroup and create an initial
FORWARD.testgroup.
Have to leave now but will come back ASAP to this.
---rony
_______________________________________________
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel