public JavaFile Interpret(string path) { JavaFile jfile = new JavaFile(); jfile.path = path; //Read file string file = ReadFile(path); //Package //Console.WriteLine("Package:"); jfile.package = GetPackage(file); //Console.WriteLine(jfile.package); //Imports //Console.WriteLine("Imports:"); jfile.imports = GetImports(file); /*foreach(string import in jfile.imports){ * Console.WriteLine(import); * }*/ //Classes //Console.WriteLine("Classes:"); jfile.classes = getCIEAsByKeyword("class", path, file); /*foreach(string clas in jfile.classes){ * Console.WriteLine(JavaCIEAHolder.getObject(clas).content); * }*/ //Interfaces //Console.WriteLine("Interfaces:"); jfile.annotations = getCIEAsByKeyword("@interface", path, file); jfile.interfaces = RemoveUnwantedInterfaces(getCIEAsByKeyword("interface", path, file), jfile.annotations); /*foreach(string clas in jfile.interfaces){ * Console.WriteLine(JavaCIEAHolder.getObject(clas).content); * }*/ //Enums //Console.WriteLine("Enums:"); jfile.enums = getCIEAsByKeyword("enum", path, file); /*foreach(string clas in jfile.enums){ * Console.WriteLine(JavaCIEAHolder.getObject(clas).content); * }*/ //Annotations //Console.WriteLine("Annotations:"); /*foreach(string clas in jfile.annotations){ * Console.WriteLine(JavaCIEAHolder.getObject(clas).content); * }*/ return(jfile); }
public bool tryAddJavaFile(string key, JavaFile value) { if (Enumerate(javaFilesDict).Any(jf => jf.Module == value.Module && jf.Path == value.Path)) { return(false); } javaVersion++; AddValue(javaFilesDict, key, value); return(true); }
// This file contains code that generates typesafe Java bindings for C# code in Unity. // Currently not used by anyone and is not maintained. record GeneratedJavaFile(string SourcePath, Location Location, JavaFile JavaFile) : GeneratedFile(SourcePath, Location);
public static void ResolveAndAddImports <T>(this JavaTemplateBase <T> template, JavaFile file) { var dependencies = template.GetTemplateDependencies().Select(template.ExecutionContext.FindTemplateInstance <ITemplate>).Distinct(); foreach (var import in template.ResolveAllImports()) { if (file.ImportExists(import) || template.Package == FixImport(import).RemoveSuffix("." + FixImport(import).Split('.').Last())) { continue; } file.AddImport($@" {import}"); } }