/// <summary> /// Construct data from used components with ISobaCLoader. /// </summary> /// <param name="cLoader"></param> public Inspector(ISobaCLoader cLoader) { this.cLoader = cLoader; foreach (IComponent c in cLoader.Registered) { #if DEBUG LSender.Send(this, $"extracting from '{c.GetType().Name}'", MsgLevel.Trace); #endif Extract(c, data); } if (data.Count < 1) { return; } // Aliases to components foreach (var root in data[new NodeIdent()]) { if (root.Aliases == null) { continue; } foreach (string alias in root.Aliases) { data[new NodeIdent(alias, root.Link.method, root.Link.className)] = data[root.Link]; //shallow copies } } }
public Binder(ICommand cmd, ISobaCLoader loader) { Cmd = cmd ?? throw new ArgumentNullException(nameof(cmd)); cLoader = loader ?? throw new ArgumentNullException(nameof(loader)); projects = new Dictionary <string, EOProject>(); attachLoggingEvent(); }
public ToolContext(IEnvironment env) { Log.Trace("Initialization of the clean context for testing."); var soba = new Soba(MSBuild.MakeEvaluator(env, uvars), uvars); Bootloader._.Configure(soba); cloader = soba; inspector = new Inspector(soba); script = soba; msbuild = soba.EvMSBuild; }
internal Binder(ICommand cmd, ISobaCLoader loader, CancelBuildState state) : this(cmd, loader) { buildState = state ?? throw new ArgumentNullException(nameof(state)); }