In 1800-2005, 13.10 we have: The scope of the arguments to the randomize method is the object class. Arguments are limited to the names of properties of the calling object; expressions are not allowed. I just want to clarify whether the name binding is static based on the type of the reference or dynamic based on the actual object. Specifically, is the following legal: class A; endclass class B extends A; rand int c; endclass A a; B b; initial begin b = new; a = b; a.randomize(c); // randomize member "c" - legal? end For a normal reference "a.c" is illegal but the text in 13.10 talks about both the "object class" and the "calling object". At this point, I'm assuming that this example should be illegal. BTW, there are some very nasty separate compilation issues involving randomize since the formals of the class method randomize are member names while in a hierarchical call to a task randomize they would be normal actuals. Gord. -- -------------------------------------------------------------------- Gordon Vreugdenhil 503-685-0808 Model Technology (Mentor Graphics) gordonv@model.comReceived on Tue Mar 7 07:44:17 2006
This archive was generated by hypermail 2.1.8 : Tue Mar 07 2006 - 07:44:37 PST