1
0
mirror of https://github.com/golang/go synced 2024-11-22 05:04:40 -07:00

- adjust my code and tests to new function syntax

R=r
OCL=14939
CL=14941
This commit is contained in:
Robert Griesemer 2008-09-08 13:26:52 -07:00
parent 077fe40867
commit 478090851b
4 changed files with 22 additions and 22 deletions

View File

@ -37,23 +37,23 @@ type (
T5 *T4; T5 *T4;
) )
type F0 func () type F0 ()
type F1 func (a int) type F1 (a int)
type F2 func (a, b int, c float) type F2 (a, b int, c float)
type F3 func () bool type F3 () bool
type F4 func (a int) (z T5, ok bool) type F4 (a int) (z T5, ok bool)
type F5 func (a, b int, c float) (z T5, ok bool) type F5 (a, b int, c float) (z T5, ok bool)
type F6 func (a int, b float) bool type F6 (a int, b float) bool
type F7 func (a int, b float, c, d *bool) bool type F7 (a int, b float, c, d *bool) bool
export type M0 func (p T5) . (); export type M0 (p T5) . ();
type ( type (
M1 func (p T5) . (a int); M1 (p T5) . (a int);
M2 func (p T5) . (a, b int, c float); M2 (p T5) . (a, b int, c float);
M3 func (p T5) . () bool; M3 (p T5) . () bool;
M4 func (p T5) . (a int) (z T5, ok bool); M4 (p T5) . (a int) (z T5, ok bool);
) )
export type M5 func (p T5) . (a, b int, c float) (z T5, ok bool); export type M5 (p T5) . (a, b int, c float) (z T5, ok bool);
type T6 chan int type T6 chan int
type T7 chan<- *T6 type T7 chan<- *T6
@ -62,7 +62,7 @@ type T8 chan-< *T6
type T9 struct { type T9 struct {
p *T9; p *T9;
q [] *map [int] *T9; q [] *map [int] *T9;
f *func(x, y *T9) *T9; f *(x, y *T9) *T9;
} }
export type T11 struct { export type T11 struct {

View File

@ -75,10 +75,10 @@ export type Flags struct {
export type Environment struct { export type Environment struct {
Error *func(comp *Compilation); // TODO complete this Error *(comp *Compilation); // TODO complete this
Import *func(comp *Compilation, pkg_file string) *Package; Import *(comp *Compilation, pkg_file string) *Package;
Export *func(comp *Compilation, pkg_file string); Export *(comp *Compilation, pkg_file string);
Compile *func(comp *Compilation, src_file string); Compile *(comp *Compilation, src_file string);
} }

View File

@ -597,7 +597,6 @@ func (P *Parser) ParseNamedSignature() (pos int, ident string, typ *Globals.Type
func (P *Parser) ParseFunctionType() *Globals.Type { func (P *Parser) ParseFunctionType() *Globals.Type {
P.Trace("FunctionType"); P.Trace("FunctionType");
P.Expect(Scanner.FUNC);
typ := P.ParseAnonymousSignature(); typ := P.ParseAnonymousSignature();
P.Ecart(); P.Ecart();
@ -796,7 +795,7 @@ func (P *Parser) TryType() *Globals.Type {
case Scanner.LBRACK: typ = P.ParseArrayType(); case Scanner.LBRACK: typ = P.ParseArrayType();
case Scanner.CHAN: typ = P.ParseChannelType(); case Scanner.CHAN: typ = P.ParseChannelType();
case Scanner.INTERFACE: typ = P.ParseInterfaceType(); case Scanner.INTERFACE: typ = P.ParseInterfaceType();
case Scanner.FUNC: typ = P.ParseFunctionType(); case Scanner.LPAREN: typ = P.ParseFunctionType();
case Scanner.MAP: typ = P.ParseMapType(); case Scanner.MAP: typ = P.ParseMapType();
case Scanner.STRUCT: typ = P.ParseStructType(); case Scanner.STRUCT: typ = P.ParseStructType();
case Scanner.MUL: typ = P.ParsePointerType(); case Scanner.MUL: typ = P.ParsePointerType();
@ -908,6 +907,7 @@ func (P *Parser) ParseNew() Globals.Expr {
func (P *Parser) ParseFunctionLit() Globals.Expr { func (P *Parser) ParseFunctionLit() Globals.Expr {
P.Trace("FunctionLit"); P.Trace("FunctionLit");
P.Expect(Scanner.FUNC);
typ := P.ParseFunctionType(); typ := P.ParseFunctionType();
P.ParseBlock(typ.scope); P.ParseBlock(typ.scope);

View File

@ -4,4 +4,4 @@ import "d"
export type T1 D.T1; export type T1 D.T1;
export type T2 D.T2; export type T2 D.T2;
export type F1 func (a D.T1, b *D.T2); export type F1 (a D.T1, b *D.T2);