/// <summary> /// Reads <see cref="Control"/> statement and modifies the context /// </summary> /// <param name="statement">A statement to process</param> /// <param name="context">A context to modify</param> public override void Read(Control statement, ICircuitContext context) { foreach (var param in statement.Parameters) { if (param is Models.Netlist.Spice.Objects.Parameters.AssignmentParameter ap) { string type = ap.Name.ToLower(); string initialValue = ap.Value; if (type == "v" && ap.Arguments.Count == 1) { context.SetICVoltage(ap.Arguments[0], initialValue); } else { context.Result.Validation.Add(new ValidationEntry(ValidationEntrySource.Reader, ValidationEntryLevel.Warning, ".IC supports only V(X)=Y", statement.LineInfo)); } } } }