Consider the following:
class base#(parameter p = 1);
endclass
class derived extends base#(3);
endclass
Assume I then have something like:
derived der = new;
base #(3) b = der;
Per 8.5, it is legal for me to reference "der.p".
Will the same thing be legal for a interface class?
interface class base#(parameter p = 1);
endclass
class derived implements base#(3);
endclass
derived der = new;
base #(3) b = der;
Is "b.p" a legal reference here? "derived" definitely
does not inherit (or implement) the parameter "p".
Conceptually, "p" is not part of derived at all, so is it
legal to reference it via a base interface class variable
whose handle is an implementing class? If "b.p" is
legal, is "der.p" legal?
Gord.
-- -------------------------------------------------------------------- Gordon Vreugdenhil 503-685-0808 Model Technology (Mentor Graphics) gordonv@model.com -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean.Received on Tue Jun 7 08:36:20 2011
This archive was generated by hypermail 2.1.8 : Tue Jun 07 2011 - 08:36:23 PDT