From: Russ Cox Date: Thu, 30 Oct 2008 22:29:55 +0000 (-0700) Subject: annotations on embedded types X-Git-Tag: weekly.2009-11-06~2844 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=f2b1536328b2135cd18c515d057d8ead25496322;p=gostls13.git annotations on embedded types R=ken OCL=18179 CL=18179 --- diff --git a/src/cmd/gc/go.y b/src/cmd/gc/go.y index cc5a101524..cb802025a9 100644 --- a/src/cmd/gc/go.y +++ b/src/cmd/gc/go.y @@ -1395,11 +1395,16 @@ structdcl: $$->type = $2; $$->val = $3; } -| embed -| '*' embed +| embed oliteral + { + $$ = $1; + $$->val = $2; + } +| '*' embed oliteral { $$ = $2; $$->type = ptrto($$->type); + $$->val = $3; } embed: @@ -1898,13 +1903,14 @@ hidden_structdcl: $$->type = $2; $$->val = $3; } -| '?' hidden_type +| '?' hidden_type oliteral { if(isptr[$2->etype]) { $$ = embedded($2->type->sym); $$->type = ptrto($$->type); } else $$ = embedded($2->sym); + $$->val = $3; } hidden_interfacedcl: