static LibraryDependencyTypeKeyword() { var emptyFlags = Enumerable.Empty <LibraryDependencyTypeFlag>(); Default = Declare( "default", flagsToAdd: new[] { LibraryDependencyTypeFlag.MainReference, LibraryDependencyTypeFlag.MainSource, LibraryDependencyTypeFlag.MainExport, LibraryDependencyTypeFlag.RuntimeComponent, LibraryDependencyTypeFlag.BecomesNupkgDependency, }, flagsToRemove: emptyFlags); Private = Declare( "private", flagsToAdd: new[] { LibraryDependencyTypeFlag.MainReference, LibraryDependencyTypeFlag.MainSource, LibraryDependencyTypeFlag.RuntimeComponent, LibraryDependencyTypeFlag.BecomesNupkgDependency, }, flagsToRemove: emptyFlags); Dev = Declare( "dev", flagsToAdd: new[] { LibraryDependencyTypeFlag.DevComponent, }, flagsToRemove: emptyFlags); Build = Declare( "build", flagsToAdd: new[] { LibraryDependencyTypeFlag.MainSource, LibraryDependencyTypeFlag.PreprocessComponent, }, flagsToRemove: emptyFlags); Preprocess = Declare( "preprocess", flagsToAdd: new[] { LibraryDependencyTypeFlag.PreprocessReference, }, flagsToRemove: emptyFlags); foreach (var fieldInfo in typeof(LibraryDependencyTypeFlag).GetTypeInfo().DeclaredFields) { if (fieldInfo.FieldType == typeof(LibraryDependencyTypeFlag)) { var flag = (LibraryDependencyTypeFlag)fieldInfo.GetValue(null); Declare( fieldInfo.Name, flagsToAdd: new[] { flag }, flagsToRemove: emptyFlags); Declare( fieldInfo.Name + "-off", flagsToAdd: emptyFlags, flagsToRemove: new[] { flag }); } } }
static LibraryDependencyTypeKeyword() { var emptyFlags = Enumerable.Empty<LibraryDependencyTypeFlag>(); Default = Declare( "default", flagsToAdd: new[] { LibraryDependencyTypeFlag.MainReference, LibraryDependencyTypeFlag.MainSource, LibraryDependencyTypeFlag.MainExport, LibraryDependencyTypeFlag.RuntimeComponent, LibraryDependencyTypeFlag.BecomesNupkgDependency, }, flagsToRemove: emptyFlags); Private = Declare( "private", flagsToAdd: new[] { LibraryDependencyTypeFlag.MainReference, LibraryDependencyTypeFlag.MainSource, LibraryDependencyTypeFlag.RuntimeComponent, LibraryDependencyTypeFlag.BecomesNupkgDependency, }, flagsToRemove: emptyFlags); Dev = Declare( "dev", flagsToAdd: new[] { LibraryDependencyTypeFlag.DevComponent, }, flagsToRemove: emptyFlags); Build = Declare( "build", flagsToAdd: new[] { LibraryDependencyTypeFlag.MainSource, LibraryDependencyTypeFlag.PreprocessComponent, }, flagsToRemove: emptyFlags); Preprocess = Declare( "preprocess", flagsToAdd: new[] { LibraryDependencyTypeFlag.PreprocessReference, }, flagsToRemove: emptyFlags); foreach (var fieldInfo in typeof(LibraryDependencyTypeFlag).GetTypeInfo().DeclaredFields) { if (fieldInfo.FieldType == typeof(LibraryDependencyTypeFlag)) { var flag = (LibraryDependencyTypeFlag)fieldInfo.GetValue(null); Declare( fieldInfo.Name, flagsToAdd: new[] { flag }, flagsToRemove: emptyFlags); Declare( fieldInfo.Name + "-off", flagsToAdd: emptyFlags, flagsToRemove: new[] { flag }); } } }