protected override Statement Dim2DimArray()
{
var subOp = ReadByte();
var array = ReadWord();
switch (subOp)
{
case 0x0A: // SO_ARRAY_SCUMMVAR
{
var b = Pop();
var a = Pop();
return new MethodInvocation("DefineArray").AddArguments(array.ToLiteral(), "int".ToLiteral(), a, b).ToStatement();
}
case 0x0B: // SO_ARRAY_STRING
{
var b = Pop();
var a = Pop();
return new MethodInvocation("DefineArray").AddArguments(array.ToLiteral(), "string".ToLiteral(), a, b).ToStatement();
}
case 0x0C: // SO_ARRAY_UNDIM
return new MethodInvocation("NukeArray").AddArgument(array.ToLiteral()).ToStatement();
default:
throw new NotSupportedException(string.Format("DimArray: default case {0}", subOp));
}
}