Exemplo n.º 1
0
 public override CodeGenerator DecorateCodeGenerator(CodeGenerator incomingBuilder, CodeGeneratorContext context)
 {
     if (incomingBuilder is CodeGenTestCodeGenerator)
     {
         return incomingBuilder;
     }
     else
     {
         return new CodeGenTestCodeGenerator(context);
     }
 }
Exemplo n.º 2
0
        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
                });
        }
Exemplo n.º 3
0
            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
                    });
            }
Exemplo n.º 4
0
        /// <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
                });
        }
Exemplo n.º 5
0
        /// <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);
 }