mirror of
				https://gitlab.com/Kwoth/nadekobot.git
				synced 2025-11-03 16:24:27 -05:00 
			
		
		
		
	Cleaning up projects, project is building
This commit is contained in:
		@@ -6,8 +6,6 @@ using Microsoft.CodeAnalysis;
 | 
			
		||||
using Microsoft.CodeAnalysis.CSharp;
 | 
			
		||||
using Microsoft.CodeAnalysis.CSharp.Syntax;
 | 
			
		||||
using Microsoft.CodeAnalysis.Text;
 | 
			
		||||
using System.Collections.Generic;
 | 
			
		||||
using System.Linq;
 | 
			
		||||
using System.Text;
 | 
			
		||||
 | 
			
		||||
namespace Cloneable
 | 
			
		||||
@@ -23,54 +21,60 @@ namespace Cloneable
 | 
			
		||||
        private const string CLONE_ATTRIBUTE_STRING = "CloneAttribute";
 | 
			
		||||
        private const string IGNORE_CLONE_ATTRIBUTE_STRING = "IgnoreCloneAttribute";
 | 
			
		||||
 | 
			
		||||
        private const string CLONEABLE_ATTRIBUTE_TEXT = @"// <AutoGenerated/>
 | 
			
		||||
using System;
 | 
			
		||||
        private const string CLONEABLE_ATTRIBUTE_TEXT = $$"""
 | 
			
		||||
            // <AutoGenerated/>
 | 
			
		||||
            using System;
 | 
			
		||||
            
 | 
			
		||||
            namespace {{CLONEABLE_NAMESPACE}}
 | 
			
		||||
            {
 | 
			
		||||
                [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct, Inherited = true, AllowMultiple = false)]
 | 
			
		||||
                internal sealed class {{CLONEABLE_ATTRIBUTE_STRING}} : Attribute
 | 
			
		||||
                {
 | 
			
		||||
                    public {{CLONEABLE_ATTRIBUTE_STRING}}()
 | 
			
		||||
                    {
 | 
			
		||||
                    }
 | 
			
		||||
            
 | 
			
		||||
                    public bool {{EXPLICIT_DECLARATION_KEY_STRING}} { get; set; }
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
namespace " + CLONEABLE_NAMESPACE + @"
 | 
			
		||||
{
 | 
			
		||||
    [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct, Inherited = true, AllowMultiple = false)]
 | 
			
		||||
    public sealed class " + CLONEABLE_ATTRIBUTE_STRING + @" : Attribute
 | 
			
		||||
    {
 | 
			
		||||
        public " + CLONEABLE_ATTRIBUTE_STRING + @"()
 | 
			
		||||
        {
 | 
			
		||||
        }
 | 
			
		||||
            """;
 | 
			
		||||
 | 
			
		||||
        public bool " + EXPLICIT_DECLARATION_KEY_STRING + @" { get; set; }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
";
 | 
			
		||||
        private const string CLONE_PROPERTY_ATTRIBUTE_TEXT = $$"""
 | 
			
		||||
            // <AutoGenerated/>
 | 
			
		||||
            using System;
 | 
			
		||||
            
 | 
			
		||||
            namespace {{CLONEABLE_NAMESPACE}}
 | 
			
		||||
            {
 | 
			
		||||
                [AttributeUsage(AttributeTargets.Property, Inherited = true, AllowMultiple = false)]
 | 
			
		||||
                internal sealed class {{CLONE_ATTRIBUTE_STRING}} : Attribute
 | 
			
		||||
                {
 | 
			
		||||
                    public {{CLONE_ATTRIBUTE_STRING}}()
 | 
			
		||||
                    {
 | 
			
		||||
                    }
 | 
			
		||||
            
 | 
			
		||||
                    public bool {{PREVENT_DEEP_COPY_KEY_STRING}} { get; set; }
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
        private const string CLONE_PROPERTY_ATTRIBUTE_TEXT = @"// <AutoGenerated/>
 | 
			
		||||
using System;
 | 
			
		||||
            """;
 | 
			
		||||
 | 
			
		||||
namespace " + CLONEABLE_NAMESPACE + @"
 | 
			
		||||
{
 | 
			
		||||
    [AttributeUsage(AttributeTargets.Property, Inherited = true, AllowMultiple = false)]
 | 
			
		||||
    public sealed class " + CLONE_ATTRIBUTE_STRING + @" : Attribute
 | 
			
		||||
    {
 | 
			
		||||
        public " + CLONE_ATTRIBUTE_STRING + @"()
 | 
			
		||||
        {
 | 
			
		||||
        }
 | 
			
		||||
        private const string IGNORE_CLONE_PROPERTY_ATTRIBUTE_TEXT = $$"""
 | 
			
		||||
            // <AutoGenerated/>
 | 
			
		||||
            using System;
 | 
			
		||||
            
 | 
			
		||||
            namespace {{CLONEABLE_NAMESPACE}}
 | 
			
		||||
            {
 | 
			
		||||
                [AttributeUsage(AttributeTargets.Property, Inherited = true, AllowMultiple = false)]
 | 
			
		||||
                internal sealed class {{IGNORE_CLONE_ATTRIBUTE_STRING}} : Attribute
 | 
			
		||||
                {
 | 
			
		||||
                    public {{IGNORE_CLONE_ATTRIBUTE_STRING}}()
 | 
			
		||||
                    {
 | 
			
		||||
                    }
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
        public bool " + PREVENT_DEEP_COPY_KEY_STRING + @" { get; set; }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
";
 | 
			
		||||
 | 
			
		||||
        private const string IGNORE_CLONE_PROPERTY_ATTRIBUTE_TEXT = @"// <AutoGenerated/>
 | 
			
		||||
using System;
 | 
			
		||||
 | 
			
		||||
namespace " + CLONEABLE_NAMESPACE + @"
 | 
			
		||||
{
 | 
			
		||||
    [AttributeUsage(AttributeTargets.Property, Inherited = true, AllowMultiple = false)]
 | 
			
		||||
    public sealed class " + IGNORE_CLONE_ATTRIBUTE_STRING + @" : Attribute
 | 
			
		||||
    {
 | 
			
		||||
        public " + IGNORE_CLONE_ATTRIBUTE_STRING + @"()
 | 
			
		||||
        {
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
";
 | 
			
		||||
            """;
 | 
			
		||||
 | 
			
		||||
        private INamedTypeSymbol? _cloneableAttribute;
 | 
			
		||||
        private INamedTypeSymbol? _ignoreCloneAttribute;
 | 
			
		||||
 
 | 
			
		||||
@@ -1,9 +1,17 @@
 | 
			
		||||
<Project Sdk="Microsoft.NET.Sdk">
 | 
			
		||||
 | 
			
		||||
    <PropertyGroup>
 | 
			
		||||
        <TargetFramework>net7.0</TargetFramework>
 | 
			
		||||
        <TargetFramework>netstandard2.0</TargetFramework>
 | 
			
		||||
        <LangVersion>latest</LangVersion>
 | 
			
		||||
        <IncludeBuildOutput>false</IncludeBuildOutput>
 | 
			
		||||
        <IsRoslynComponent>true</IsRoslynComponent>
 | 
			
		||||
        <EnforceExtendedAnalyzerRules>true</EnforceExtendedAnalyzerRules>
 | 
			
		||||
        <ImplicitUsings>enable</ImplicitUsings>
 | 
			
		||||
        <Nullable>enable</Nullable>
 | 
			
		||||
    </PropertyGroup>
 | 
			
		||||
 | 
			
		||||
    <ItemGroup>
 | 
			
		||||
        <PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="4.4.0" PrivateAssets="all" />
 | 
			
		||||
        <PackageReference Include="Microsoft.CodeAnalysis.Analyzers" Version="3.3.4" PrivateAssets="all" />
 | 
			
		||||
    </ItemGroup>
 | 
			
		||||
</Project>
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user