public void TestRawStatements() { var c = new ClassType("test"); var x2 = "a" + new RawStatement("b"); var x3 = new RawStatement("a") + "b"; var s1 = new RawStatements() { Statements = { "xxx" } }; var s2 = new RawStatements("asd", new RawStatement("tttt")); s1.Add(s2); s1.Add(new TypescriptTypeReference(c)); s1.Add(":"); s1.Add(c); var g = new OutputGenerator(); g.Generate(s1); Assert.AreEqual("xxxasdtttttest:test", g.Formatter.Output.ToString()); var test2 = new RawStatements("t1 ", c, " t2"); g.Formatter.Output.Clear(); g.Generate(test2); Assert.AreEqual("t1 test t2", g.Output); }
public virtual RawStatement RewriteRawStatement(RawStatement item) { var result = new RawStatement(item.Content) { ExtraData = RewriteExtraData(item) }; return(result); }
public virtual BaseBuilder AddStatement(RawStatement statement) { if (!Prepared.Any((x) => x.Key == statement.Key)) { int indicies = GetIndicies(statement.Query, out string query); Prepared.Add(new PreparedStatements(statement.Key, query, indicies, new List <string>())); } return(this); }
/// <summary>Processes given set of statements.</summary> protected override void DoProcess() { var name = DeviceName; var nodes = RawStatement.Length == 5 ? GetNodeIds(1, 3).Concat(new[] { 0 }).ToArray() // substrate node not specified. : GetNodeIds(1, 4); // cannot check for model existence yet, defer checking for model later if (Errors == 0) { var modelToken = RawStatement.Last(); // capture Context.DeferredStatements.Add( new ModeledDeviceDeferedStatement <BjtParams>(Context.CurrentScope, (par, cb) => cb.AddDevice(nodes, new Bjt(par, name)), // deferred evaluation. modelToken)); } }