public JavaAssemblyContext() { JavaCoreAssembly = new JavaCoreAssembly(); Context = new AssemblyContext { Assemblies = { JavaCoreAssembly }, ClassMappings = new Dictionary <string, string> { // {"boolean", "bool"}, }, }; WildcardClass = Context.GetClass("object"); ObjectClass = Context.GetClass("java.lang.Q"); VoidClass = Context.GetClass("void"); EnumeratorIface = new Class { FullName = "System.Collections.Generic.IEnumerator", GenericArguments = { new Class { Name = "T", IsGenericTypeArgument = true } }, }; EnumerableIface = new Class { FullName = "System.Collections.Generic.IEnumerable", GenericArguments = { new Class { Name = "T", IsGenericTypeArgument = true } }, }; EnumerableIface.Members.Add(new Method { Name = "GetEnumerator", Type = Context.MakeGenericClass(EnumeratorIface, EnumerableIface.GenericArguments) }); JavaCoreAssembly.Classes.Add(EnumerableIface); JavaCoreAssembly.Classes.Add(EnumeratorIface); }