Hi all,
Ok, what I found out is that apparently defining attributes of field of
type, that is external to the opaque type,
was not possible before it was possible to reference types by field.
The question is if it is possible now, as in example below.
Another thing I was told, is that defining attributes by group
identifier is not possible.
Does it mean, that this is also not possible:
module M
{
group G {}
} with { extension (G) "ext" }
Could anyone help me figuring this out?
Btw. I forgot to add record keywords in example below:
On 07/17/2012 04:01 PM, ext Bartosz Kalinczuk wrote:
> Hi,
>
> I have a question related to overwriting rules of attributes.
>
> We have following example:
> module M {
> type record T1 {
> integer x
> } with {
> extension "T1"
> }
>
> type record T2 {
> T1 t,
> integer x
> } with {
> extension (T2.t) "T2.t"
> }
> }
>
> What is the extension attribute of T2.t? Does field attribute
> overwrite type attributes by default or only when attribute is defined
> with override keyword?
>
>
> By the way, is any of these attributes definitions allowed:
> module M {
> group G {
> type record T1 {
> integer x
> }
> type record T2 {
> T1 t
> }
> }
> } with {
> extension (G.T2) "G.T2"
> extension (G.T2.t) "G.T2.t"
> extension (G.T2.t.x) "G.T2.t.x"
> }
>
>
> Regards!
> Bartosz Kalinczuk