public override void WriteCallCast(CallCast s, ExpressionUsage u) { WriteStaticType(s.Source, s.ReturnType); Write("("); WriteExpression(s.Operand); Write(")"); }
public override void WriteCallCast(CallCast s, ExpressionUsage u) { if (Environment.GetBool(s.Operand.ReturnType, "IsIntrinsic")) { // Cast to integer if (s.ReturnType.IsIntegralType && s.Operand.ReturnType.IsFloatingPointType) { if (u >= ExpressionUsage.Operand) { Write("("); } WriteExpression(s.Operand, ExpressionUsage.Operand); Write(" | 0"); if (u >= ExpressionUsage.Operand) { Write(")"); } return; } WriteExpression(s.Operand, ExpressionUsage.Object); if (s.ReturnType == Essentials.SByte && s.Operand.ReturnType == Essentials.Byte) { Write(".ByteToSByte()"); } else if (s.ReturnType == Essentials.Byte && s.Operand.ReturnType == Essentials.SByte) { Write(".SByteToByte()"); } return; } base.WriteCallCast(s, u); }
public virtual void WriteCallCast(CallCast s, ExpressionUsage u) { WriteCast(s.Source, s.ReturnType, s.Operand, u); }