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) { // Build the string string code = Prefix + target.Content + ";"; // Calculate the line pragma including information about where the user-specified code starts and ends (for editors) CodeLinePragma pragma = context.GenerateLinePragma(target, Prefix.Length, target.Content.Length); // Add the statement context.AddStatement(code, pragma); }
public override void GenerateEndBlockCode(Block target, CodeGeneratorContext context) { if (context.Host.DesignTimeMode) { return; } var sb = new StringBuilder(); if (isExpression) { sb.Append(", false)"); context.SetExpressionRenderingMode(oldRenderingMode); } else { sb.Append("}), false)"); } context.AddStatement(sb.ToString()); context.TargetWriterName = oldTargetWriter; }
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(); } }