Пример #1
0
        public static string ObjectDump(Query query)
        {
            var v = new DumpVisitor();

            v.Visit(query);
            return(v.ToString());
        }
Пример #2
0
        private string GetQueryDump(Query query)
        {
            var v = new DumpVisitor();

            v.Visit(query);
            return(v.ToString());
        }
Пример #3
0
 public static string Dump(this object o, ShowIgnoredFields showIgnoredFields = ShowIgnoredFields.OnlyQueryables, bool showByteArrays = false)
 {
     using (HeavyProfiler.LogNoStackTrace("Dump"))
     {
         var od = new DumpVisitor(showIgnoredFields, showByteArrays);
         od.DumpObject(o);
         return(od.Sb.ToString());
     }
 }
Пример #4
0
 public static string Dump(this object o, bool showIgnoredFields = false, bool showByteArrays = false)
 {
     using (HeavyProfiler.LogNoStackTrace("Dump"))
     {
         var od = new DumpVisitor(showIgnoredFields, showByteArrays);
         od.DumpObject(o);
         return od.Sb?.ToString();
     }
 }
Пример #5
0
        void DumpUnitySceneRoot(UnitySceneRoot root)
        {
            var report = new Report("unity-scene-dump");

            report.UseConsole = false;

            var dumpVisitor = new DumpVisitor(report);

            dumpVisitor.Run(root);

            report.SaveReport("unity-scene.log");
        }
Пример #6
0
        public void Export()
        {
            // 유니티 씬을 제대로 읽었는지 확인
            {
                var report = new Report("UnitySceneDump");
                report.UseConsole = false;

                var dumpVisitor = new DumpVisitor(report);
                dumpVisitor.Run(unitySceneRoot);

                report.SaveReportFile("unity-scene.log");
            }

            // 유니티씬을 threejs 씬으로 변환
            ThreeSceneRoot threeSceneRoot = null;
            {
                var report = new Report("ThreeSceneConvert");
                report.UseConsole = false;
                var visitor = new ThreeSceneConvertVisitor(report);
                threeSceneRoot = visitor.Run(unitySceneRoot);
            }

            // threejs 씬을 json으로 뽑기
            {
                var sb     = new StringBuilder();
                var writer = new JsonWriter(sb);
                writer.PrettyPrint = true;
                writer.IndentValue = 2;

                threeSceneRoot.ExportJson(writer);
                var report = new Report("ThreeSceneJson");
                report.UseConsole = false;
                report.Info(sb.ToString());

                // 일반 텍스쳐 export
                foreach (var el in threeSceneRoot.SharedNodeTable.GetEnumerable <ImageElem>())
                {
                    el.ExpoortImageFile(pathHelper);
                }


                report.SaveReportFile("demo.json");
            }
        }
Пример #7
0
 public static string Dump(this object o, bool showIgnoredFields = false, bool showByteArrays = false)
 {
     var od = new DumpVisitor(showIgnoredFields, showByteArrays);
     od.DumpObject(o);
     return od.Sb.TryToString();
 }
Пример #8
0
        public void Dump(Grammar grammar, IWriter writer, bool _)
        {
            var dumper = new DumpVisitor(grammar, writer, 0);

            dumper.VisitGrammar();
        }
Пример #9
0
        public void Test1()
        {
            var dumpVisitor = new DumpVisitor();

            new BinaryExpression(new Literal("1"), new Literal("2"), "+").Accept(dumpVisitor);

            var dumpVisitor1 = new DumpVisitor();
            var d            = SimpleParser.Parse("1+2");

            d.Accept(dumpVisitor1);
            Assert.AreEqual("Binary(Literal(1)+Literal(2))", dumpVisitor.ToString());
            var dumpVisitor2 = new DumpVisitor();
            var d2           = SimpleParser.Parse("a+b*c");

            d2.Accept(dumpVisitor2);
            Assert.AreEqual("Binary(Variable(a)+Binary(Variable(b)*Variable(c)))", dumpVisitor2.ToString());

            var dumpVisitor3 = new DumpVisitor();
            var d3           = SimpleParser.Parse("(a+b)*c");

            d3.Accept(dumpVisitor3);
            Assert.AreEqual("Binary(Binary(Variable(a)+Variable(b))*Variable(c))", dumpVisitor3.ToString());

            var dumpVisitor4 = new DumpVisitor();
            var d4           = SimpleParser.Parse("(1+b)/c");

            d4.Accept(dumpVisitor4);
            Assert.AreEqual("Binary(Binary(Literal(1)+Variable(b))/Variable(c))", dumpVisitor4.ToString());


            var dumpVisitor5 = new DumpVisitor();
            var d5           = SimpleParser.Parse("(1+a)*(b+c)+2/3");

            d5.Accept(dumpVisitor5);
            Assert.AreEqual(
                "Binary(Binary(Binary(Literal(1)+Variable(a))*Binary(Variable(b)+Variable(c)))+Binary(Literal(2)/Literal(3)))",
                dumpVisitor5.ToString());

            var dumpVisitor6 = new DumpVisitor();
            var d6           = SimpleParser.Parse("((a+b)+c)*d");

            d6.Accept(dumpVisitor6);
            Assert.AreEqual(
                "Binary(Binary(Binary(Variable(a)+Variable(b))+Variable(c))*Variable(d))",
                dumpVisitor6.ToString());

            var dumpVisitor7 = new DumpVisitor();
            var d7           = SimpleParser.Parse("((a+b)*(c+c))*d");

            d7.Accept(dumpVisitor7);
            Assert.AreEqual(
                "Binary(Binary(Binary(Variable(a)+Variable(b))*Binary(Variable(c)+Variable(c)))*Variable(d))",
                dumpVisitor7.ToString());

            var dumpVisitor8 = new DumpVisitor();
            var d8           = SimpleParser.Parse("((1+4*b/c)*(3/c+d/5))*4");

            d8.Accept(dumpVisitor8);
            Assert.AreEqual(
                "Binary(Binary(Binary(Literal(1)+Binary(Binary(Literal(4)*Variable(b))/Variable(c)))*Binary(Binary(Literal(3)/Variable(c))+Binary(Variable(d)/Literal(5))))*Literal(4))",
                dumpVisitor8.ToString());
        }