aboutsummaryrefslogtreecommitdiffstats
path: root/vm/vm.go
blob: b795bb86e65cffd26b7f4d3957617a1ee2e65be1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package vm

import "math/big"

// BIG FAT WARNING. THIS VM IS NOT YET IS USE!
// I want to get all VM tests pass first before updating this VM

type Vm struct {
    env   Environment
    err   error
    depth int
}

func New(env Environment, typ Type) VirtualMachine {
    switch typ {
    case DebugVmTy:
        return NewDebugVm(env)
    case JitVmTy:
        return NewJitVm(env)
    default:
        return &Vm{env: env}
    }
}

func (self *Vm) Run(me, caller ContextRef, code []byte, value, gas, price *big.Int, data []byte) (ret []byte, err error) {
    panic("not implemented")
}

func (self *Vm) Env() Environment {
    return self.env
}

func (self *Vm) Depth() int {
    return self.depth
}

func (self *Vm) Printf(format string, v ...interface{}) VirtualMachine { return self }
func (self *Vm) Endl() VirtualMachine                                  { return self }