public void Process(string inputXmlFile, GenBase [] gens, string outputXmlFile, int reportVerbosity) { switch (reportVerbosity) { case 0: break; case 1: Log.Verbosity = Log.LoggingLevel.Error; break; case 2: Log.Verbosity = Log.LoggingLevel.Warning; break; default: Log.Verbosity = Log.LoggingLevel.Debug; break; } var api = new JavaApi(); api.LoadReferences(gens); api.Load(inputXmlFile); api.StripNonBindables(); api.Resolve(); api.CreateGenericInheritanceMapping(); api.MarkOverrides(); api.FindDefects(); api.Save(outputXmlFile); }
public static void LoadReferences(this JavaApi api, IEnumerable <GenBase> gens) { JavaPackage pkg = null; foreach (var gen in gens.Where(_ => _.IsAcw)) { pkg = api.Packages.FirstOrDefault(_ => _.Name == gen.PackageName); if (pkg == null) { pkg = new JavaPackage(api) { Name = gen.PackageName }; api.Packages.Add(pkg); } if (gen is InterfaceGen) { var iface = new JavaInterface(pkg); pkg.Types.Add(iface); iface.Load((InterfaceGen)gen); } else if (gen is ClassGen) { var kls = new JavaClass(pkg); pkg.Types.Add(kls); kls.Load((ClassGen)gen); } else { throw new InvalidOperationException(); } api.LoadReferences(gen.NestedTypes); } }
public void Process(string inputXmlFile, GenBase [] gens, string outputXmlFile) { var api = new JavaApi(); api.LoadReferences(gens); api.Load(inputXmlFile); api.Resolve(); api.CreateGenericInheritanceMapping(); api.MarkOverrides(); api.FindDefects(); api.Save(outputXmlFile); }
public static void LoadReferences(this JavaApi api, CodeGenerationOptions opt, IEnumerable <GenBase> gens) { JavaPackage pkg = null; foreach (var gen in gens.Where(_ => _.IsAcw)) { if (!api.Packages.TryGetValue(gen.PackageName, out pkg)) { pkg = new JavaPackage(api) { Name = gen.PackageName }; api.Packages.Add(pkg.Name, pkg); } if (gen is InterfaceGen iface_gen) { var iface = new JavaInterface(pkg); iface.Load(iface_gen); pkg.AddType(iface); } else if (gen is ClassGen class_gen) { var kls = new JavaClass(pkg); kls.Load(opt, class_gen); pkg.AddType(kls); } else { throw new InvalidOperationException(); } api.LoadReferences(opt, gen.NestedTypes); } }