1 interface inheriting from IMacroConfig
Microsoft.TemplateEngine.Orchestrator.RunnableProjects (1)
Abstractions\IGeneratedSymbolConfig.cs (1)
9public interface IGeneratedSymbolConfig : IMacroConfig
2 implementations of IMacroConfig
Microsoft.TemplateEngine.Orchestrator.RunnableProjects (2)
Macros\BaseMacroConfig.cs (2)
15internal abstract class BaseMacroConfig : IMacroConfig 44internal abstract class BaseMacroConfig<TMacro, TMacroConfig> : BaseMacroConfig, IMacroConfig
46 references to IMacroConfig
Microsoft.TemplateEngine.Orchestrator.RunnableProjects (46)
Abstractions\IDeferredMacro.cs (3)
15/// Creates <see cref="IMacroConfig"/> from <paramref name="rawConfig"/>. 21IMacroConfig CreateConfig(IEngineEnvironmentSettings environmentSettings, IMacroConfig rawConfig);
Abstractions\IDeterministicModeMacro.cs (2)
17void EvaluateConfigDeterministically(IEngineEnvironmentSettings environmentSettings, IVariableCollection variables, IMacroConfig config); 23internal interface IDeterministicModeMacro<T> : IMacro<T> where T : IMacroConfig
Abstractions\IGeneratedSymbolMacro.cs (3)
20IMacroConfig CreateConfig(IEngineEnvironmentSettings environmentSettings, IGeneratedSymbolConfig generatedSymbolConfig); 27public interface IGeneratedSymbolMacro<T> : IMacro<T> where T : IMacroConfig 31/// Method is needed for supporting <seealso cref="IMacro.EvaluateConfig(IEngineEnvironmentSettings, IVariableCollection, IMacroConfig)"/> invocation.
Abstractions\IMacro.cs (2)
21void EvaluateConfig(IEngineEnvironmentSettings environmentSettings, IVariableCollection vars, IMacroConfig config); 27public interface IMacro<T> : IMacro where T : IMacroConfig
ConfigModel\GeneratedSymbol.cs (2)
67string IMacroConfig.VariableName => Name; 69string IMacroConfig.Type => Generator;
GlobalRunConfig.cs (1)
22public IReadOnlyList<IMacroConfig> Macros { get; init; } = [];
MacroProcessingException.cs (2)
11internal MacroProcessingException(IMacroConfig config) : base(string.Format(LocalizableStrings.MacroProcessingException_Message, config.VariableName, config.Type)) 15internal MacroProcessingException(IMacroConfig config, Exception innerException) : base(string.Format(LocalizableStrings.MacroProcessingException_Message, config.VariableName, config.Type), innerException)
MacroProcessor.cs (16)
21IReadOnlyList<IMacroConfig> macroConfigs, 27foreach (IMacroConfig config in macroConfigs) 33HashSet<IMacroConfig> dependentMacros = GetDependentMacros(config, macroConfigs); 72internal static IReadOnlyList<IMacroConfig> SortMacroConfigsByDependencies(IReadOnlyList<string> symbols, IReadOnlyList<IMacroConfig> macroConfigs) 74IEnumerable<(IMacroConfig, HashSet<IMacroConfig>)> preparedMacroConfigs = macroConfigs.Select(mc => 81return (mc, new HashSet<IMacroConfig>()); 84DirectedGraph<IMacroConfig> parametersDependenciesGraph = new(preparedMacroConfigs.ToDictionary(mc => mc.Item1, mc => mc.Item2)); 85if (!parametersDependenciesGraph.TryGetTopologicalSort(out IReadOnlyList<IMacroConfig> sortedConfigs) && parametersDependenciesGraph.HasCycle(out IReadOnlyList<IMacroConfig> cycle)) 96private static HashSet<IMacroConfig> GetDependentMacros(IMacroConfig config, IReadOnlyList<IMacroConfig> allMacroConfigs) 98HashSet<IMacroConfig> dependents = new(); 106IMacroConfig? macro = allMacroConfigs.FirstOrDefault(mc => mc.VariableName == dependent);
Macros\BaseGeneratedSymbolMacro.cs (7)
14internal abstract class BaseGeneratedSymbolMacro<T> : BaseMacro<T>, IGeneratedSymbolMacro, IGeneratedSymbolMacro<T>, IDeferredMacro where T : BaseMacroConfig, IMacroConfig 17public IMacroConfig CreateConfig(IEngineEnvironmentSettings environmentSettings, IMacroConfig rawConfig) 33IMacroConfig IGeneratedSymbolMacro.CreateConfig(IEngineEnvironmentSettings environmentSettings, IGeneratedSymbolConfig generatedSymbolConfig) => CreateConfig(environmentSettings, generatedSymbolConfig); 41internal abstract class BaseNondeterministicMacro<T> : BaseGeneratedSymbolMacro<T>, IDeterministicModeMacro<T> where T : BaseMacroConfig, IMacroConfig 50internal abstract class BaseNondeterministicGenSymMacro<T> : BaseNondeterministicMacro<T>, IDeterministicModeMacro<T>, IDeterministicModeMacro where T : BaseMacroConfig, IMacroConfig 54public void EvaluateConfigDeterministically(IEngineEnvironmentSettings environmentSettings, IVariableCollection variables, IMacroConfig config)
Macros\BaseMacro.cs (2)
9internal abstract class BaseMacro<T> : IMacro<T> where T : BaseMacroConfig, IMacroConfig 18public void EvaluateConfig(IEngineEnvironmentSettings environmentSettings, IVariableCollection variableCollection, IMacroConfig config)
Macros\BaseMacroConfig.cs (1)
46where TMacroConfig : BaseMacroConfig<TMacro, TMacroConfig>, IMacroConfig
RunnableProjectConfig.cs (3)
348List<IMacroConfig> macros = new(); 479private List<IMacroConfig> ProduceGeneratedSymbolsMacroConfig() 484var generatedMacroConfigs = new List<IMacroConfig>();
RunnableProjectGenerator.cs (2)
134IReadOnlyList<IMacroConfig> sortedMacroConfigs = MacroProcessor.SortMacroConfigsByDependencies(templateConfig.GlobalOperationConfig.SymbolNames, templateConfig.GlobalOperationConfig.Macros); 311IReadOnlyList<IMacroConfig> sortedMacroConfigs = MacroProcessor.SortMacroConfigsByDependencies(runnableProjectConfig.GlobalOperationConfig.SymbolNames, runnableProjectConfig.GlobalOperationConfig.Macros);