public static JavaClassImage RebuildClassImage(JavaClassImage image) { var builder = new JavaClassFileBuilder(); var file = builder.CreateClassFile(image); return(new JavaClassImage(file)); }
/// <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); }
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; }
public BuildingContext(JavaClassFileBuilder builder) { Builder = builder; }