public void GenSimple(CodeGenContext context) { if (value is string)// T_STRING, { context.ldstr((string)(value)); context.newobj(Runtime.String.ctor); return; } if (value is int) // T_FIXNUM { context.ldc_i4((int)(value)); context.box(PrimitiveType.Int32); return; } if (value is double)// T_FLOAT { context.ldc_r8((double)(value)); context.newobj(Runtime.Float.ctor); return; } if (value is ID) // T_SYMBOL { context.ldstr(((ID)value).ToString()); context.newobj(Runtime.Symbol.ctor); return; } if (value is BigNum) { BigNum num = (BigNum) value; context.ldc_i4(num.sign); context.ldstr(num.ToString()); context.ldc_i4(num.bas); context.newobj(Runtime.Bignum.ctor); return; } throw new System.NotImplementedException("VALUE " + value.GetType().ToString()); }