The metaclass 'Class' does not list the method 'new', although all class objects (instances of 'Class') in the system must possess (and do possess) that very method in order to be able to create instances of the class they represent.
[From the current classifcation tree it is not possible for instances of 'Class' to inherit the method 'new' from the superclass 'Object', as 'new' is not defined to be an instance method there.]
Anonymous
Logged In: YES
user_id=1125291
Originator: NO
I need more information on what you are talking about here. .Class most certainly does have a NEW instance method. Please attach an example showing the failure.
Logged In: YES
user_id=662126
Originator: YES
Sending the message "methods" to ".Class", restricting to return only the methods .Class defines does not return "new" in the message supplier. (I see that 'instanceMethods(.Class)' will return a 'new' method.)
----------- cut here -----------
F:\work\svn\oorexx>rexxtry
REXX-ooRexx_3.2.0(MT) 6.02 2 Jun 2007
rexxtry.rex lets you interactively try REXX statements.
Each string is executed when you hit Enter.
Enter 'call tell' for a description of the features.
Go on - try a few... Enter 'exit' to end.
call rgf_util2
........................................... rexxtry.rex on WindowsNT
call dump2 .class~methods(.class)
type: The Supplier class: (25 items)
........................................... rexxtry.rex on WindowsNT
----------- cut here -----------
Logged In: YES
user_id=1125291
Originator: NO
The "new" method cannot be part of the instance methods of a class created by .Class~new, as it would conflict with the "new" method used to create class instances. A meta class is used as a template for creating new classes, which at some level involves some hand construction. The instance methods of the meta class are all of the standard inheritable of class. The "new" method is then merged in based on the hierarchy of the used to construct the class. This "new" method is one used to create instances of the class, not the "new" method from .Class. To pick up the .Class "new" method, you need to subclass .Class, not create a new one via new.