Presently, 'Base' it only allowed at head of expression as 'Base.bar...' (so expression inside member procedures).
The request is to allow 'Base' to be also used inside expressions as '...foo.Base.bar...':
- expressions anywhere in the code (not only inside member procedures),
- keeping also the applicability of the fix: http://sourceforge.net/p/fbc/bugs/663 "Base.method() must not enable polymorphism (only inheritance)",
- allowing expressions with arrays (and not only array elements) as:
'Print Ubound(...foo.Base.array)'
'Redim (...foo.Base.array)(2)'
'Erase ...foo.Base.array'
- chaining compatibility like:
'...foo.Base.Base.bar...'
'...foo.Base.bar.Base...'
I second this request.
Basecould be implemented as a 'hidden member' (hidden in the sense asThisis a hidden parameter) and it doesn't even have to be a reserved word.