]> Cypherpunks repositories - gostls13.git/commitdiff
Update asInterface now that 6g type switch is fixed.
authorAustin Clements <aclements@csail.mit.edu>
Wed, 2 Sep 2009 18:59:53 +0000 (11:59 -0700)
committerAustin Clements <aclements@csail.mit.edu>
Wed, 2 Sep 2009 18:59:53 +0000 (11:59 -0700)
R=rsc
APPROVED=rsc
DELTA=31  (0 added, 4 deleted, 27 changed)
OCL=34251
CL=34259

usr/austin/eval/expr1.go
usr/austin/eval/gen.go

index 9f9d696e67a5ab6f54c84e4ce0a538401859fa4a..1bbe87242c1568e9ec0f442a8cad04c36267c8a7 100644 (file)
@@ -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(*Frame)bool:
+       case func(*Frame)bool:
                return func(f *Frame) interface{} { return sf(f) }
-       case func(*Frame)uint64:
+       case func(*Frame)uint64:
                return func(f *Frame) interface{} { return sf(f) }
-       case func(*Frame)int64:
+       case func(*Frame)int64:
                return func(f *Frame) interface{} { return sf(f) }
-       case func(*Frame)*bignum.Integer:
+       case func(*Frame)*bignum.Integer:
                return func(f *Frame) interface{} { return sf(f) }
-       case func(*Frame)float64:
+       case func(*Frame)float64:
                return func(f *Frame) interface{} { return sf(f) }
-       case func(*Frame)*bignum.Rational:
+       case func(*Frame)*bignum.Rational:
                return func(f *Frame) interface{} { return sf(f) }
-       case func(*Frame)string:
+       case func(*Frame)string:
                return func(f *Frame) interface{} { return sf(f) }
-       case func(*Frame)ArrayValue:
+       case func(*Frame)ArrayValue:
                return func(f *Frame) interface{} { return sf(f) }
-       case func(*Frame)StructValue:
+       case func(*Frame)StructValue:
                return func(f *Frame) interface{} { return sf(f) }
-       case func(*Frame)Value:
+       case func(*Frame)Value:
                return func(f *Frame) interface{} { return sf(f) }
-       case func(*Frame)Func:
+       case func(*Frame)Func:
                return func(f *Frame) interface{} { return sf(f) }
-       case func(*Frame)Slice:
+       case func(*Frame)Slice:
                return func(f *Frame) interface{} { return sf(f) }
-       case func(*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);
index 54179ea78a401eb8bf420aa6c5914f7dd37dfc5c..c9b5ab6e3b54458f100241d6010732d572b91191 100644 (file)
@@ -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(*Frame)«Native»:
+       case func(*Frame)«Native»:
 «.section IsIdeal»
                return func(f *Frame) interface{} { return sf(f) }
 «.or»