From: Austin Clements Date: Wed, 2 Sep 2009 18:59:53 +0000 (-0700) Subject: Update asInterface now that 6g type switch is fixed. X-Git-Tag: weekly.2009-11-06~664 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=72a11c5752aec345a7cafc257f3176da4cb4f5e7;p=gostls13.git Update asInterface now that 6g type switch is fixed. R=rsc APPROVED=rsc DELTA=31 (0 added, 4 deleted, 27 changed) OCL=34251 CL=34259 --- diff --git a/usr/austin/eval/expr1.go b/usr/austin/eval/expr1.go index 9f9d696e67..1bbe87242c 100644 --- a/usr/austin/eval/expr1.go +++ b/usr/austin/eval/expr1.go @@ -57,34 +57,32 @@ func (a *expr) asMulti() (func(*Frame) []Value) { } func (a *expr) asInterface() (func(*Frame) interface{}) { - // TODO(rsc): Drop f from (f *Frame) in case labels - // after fixing 6g type switch bug. switch sf := a.eval.(type) { - case func(f *Frame)bool: + case func(*Frame)bool: return func(f *Frame) interface{} { return sf(f) } - case func(f *Frame)uint64: + case func(*Frame)uint64: return func(f *Frame) interface{} { return sf(f) } - case func(f *Frame)int64: + case func(*Frame)int64: return func(f *Frame) interface{} { return sf(f) } - case func(f *Frame)*bignum.Integer: + case func(*Frame)*bignum.Integer: return func(f *Frame) interface{} { return sf(f) } - case func(f *Frame)float64: + case func(*Frame)float64: return func(f *Frame) interface{} { return sf(f) } - case func(f *Frame)*bignum.Rational: + case func(*Frame)*bignum.Rational: return func(f *Frame) interface{} { return sf(f) } - case func(f *Frame)string: + case func(*Frame)string: return func(f *Frame) interface{} { return sf(f) } - case func(f *Frame)ArrayValue: + case func(*Frame)ArrayValue: return func(f *Frame) interface{} { return sf(f) } - case func(f *Frame)StructValue: + case func(*Frame)StructValue: return func(f *Frame) interface{} { return sf(f) } - case func(f *Frame)Value: + case func(*Frame)Value: return func(f *Frame) interface{} { return sf(f) } - case func(f *Frame)Func: + case func(*Frame)Func: return func(f *Frame) interface{} { return sf(f) } - case func(f *Frame)Slice: + case func(*Frame)Slice: return func(f *Frame) interface{} { return sf(f) } - case func(f *Frame)Map: + case func(*Frame)Map: return func(f *Frame) interface{} { return sf(f) } default: log.Crashf("unexpected expression node type %T at %v", a.eval, a.pos); diff --git a/usr/austin/eval/gen.go b/usr/austin/eval/gen.go index 54179ea78a..c9b5ab6e3b 100644 --- a/usr/austin/eval/gen.go +++ b/usr/austin/eval/gen.go @@ -132,7 +132,7 @@ var data = Data { const templateStr = ` // This file is machine generated by gen.go. -// 6g gen.go && 6l gen.6 && 6.out >expr1.go +// 6g gen.go && 6l gen.6 && ./6.out >expr1.go package eval @@ -161,11 +161,9 @@ func (a *expr) asMulti() (func(*Frame) []Value) { } func (a *expr) asInterface() (func(*Frame) interface{}) { - // TODO(rsc): Drop f from (f *Frame) in case labels - // after fixing 6g type switch bug. switch sf := a.eval.(type) { «.repeated section Types» - case func(f *Frame)«Native»: + case func(*Frame)«Native»: «.section IsIdeal» return func(f *Frame) interface{} { return sf(f) } «.or»