コード例 #1
0
ファイル: BasicTests.cs プロジェクト: developermj/TypeGen
        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);
        }
コード例 #2
0
ファイル: RewriterBase.cs プロジェクト: developermj/TypeGen
        public virtual RawStatement RewriteRawStatement(RawStatement item)
        {
            var result = new RawStatement(item.Content)
            {
                ExtraData = RewriteExtraData(item)
            };

            return(result);
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        /// <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));
            }
        }