From 25344bc08f57b15a59d31622f914a95fac267e4d Mon Sep 17 00:00:00 2001 From: Ayke van Laethem Date: Thu, 30 Aug 2018 02:09:02 +0200 Subject: [PATCH] Reorder Program.interpret cases --- interpreter.go | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/interpreter.go b/interpreter.go index 66637e36..ada4ab15 100644 --- a/interpreter.go +++ b/interpreter.go @@ -102,22 +102,6 @@ func (p *Program) interpret(instrs []ssa.Instruction) (int, error) { } else { return i, errors.New("todo: init IndexAddr index: " + instr.Index.String()) } - case *ssa.UnOp: - if instr.Op != token.MUL || instr.CommaOk { - return i, errors.New("init: unknown unop: " + instr.String()) - } - valPtr, err := p.getValue(instr.X, locals) - if err != nil { - return i, err - } - switch valPtr := valPtr.(type) { - case *GlobalValue: - locals[instr] = valPtr.Global.initializer - case *PointerValue: - locals[instr] = *valPtr.Elem - default: - panic("expected a pointer") - } case *ssa.MakeInterface: locals[instr] = &InterfaceValue{instr.X.Type(), locals[instr.X]} case *ssa.MakeMap: @@ -177,6 +161,22 @@ func (p *Program) interpret(instrs []ssa.Instruction) (int, error) { } else { return i, errors.New("todo: init Store: " + instr.String()) } + case *ssa.UnOp: + if instr.Op != token.MUL || instr.CommaOk { + return i, errors.New("init: unknown unop: " + instr.String()) + } + valPtr, err := p.getValue(instr.X, locals) + if err != nil { + return i, err + } + switch valPtr := valPtr.(type) { + case *GlobalValue: + locals[instr] = valPtr.Global.initializer + case *PointerValue: + locals[instr] = *valPtr.Elem + default: + panic("expected a pointer") + } default: return i, nil }