<commit_before>﻿using System;
using System.Diagnostics;
using Microsoft.Build.Framework;
using Microsoft.Build.Utilities;


namespace Shaspect.Builder
{
    public class ShaspectBuildTask : Task
    {
        [Required]
        public string AssemblyFile { get; set; }

        [Required]
        public string References { get; set; }

        public string KeyFile { get; set; }


        public override bool Execute()
        {
            try
            {
                var stopwatch = Stopwatch.StartNew();

                var injector = new AspectsInjector (AssemblyFile, References);
                if (injector.ProcessAssembly() == 0)
                {
                    Log.LogWarning (
                        "No aspects detected in {0}. You can uninstall Shaspect package for this assembly to speed up the build.",
                        AssemblyFile);
                }

                // TODO: specifying targets (properties, methods). Now done only for ctor. Don't forget about Exclude.
                // TODO: specifying targets by name (Namespace1.Namespace2.Class.*). Don't forget about Exclude.
                // TODO: Implement priorities (cut-through across all the nesting levels). Don't forget about Exclude.
                // TODO: inheritance
                // TODO: aspect on interfaces
                // TODO: aspect in a referenced assembly (assembly resolver); resolving using configuration from app.config
                // TODO: handle signed assemblies
                // TODO: optimize performance of the Builder
                // TODO: process only once (check if there's Shaspect.Implementation namespace there
                // TODO: support changing of method arguments (something like args.SetArgument (0, "12345") )
                // TODO: support async methods
                // TODO: support aspects on each yield return (now it's only supported as returning of IEnumerable<T> in return value)

                stopwatch.Stop();
                Log.LogMessage ("ShaspectBuildTask took {0}ms", stopwatch.ElapsedMilliseconds);

                return true;
            }
            catch (ApplicationException ex)
            {
                Log.LogError (ex.Message);
            }

            return false;
        }


    }
}<commit_msg>Delete TODO list<commit_after>﻿using System;
using System.Diagnostics;
using Microsoft.Build.Framework;
using Microsoft.Build.Utilities;


namespace Shaspect.Builder
{
    public class ShaspectBuildTask : Task
    {
        [Required]
        public string AssemblyFile { get; set; }

        [Required]
        public string References { get; set; }

        public string KeyFile { get; set; }


        public override bool Execute()
        {
            try
            {
                var stopwatch = Stopwatch.StartNew();

                var injector = new AspectsInjector (AssemblyFile, References);
                if (injector.ProcessAssembly() == 0)
                {
                    Log.LogWarning (
                        "No aspects detected in {0}. You can uninstall Shaspect package for this assembly to speed up the build.",
                        AssemblyFile);
                }

                stopwatch.Stop();
                Log.LogMessage ("ShaspectBuildTask took {0}ms", stopwatch.ElapsedMilliseconds);

                return true;
            }
            catch (ApplicationException ex)
            {
                Log.LogError (ex.Message);
            }

            return false;
        }


    }
}
{'fraction_non_alphanumeric': 0.07614213197969544, 'fraction_numerical': 0.003948110547095319, 'mean_word_length': 1.5966325036603222, 'pattern_counts': {'":': 0, '<': 4, '<?xml version=': 0, '>': 4, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4721721', 'n_tokens_mistral': 873, 'n_tokens_neox': 794, 'n_words': 277}