internal override void Apply(FunctionBuilder dest) { dest.Add(new OpcodeSpecial(cpu => { int k = cpu.Pop().Int; if (k < 0 || k >= objs.Length) { throw new Exception(string.Format("index out of bounds for local instance array: {0} (max: {1})", k, objs.Length)); } cpu.Push(new XValue(objs[k])); })); }
internal override void Apply(FunctionBuilder dest) { dest.Add(new OpcodeSpecial(cpu => { cpu.Push(new XValue(obj)); })); }
internal override void Apply(FunctionBuilder dest) { dest.Add(new OpcodeSpecial(cfa.PutIndexed)); }
internal override void Apply(FunctionBuilder dest) { dest.Add(new OpcodeSpecial(cf.Get)); }
internal override void Apply(FunctionBuilder dest) { dest.Add(new OpcodeRefLocalIndexed(off, len)); }
internal override void Apply(FunctionBuilder dest) { dest.Add(new OpcodeRefLocal(off)); }
internal override void Apply(FunctionBuilder dest) { dest.Add(new OpcodePutLocal(off, ltype)); }