<commit_before>// <copyright file="Compiler.cs" company="<NAME>">
//  Opus package
// </copyright>
// <summary>VisualCCommon package</summary>
// <author><NAME></author>
namespace VisualCCommon
{
    // NEW STYLE
#if true
    public sealed class CCompiler : C.ICompilerTool, Opus.Core.IToolSupportsResponseFile, Opus.Core.IToolRequiredEnvironmentVariables, Opus.Core.IToolEnvironmentPaths
    {
        private Opus.Core.IToolset toolset;
        private Opus.Core.StringArray requiredEnvironmentVariables = new Opus.Core.StringArray();

        public CCompiler(Opus.Core.IToolset toolset)
        {
            this.toolset = toolset;
            this.requiredEnvironmentVariables.Add("SystemRoot");
        }

        #region ICompilerTool Members

        string C.ICompilerTool.PreprocessedOutputSuffix
        {
            get
            {
                return ".i";
            }
        }

        string C.ICompilerTool.ObjectFileSuffix
        {
            get
            {
                return ".obj";
            }
        }

        string C.ICompilerTool.ObjectFileOutputSubDirectory
        {
            get
            {
                return "obj";
            }
        }

        Opus.Core.StringArray C.ICompilerTool.IncludePaths(Opus.Core.Target target)
        {
            string installPath = this.toolset.InstallPath((Opus.Core.BaseTarget)target);
            Opus.Core.StringArray includePaths = new Opus.Core.StringArray();
            includePaths.Add(System.IO.Path.Combine(installPath, "include"));
            return includePaths;
        }

        Opus.Core.StringArray C.ICompilerTool.IncludePathCompilerSwitches
        {
            get
            {
                return new Opus.Core.StringArray("-I");
            }
        }

        #endregion

        #region ITool Members

        string Opus.Core.ITool.Executable(Opus.Core.Target target)
        {
            string platformBinFolder = this.toolset.BinPath((Opus.Core.BaseTarget)target);
            return System.IO.Path.Combine(platformBinFolder, "cl.exe");
        }

        #endregion

        #region IToolSupportsResponseFile Members
<commit_msg>[050dev] More consistent include path switch for VisualC compilers with all other switches<commit_after>// <copyright file="Compiler.cs" company="<NAME>">
//  Opus package
// </copyright>
// <summary>VisualCCommon package</summary>
// <author><NAME></author>
namespace VisualCCommon
{
    // NEW STYLE
#if true
    public sealed class CCompiler : C.ICompilerTool, Opus.Core.IToolSupportsResponseFile, Opus.Core.IToolRequiredEnvironmentVariables, Opus.Core.IToolEnvironmentPaths
    {
        private Opus.Core.IToolset toolset;
        private Opus.Core.StringArray requiredEnvironmentVariables = new Opus.Core.StringArray();

        public CCompiler(Opus.Core.IToolset toolset)
        {
            this.toolset = toolset;
            this.requiredEnvironmentVariables.Add("SystemRoot");
        }

        #region ICompilerTool Members

        string C.ICompilerTool.PreprocessedOutputSuffix
        {
            get
            {
                return ".i";
            }
        }

        string C.ICompilerTool.ObjectFileSuffix
        {
            get
            {
                return ".obj";
            }
        }

        string C.ICompilerTool.ObjectFileOutputSubDirectory
        {
            get
            {
                return "obj";
            }
        }

        Opus.Core.StringArray C.ICompilerTool.IncludePaths(Opus.Core.Target target)
        {
            string installPath = this.toolset.InstallPath((Opus.Core.BaseTarget)target);
            Opus.Core.StringArray includePaths = new Opus.Core.StringArray();
            includePaths.Add(System.IO.Path.Combine(installPath, "include"));
            return includePaths;
        }

        Opus.Core.StringArray C.ICompilerTool.IncludePathCompilerSwitches
        {
            get
            {
                return new Opus.Core.StringArray("/I");
            }
        }

        #endregion

        #region ITool Members

        string Opus.Core.ITool.Executable(Opus.Core.Target target)
        {
            string platformBinFolder = this.toolset.BinPath((Opus.Core.BaseTarget)target);
            return System.IO.Path.Combine(platformBinFolder, "cl.exe");
        }

        #endregion

        #region IToolSupportsResponseFile Members

{'fraction_non_alphanumeric': 0.09220985691573927, 'fraction_numerical': 0.0006813536225300931, 'mean_word_length': 1.8690553745928338, 'pattern_counts': {'":': 0, '<': 19, '<?xml version=': 0, '>': 19, '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': '245321', 'n_tokens_mistral': 1201, 'n_tokens_neox': 1175, 'n_words': 198}