public override CodeGenerator DecorateCodeGenerator(CodeGenerator incomingBuilder, CodeGeneratorContext context) { if (incomingBuilder is CodeGenTestCodeGenerator) { return incomingBuilder; } else { return new CodeGenTestCodeGenerator(context); } }
public CodeGenerator DecorateCodeGenerator(CodeGenerator incomingGenerator, CodeGeneratorContext context) { var inheritedChunkTrees = GetInheritedChunkTrees(context.SourceFile); ChunkInheritanceUtility.MergeInheritedChunkTrees( context.ChunkTreeBuilder.ChunkTree, inheritedChunkTrees, _host.DefaultModel); return new MyCSharpCodeGenerator( context, _host.DefaultModel, _host.InjectAttribute, new GeneratedTagHelperAttributeContext { ModelExpressionTypeName = _host.ModelExpressionType, CreateModelExpressionMethodName = _host.CreateModelExpressionMethod }); }
public override CodeGenerator DecorateCodeGenerator( CodeGenerator incomingBuilder, CodeGeneratorContext context) { base.DecorateCodeGenerator(incomingBuilder, context); return new TestCSharpCodeGenerator( context, DefaultModel, "Microsoft.AspNet.Mvc.Razor.Internal.RazorInjectAttribute", new GeneratedTagHelperAttributeContext { ModelExpressionTypeName = ModelExpressionType, CreateModelExpressionMethodName = CreateModelExpressionMethod }); }
/// <inheritdoc /> public override CodeGenerator DecorateCodeGenerator( CodeGenerator incomingGenerator, CodeGeneratorContext context) { if (incomingGenerator == null) { throw new ArgumentNullException(nameof(incomingGenerator)); } if (context == null) { throw new ArgumentNullException(nameof(context)); } var inheritedChunkTrees = GetInheritedChunkTrees(context.SourceFile); ChunkInheritanceUtility.MergeInheritedChunkTrees( context.ChunkTreeBuilder.ChunkTree, inheritedChunkTrees, DefaultModel); return new MvcCSharpCodeGenerator( context, DefaultModel, InjectAttribute, new GeneratedTagHelperAttributeContext { ModelExpressionTypeName = ModelExpressionType, CreateModelExpressionMethodName = CreateModelExpressionMethod }); }
/// <summary> /// Gets an instance of the code generator and is provided an opportunity to decorate or replace it /// </summary> /// <param name="incomingBuilder">The code generator</param> /// <returns>Either the same code generator, after modifications, or a different code generator.</returns> public virtual CodeGenerator DecorateCodeGenerator( CodeGenerator incomingBuilder, CodeGeneratorContext context) { if (incomingBuilder == null) { throw new ArgumentNullException(nameof(incomingBuilder)); } return incomingBuilder; }
public override CodeGenerator DecorateCodeGenerator( CodeGenerator incomingBuilder, CodeGeneratorContext context) { return new AttributeChunkGeneratorReplacingCodeGenerator(context); }