示例#1
0
        public static JavaClassImage RebuildClassImage(JavaClassImage image)
        {
            var builder = new JavaClassFileBuilder();
            var file    = builder.CreateClassFile(image);

            return(new JavaClassImage(file));
        }
示例#2
0
        /// <summary>
        /// Builds the class image and verifies the output of the file.
        /// </summary>
        /// <param name="image">The class to compile.</param>
        /// <param name="expectedOutput">The expected output of the file.</param>
        /// <param name="regex">Specifies if <paramref name="expectedOutput"/> should be interpreted as a regular expression pattern.</param>
        public void BuildAndVerifyOutput(JavaClassImage image, string expectedOutput, bool regex = false)
        {
            var builder = new JavaClassFileBuilder();
            var file    = builder.CreateClassFile(image);

            WriteAndVerifyOutput(file, expectedOutput, regex);
        }
示例#3
0
            public void Class_Test(string newLine, string indent, string ns, string name, Enums.AccessType access, params string[] imports)
            {
                //const string indent = "    ", newLine = "\n\r";
                var result = new JavaClassFileBuilder(indent, newLine)
                             .WithImports(imports.ToList())
                             .WithNamespace(ns).WithName(name)
                             .WithAccess(access)
                             .Build().Generate().ToString();

                var hasNamespace = !string.IsNullOrEmpty(ns);

                var expected = hasNamespace ? $"package {ns};{newLine}{newLine}" : "";

                if (imports.Length > 0)
                {
                    expected += $"import {string.Join($";{newLine}import ", imports)};{newLine}{newLine}";
                }

                var i = 0;

                expected += $"{access.AsLowerString()} class {name}{newLine}";
                expected  = Indent(expected, indent, i);
                expected += $"{{{newLine}";
                expected  = Indent(expected, indent, ++i);
                expected += $"{newLine}";
                expected  = Indent(expected, indent, --i);
                expected += "}";

#if DEBUG
                _output.WriteLine($"Expected:\n\n{expected}");
                _output.WriteLine($"Result:\n\n{result}");
#endif

                Assert.Equal(expected, result);
            }
 public DefaultOperandBuilder(JavaClassFileBuilder builder)
 {
     _builder = builder;
 }
示例#5
0
 public BuildingContext(JavaClassFileBuilder builder)
 {
     Builder = builder;
 }