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