protected override void GenerateCastExpression(CodeCastExpression expression) { TextWriter output = base.Output; if (expression.NeedsGrouping) output.Write("("); output.Write("cast("); this.OutputType(expression.TargetType); output.Write(")"); // Casts can be chained. if (expression.Expression is CodeCastExpression) ((CodeCastExpression)expression.Expression).NeedsGrouping = false; // CodeBinaryOperatorExpressions already generate their own parenthesis surrounding themself. base.GenerateExpression(expression.Expression); if (expression.NeedsGrouping) output.Write(")"); }
protected override void GenerateCastExpression(CodeCastExpression expression) { // CLEANUP: This has been cleaned up so that the code it generates looks better, // it will also generate chained casts if it's able to. TextWriter output = base.Output; if (expression.NeedsGrouping) output.Write("("); output.Write("("); this.OutputType(expression.TargetType); output.Write(")"); // Casts can be chained. if (expression.Expression is CodeCastExpression) ((CodeCastExpression)expression.Expression).NeedsGrouping = false; // CodeBinaryOperatorExpressions already generate their own parenthesis surrounding themself. base.GenerateExpression(expression.Expression); if (expression.NeedsGrouping) output.Write(")"); }