Example #1
0
        public void EmitOpCode(OpCode opCode, params object[] operands)
        {
            EmitString(opCode.ToString());

            foreach (var s in operands)
            {
                EmitString(" " + s);
            }

            EmitLine();

            if (!opCode.HasVariableStackBehaviour())
            {
                _currentStack += opCode.NetStackCount();
            }

            if (_currentStack > _maxStack)
            {
                _maxStack = _currentStack;
            }
        }