Skip to content

Commit

Permalink
Updates
Browse files Browse the repository at this point in the history
  • Loading branch information
Codelisk committed Aug 14, 2024
1 parent 21bd23c commit 2349f55
Show file tree
Hide file tree
Showing 6 changed files with 121 additions and 3 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Text;
using Codelisk.GeneratorAttributes;
using Codelisk.GeneratorAttributes.WebAttributes.Controller;
using Codelisk.GeneratorAttributes.WebAttributes.Dto;
using Generators.Base.Extensions.New;
using Microsoft.CodeAnalysis;
using Microsoft.CodeAnalysis.CSharp.Syntax;

namespace Foundation.Crawler.Extensions.New.AttributeFinder
{
public static class ControllerAttributeFinderExtensions
{
public static IncrementalValueProvider<
ImmutableArray<ClassDeclarationSyntax>
> DefaultControllers(this IncrementalGeneratorInitializationContext context)
{
var defaultControllers = context
.SyntaxProvider.ForAttributeWithMetadataName(
typeof(DefaultControllerAttribute).FullName,
static (n, _) => n is ClassDeclarationSyntax,
static (context, cancellationToken) =>
{
ClassDeclarationSyntax classDeclarationSyntax = (ClassDeclarationSyntax)
context.TargetNode;

return classDeclarationSyntax.HasAttribute<DefaultControllerAttribute>()
? classDeclarationSyntax
: null;
}
)
.Where(static typeDeclaration => typeDeclaration is not null)
.Collect();

return defaultControllers!;
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Text;
using Codelisk.GeneratorAttributes.WebAttributes.Controller;
using Codelisk.GeneratorAttributes.WebAttributes.Manager;
using Generators.Base.Extensions.New;
using Microsoft.CodeAnalysis;
using Microsoft.CodeAnalysis.CSharp.Syntax;

namespace Foundation.Crawler.Extensions.New.AttributeFinder
{
public static class ManagerAttributeFinderExtensions
{
public static IncrementalValueProvider<
ImmutableArray<ClassDeclarationSyntax>
> DefaultManagers(this IncrementalGeneratorInitializationContext context)
{
var defaultControllers = context
.SyntaxProvider.ForAttributeWithMetadataName(
typeof(DefaultManagerAttribute).FullName,
static (n, _) => n is ClassDeclarationSyntax,
static (context, cancellationToken) =>
{
ClassDeclarationSyntax classDeclarationSyntax = (ClassDeclarationSyntax)
context.TargetNode;

return classDeclarationSyntax.HasAttribute<DefaultManagerAttribute>()
? classDeclarationSyntax
: null;
}
)
.Where(static typeDeclaration => typeDeclaration is not null)
.Collect();

return defaultControllers!;
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Text;
using Codelisk.GeneratorAttributes.WebAttributes.Manager;
using Codelisk.GeneratorAttributes.WebAttributes.Repository;
using Generators.Base.Extensions.New;
using Microsoft.CodeAnalysis;
using Microsoft.CodeAnalysis.CSharp.Syntax;

namespace Foundation.Crawler.Extensions.New.AttributeFinder
{
public static class RepositoryAttributeFinderExtensions
{
public static IncrementalValueProvider<
ImmutableArray<ClassDeclarationSyntax>
> DefaultRepositories(this IncrementalGeneratorInitializationContext context)
{
var defaultControllers = context
.SyntaxProvider.ForAttributeWithMetadataName(
typeof(DefaultRepositoryAttribute).FullName,
static (n, _) => n is ClassDeclarationSyntax,
static (context, cancellationToken) =>
{
ClassDeclarationSyntax classDeclarationSyntax = (ClassDeclarationSyntax)
context.TargetNode;

return classDeclarationSyntax.HasAttribute<DefaultRepositoryAttribute>()
? classDeclarationSyntax
: null;
}
)
.Where(static typeDeclaration => typeDeclaration is not null)
.Collect();

return defaultControllers!;
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ public override void Initialize(IncrementalGeneratorInitializationContext contex
{
var dtos = context.Dtos();
var compilationAndClasses = context.CompilationProvider.Combine(dtos);
context.RegisterSourceOutput(
context.RegisterImplementationSourceOutput(
compilationAndClasses,
static (sourceProductionContext, compilationAndClasses) =>
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ public override void Initialize(IncrementalGeneratorInitializationContext contex
{
var dtos = context.Dtos();
var compilationAndClasses = context.CompilationProvider.Combine(dtos);
context.RegisterSourceOutput(
context.RegisterImplementationSourceOutput(
compilationAndClasses,
static (sourceProductionContext, compilationAndClasses) =>
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ public override void Initialize(IncrementalGeneratorInitializationContext contex
{
var dtos = context.Dtos();
var compilationAndClasses = context.CompilationProvider.Combine(dtos);
context.RegisterSourceOutput(
context.RegisterImplementationSourceOutput(
compilationAndClasses,
static (sourceProductionContext, compilationAndClasses) =>
{
Expand Down

0 comments on commit 2349f55

Please sign in to comment.