public override void GenerateStartBlockCode(Block target, CodeGeneratorContext context) { if (context.Host.DesignTimeMode) { return; } context.FlushBufferedStatement(); var sb = new StringBuilder(); if (!string.IsNullOrEmpty(context.TargetWriterName)) { sb.AppendFormat( "{0} ({1}, ", context.Host.GeneratedClassContext.WriteAttributeToMethodName, context.TargetWriterName ); } else { sb.AppendFormat( "{0} (", context.Host.GeneratedClassContext.WriteAttributeMethodName ); } sb.WriteCStyleStringLiteral(Name); sb.Append(", "); sb.WriteCStyleStringLiteral(Prefix); sb.Append(", "); sb.WriteCStyleStringLiteral(Suffix); context.AddStatement(sb.ToString()); }
public override void GenerateEndBlockCode(Block target, CodeGeneratorContext context) { if (context.Host.DesignTimeMode) { return; } context.FlushBufferedStatement(); context.AddStatement(");"); }
public override void GenerateCode(Span target, CodeGeneratorContext context) { if (context.Host.DesignTimeMode) { return; } ExpressionRenderingMode oldMode = context.GetExpressionRenderingMode(); var sb = new StringBuilder(); sb.Append(", Tuple.Create<string,object,bool> ("); sb.WriteCStyleStringLiteral(Prefix.Value); sb.Append(", "); if (ValueGenerator != null) { context.SetExpressionRenderingMode(ExpressionRenderingMode.InjectCode); } else { sb.WriteCStyleStringLiteral(Value); sb.Append(", true)"); } context.BufferStatementFragment(sb.ToString()); if (ValueGenerator != null) { ValueGenerator.Value.GenerateCode(target, context); context.FlushBufferedStatement(); context.SetExpressionRenderingMode(oldMode); context.AddStatement(", false)"); } else { context.FlushBufferedStatement(); } }