示例#1
0
        /// <summary>
        /// Adds a "/features:" switch to the command line for each provided feature.
        /// </summary>
        internal static void AddFeatures(CommandLineBuilderExtension commandLine, string?features)
        {
            if (RoslynString.IsNullOrEmpty(features))
            {
                return;
            }

            foreach (var feature in CompilerOptionParseUtilities.ParseFeatureFromMSBuild(features))
            {
                commandLine.AppendSwitchIfNotNull("/features:", feature.Trim());
            }
        }
        protected void ReadFeatures()
        {
            var features = Project.ReadPropertyString(PropertyNames.Features);

            if (!string.IsNullOrWhiteSpace(features))
            {
                foreach (var feature in CompilerOptionParseUtilities.ParseFeatureFromMSBuild(features))
                {
                    Add("features", feature);
                }
            }
        }
示例#3
0
        /// <summary>
        /// Adds a "/features:" switch to the command line for each provided feature.
        /// </summary>
        /// <param name="commandLine"></param>
        private void AddFeatures(CommandLineBuilderExtension commandLine)
        {
            var features = Features;

            if (string.IsNullOrEmpty(features))
            {
                return;
            }

            foreach (var feature in CompilerOptionParseUtilities.ParseFeatureFromMSBuild(features))
            {
                commandLine.AppendSwitchIfNotNull("/features:", feature.Trim());
            }
        }
 internal static ImmutableDictionary <string, string> ParseFeatures(List <string> features)
 {
     ImmutableDictionary <string, string> .Builder builder = ImmutableDictionary.CreateBuilder <string, string>();
     CompilerOptionParseUtilities.ParseFeatures(builder, features);
     return(builder.ToImmutable());
 }