Task <RichGenerationResult> IRichCodeGenerator.GenerateRichAsync(TransformationContext context, IProgress <Diagnostic> progress, CancellationToken cancellationToken)
        {
            var richGenerationContext = new RichGenerationContext(context, progress, cancellationToken);

            Generate(richGenerationContext);
            var result = richGenerationContext.CreateResult();

            return(Task.FromResult(result));
        }
        protected override void Generate(RichGenerationContext context)
        {
            if (!(context.TransformationContext.ProcessingNode is ClassDeclarationSyntax classDeclaration))
            {
                return;
            }
            var partial         = SyntaxFactory.ClassDeclaration(classDeclaration.Identifier);
            var namespaceSyntax =
                SyntaxFactory.NamespaceDeclaration(
                    SyntaxFactory.ParseName(Namespace))
                .AddMembers(partial);

            context.AddMember(namespaceSyntax);
        }
Esempio n. 3
0
        protected override void Generate(RichGenerationContext context)
        {
            var attribute = SyntaxFactory.Attribute(SyntaxFactory.ParseName(Attribute));

            context.AddAttribute(attribute);
        }
        protected override void Generate(RichGenerationContext context)
        {
            var externAlias = SyntaxFactory.ExternAliasDirective(Extern);

            context.AddExtern(externAlias);
        }
 protected abstract void Generate(RichGenerationContext context);
Esempio n. 6
0
        protected override void Generate(RichGenerationContext context)
        {
            var usingSyntax = SyntaxFactory.UsingDirective(SyntaxFactory.ParseName(Using));

            context.AddUsing(usingSyntax);
        }