public static List <JavaClass> Import(List <TypeDefinition> cilTypes) { if (_Where != null) { throw new InvalidOperationException(); } _Where = new JavaException.Where(); JavaClasses = new List <JavaClass>(); GenericStack = new GenericStack(); foreach (var cilType in cilTypes) { if (cilType.HasCustomAttribute("Discard")) { continue; // if decorated with [java.attr.Discard], don't export to java } if (cilType.FullName == "<PrivateImplementationDetails>") { continue; // discard the private class for array initializers } Where.Push($"assembly {cilType.Module.FileName}"); TypeBuilder.BuildJavaClass(cilType, null); Where.Pop(); } _Where = null; return(JavaClasses); }
public GenericStack(GenericStack oldStack = null) { if (oldStack == null) { items = new List <GenericStackItem>(); } else { items = new List <GenericStackItem>(oldStack.items); } }