public void CompileVariableDecl(VariableDecl varDecl)
        {
            XmlElement tmpElement = document.CreateElement("VariableDecl");

            ProcessPropertyInitializers(tmpElement, varDecl.Initializers);
            currentElement.AppendChild(tmpElement);
        }
Exemple #2
0
        public void VariableSetTest()
        {
            // Create a new text document
            TextDocument td = new TextDocument();

            td.New();

            // Create a variable declaration
            VariableDecl vd = new VariableDecl(td, VariableValueType.String, "test");

            td.VariableDeclarations.Add(vd);
            // add a variable-set field
            Paragraph p1 = new Paragraph(td);

            p1.Content.Add(new VariableSet(td, vd, "test variable-set"));
            td.Content.Add(p1);

            // saveload test
            using (IPackageWriter writer = new OnDiskPackageWriter())
            {
                td.Save(AARunMeFirstAndOnce.outPutFolder + "varset.odt", new OpenDocumentTextExporter(writer));
            }
            using (IPackageReader reader = new OnDiskPackageReader())
            {
                td.Load(AARunMeFirstAndOnce.outPutFolder + "varset.odt", new OpenDocumentImporter(reader));
                using (IPackageWriter writer = new OnDiskPackageWriter())
                {
                    td.Save(AARunMeFirstAndOnce.outPutFolder + "varset2.odt", new OpenDocumentTextExporter(writer));
                }
            }
        }
Exemple #3
0
        public void VariableDeclTest()
        {
            // Create a new text document
            TextDocument td = new TextDocument();

            td.New();

            // Declare two variables
            VariableDecl vd  = new VariableDecl(td, VariableValueType.String, "test");
            VariableDecl vd2 = new VariableDecl(td, VariableValueType.Float, "12.3");

            td.VariableDeclarations.Add(vd);
            td.VariableDeclarations.Add(vd2);

            td.SaveTo(AARunMeFirstAndOnce.outPutFolder + "vardecls.odt");

            TextDocument td2 = new TextDocument();

            // Reload the document and make some changes
            td2.Load(AARunMeFirstAndOnce.outPutFolder + "vardecls.odt");
            td2.VariableDeclarations[0].Name = "xyz";
            td2.VariableDeclarations.Add(new VariableDecl(td, VariableValueType.String, "test222"));

            // Unzip the document and check its content.xml file!
            td2.SaveTo(AARunMeFirstAndOnce.outPutFolder + "vardecls2.odt");
        }
Exemple #4
0
        public void VariableDeclTest()
        {
            // Create a new text document
            TextDocument td = new TextDocument();

            td.New();

            // Declare two variables
            VariableDecl vd  = new VariableDecl(td, VariableValueType.String, "test");
            VariableDecl vd2 = new VariableDecl(td, VariableValueType.Float, "12.3");

            td.VariableDeclarations.Add(vd);
            td.VariableDeclarations.Add(vd2);

            using (IPackageWriter writer = new OnDiskPackageWriter())
            {
                td.Save(AARunMeFirstAndOnce.outPutFolder + "vardecls.odt", new OpenDocumentTextExporter(writer));
            }

            TextDocument td2 = new TextDocument();

            // Reload the document and make some changes
            using (IPackageReader reader = new OnDiskPackageReader())
            {
                td2.Load(AARunMeFirstAndOnce.outPutFolder + "vardecls.odt", new OpenDocumentImporter(reader));
                td2.VariableDeclarations[0].Name = "xyz";
                td2.VariableDeclarations.Add(new VariableDecl(td, VariableValueType.String, "test222"));

                // Unzip the document and check its content.xml file!
                using (IPackageWriter writer = new OnDiskPackageWriter())
                {
                    td2.Save(AARunMeFirstAndOnce.outPutFolder + "vardecls2.odt", new OpenDocumentTextExporter(writer));
                }
            }
        }
Exemple #5
0
        /* creates new list of variables declaration from old List<VariableDecl> and new VariableDecl */
        private List <VariableDecl> VariableDecls(object decls, VariableDecl vardecl)
        {
            var newdecls = (decls != null)?(new List <VariableDecl>((List <VariableDecl>)decls)):(new List <VariableDecl>());

            if (vardecl != null)
            {
                newdecls.Insert(0, vardecl);
            }
            return(newdecls);
        }
Exemple #6
0
        /// <summary>
        /// Generates test case code for the specified code model.
        /// </summary>
        /// <param name="cmg">The code model for which to create code.</param>
        /// <returns>Root node of the AST.</returns>
        public static Node GenerateTests(CodeModelGo cmg)
        {
            var file = new File();

            var packageName = $"{cmg.Namespace}tests";

            file.AddChild(new Comment($"Package {packageName} contains test functions for package {cmg.Namespace}."));
            file.AddChild(new Package(packageName));
            var imports = GetImports(cmg);

            file.AddChild(imports);
            file.AddChild(new Terminal());

            TestFunctionRpc.TypeAddedEvent = (Core.Model.IModelType modelType) =>
            {
                if (modelType is PrimaryTypeGo)
                {
                    var ptg = modelType as PrimaryTypeGo;
                    if (!string.IsNullOrWhiteSpace(ptg.Import))
                    {
                        var imp = new ImportEntry(ptg.Import);
                        if (!imports.Contains(imp))
                        {
                            imports.AddChild(imp);
                        }
                    }
                }
            };

            file.AddChild(VariableDecl.Generate(LoggerVarName, "*log.Logger"));
            file.AddChild(new Terminal());

            var rpcTypeName = cmg.Name;
            var suiteDef    = GetServerReceiver(rpcTypeName);

            file.AddChild(new Comment($"{suiteDef.Item2} is used to dispatch functions calls via JSON-RPC."));
            file.AddChild(suiteDef.Item1);
            file.AddChild(new Terminal());

            file.AddChild(new Comment("RegisterServer enables RPC."));
            file.AddChild(GetRegisterServer(suiteDef.Item2));
            file.AddChild(new Terminal());

            var goMethods = cmg.Methods.Cast <MethodGo>().OrderBy(mg => mg.SerializedName.ToString());

            foreach (var method in goMethods)
            {
                var testFunc = TestFunctionRpc.Generate(method, rpcTypeName, RawResponseTypeName, ToRawResponseFuncName, LoggerVarName);
                file.AddChild(new Comment($"{testFunc.Item2} is a test function for the matching operation ID."));
                file.AddChild(testFunc.Item1);
                file.AddChild(new Terminal());
            }

            return(file);
        }
Exemple #7
0
        public void CompileVariableDecl(VariableDecl varDecl)
        {
            textWriter.Write("var ");

            for (int i = 0; i < varDecl.Initializers.Length; ++i)
            {
                if (i > 0)
                {
                    textWriter.Write(", ");
                }
                DumpPropertyInitializer(varDecl.Initializers[i]);
            }

            textWriter.WriteLine(";");
        }
Exemple #8
0
            public override bool Equals(object obj)
            {
                if (!(obj is VariableDecl))
                {
                    return(false);
                }
                VariableDecl other = (VariableDecl)obj;

                if (Field != other.Field ||
                    Local != other.Local ||
                    (Base == null) != (other.Base == null))
                {
                    return(false);
                }
                if (Base == null)
                {
                    return(true);
                }
                return(Base == other.Base);
            }
Exemple #9
0
        public void VariableSetTest()
        {
            // Create a new text document
            TextDocument td = new TextDocument();

            td.New();

            // Create a variable declaration
            VariableDecl vd = new VariableDecl(td, VariableValueType.String, "test");

            td.VariableDeclarations.Add(vd);
            // add a variable-set field
            Paragraph p1 = new Paragraph(td);

            p1.Content.Add(new VariableSet(td, vd, "test variable-set"));
            td.Content.Add(p1);

            // saveload test
            td.SaveTo(AARunMeFirstAndOnce.outPutFolder + "varset.odt");
            td.Load(AARunMeFirstAndOnce.outPutFolder + "varset.odt");
            td.SaveTo(AARunMeFirstAndOnce.outPutFolder + "varset2.odt");
        }
 public VariableDecl(AFieldDecl field, AALocalDecl local, VariableDecl @base)
 {
     Field = field;
     Local = local;
     Base = @base;
 }
 public override void OutAStructLvalue(AStructLvalue node)
 {
     currentDecl = new VariableDecl(null, data.StructFieldLinks[node], currentDecl);
 }
 public override void OutALocalLvalue(ALocalLvalue node)
 {
     currentDecl = new VariableDecl(null, data.LocalLinks[node], null);
 }
 public override void OutAFieldLvalue(AFieldLvalue node)
 {
     currentDecl = new VariableDecl(data.FieldLinks[node], null, null);
 }
Exemple #14
0
 public override void OutAFieldLvalue(AFieldLvalue node)
 {
     currentDecl = new VariableDecl(data.FieldLinks[node], null, null);
 }
Exemple #15
0
 public override void OutALocalLvalue(ALocalLvalue node)
 {
     currentDecl = new VariableDecl(null, data.LocalLinks[node], null);
 }
Exemple #16
0
 public VariableDecl(AFieldDecl field, AALocalDecl local, VariableDecl @base)
 {
     Field = field;
     Local = local;
     Base  = @base;
 }
Exemple #17
0
 public override void OutAStructLvalue(AStructLvalue node)
 {
     currentDecl = new VariableDecl(null, data.StructFieldLinks[node], currentDecl);
 }