private static void Render(RenderConditionalAttribute source, CSharpRenderingContext context) { var valuePieceCount = source.ValuePieces.Count(piece => piece is LiteralAttributePiece || piece is ConditionalAttributePiece); var prefixLocation = source.DocumentLocation.AbsoluteIndex; var suffixLocation = source.DocumentLocation.AbsoluteIndex + source.DocumentLocation.ContentLength - source.Suffix.Length; var renderingConventions = context.GetRenderingConventions(); renderingConventions .StartBeginWriteAttributeMethod() .WriteStringLiteral(source.Name) .WriteParameterSeparator() .WriteStringLiteral(source.Prefix) .WriteParameterSeparator() .Write(prefixLocation.ToString(CultureInfo.InvariantCulture)) .WriteParameterSeparator() .WriteStringLiteral(source.Suffix) .WriteParameterSeparator() .Write(suffixLocation.ToString(CultureInfo.InvariantCulture)) .WriteParameterSeparator() .Write(valuePieceCount.ToString(CultureInfo.InvariantCulture)) .WriteEndMethodInvocation(); context.Render(source.ValuePieces); renderingConventions .StartEndWriteAttributeMethod() .WriteEndMethodInvocation(); }
private void Render(RenderConditionalAttribute source, CSharpRenderingContext context) { context.Render(source.ValuePieces); }