summaryrefslogtreecommitdiff
path: root/usr/austin/eval/expr.go
diff options
context:
space:
mode:
Diffstat (limited to 'usr/austin/eval/expr.go')
-rw-r--r--usr/austin/eval/expr.go97
1 files changed, 0 insertions, 97 deletions
diff --git a/usr/austin/eval/expr.go b/usr/austin/eval/expr.go
index bc8fd57e3..7f959d93d 100644
--- a/usr/austin/eval/expr.go
+++ b/usr/austin/eval/expr.go
@@ -72,103 +72,6 @@ func (a *exprInfo) diagOpTypes(op token.Token, lt Type, rt Type) {
}
/*
- * "As" functions. These retrieve evaluator functions from an
- * expr, panicking if the requested evaluator has the wrong type.
- */
-func (a *expr) asBool() (func(*Frame) bool) {
- return a.eval.(func(*Frame)bool);
-}
-
-func (a *expr) asUint() (func(f *Frame) uint64) {
- return a.eval.(func(*Frame)uint64);
-}
-
-func (a *expr) asInt() (func(f *Frame) int64) {
- return a.eval.(func(*Frame)int64);
-}
-
-func (a *expr) asIdealInt() (func() *bignum.Integer) {
- return a.eval.(func()*bignum.Integer);
-}
-
-func (a *expr) asFloat() (func(f *Frame) float64) {
- return a.eval.(func(*Frame)float64)
-}
-
-func (a *expr) asIdealFloat() (func() *bignum.Rational) {
- return a.eval.(func()*bignum.Rational)
-}
-
-func (a *expr) asString() (func(f *Frame) string) {
- return a.eval.(func(*Frame)string)
-}
-
-func (a *expr) asArray() (func(f *Frame) ArrayValue) {
- return a.eval.(func(*Frame)ArrayValue)
-}
-
-func (a *expr) asStruct() (func(f *Frame) StructValue) {
- return a.eval.(func(*Frame)StructValue)
-}
-
-func (a *expr) asPtr() (func(f *Frame) Value) {
- return a.eval.(func(*Frame)Value)
-}
-
-func (a *expr) asFunc() (func(f *Frame) Func) {
- return a.eval.(func(*Frame)Func)
-}
-
-func (a *expr) asSlice() (func(f *Frame) Slice) {
- return a.eval.(func(*Frame)Slice)
-}
-
-func (a *expr) asMap() (func(f *Frame) Map) {
- return a.eval.(func(*Frame)Map)
-}
-
-func (a *expr) asMulti() (func(f *Frame) []Value) {
- return a.eval.(func(*Frame)[]Value)
-}
-
-func (a *expr) asInterface() (func(f *Frame) interface {}) {
- // TODO(austin) We need the argument names in this type switch
- // to work around a 6g bug.
- switch sf := a.eval.(type) {
- case func(f *Frame)bool:
- return func(f *Frame) interface{} { return sf(f) };
- case func(f *Frame)uint64:
- return func(f *Frame) interface{} { return sf(f) };
- case func(f *Frame)int64:
- return func(f *Frame) interface{} { return sf(f) };
- case func()*bignum.Integer:
- return func(f *Frame) interface{} { return sf() };
- case func(f *Frame)float64:
- return func(f *Frame) interface{} { return sf(f) };
- case func()*bignum.Rational:
- return func(f *Frame) interface{} { return sf() };
- case func(f *Frame)string:
- return func(f *Frame) interface{} { return sf(f) };
- case func(f *Frame)ArrayValue:
- return func(f *Frame) interface{} { return sf(f) };
- case func(f *Frame)StructValue:
- return func(f *Frame) interface{} { return sf(f) };
- case func(f *Frame)Value:
- return func(f *Frame) interface{} { return sf(f) };
- case func(f *Frame)Func:
- return func(f *Frame) interface{} { return sf(f) };
- case func(f *Frame)Slice:
- return func(f *Frame) interface{} { return sf(f) };
- case func(f *Frame)Map:
- return func(f *Frame) interface{} { return sf(f) };
- case func(f *Frame)[]Value:
- return func(f *Frame) interface{} { return sf(f) };
- }
- log.Crashf("unexpected expression node type %T at %v", a.eval, a.pos);
- panic();
-}
-
-/*
* Common expression manipulations
*/