public static byte[] GenerateStub(jlClass c) { MemoryStream mem = new MemoryStream(); #if !FIRST_PASS bool includeNonPublicInterfaces = !"true".Equals(global::java.lang.Props.props.getProperty("ikvm.stubgen.skipNonPublicInterfaces"), StringComparison.OrdinalIgnoreCase); IKVM.StubGen.StubGenerator.WriteClass(mem, TypeWrapper.FromClass(c), includeNonPublicInterfaces, false, false); #endif return mem.ToArray(); }
public static Type getInstanceTypeFromClass(jlClass clazz) { TypeWrapper wrapper = TypeWrapper.FromClass(clazz); if(wrapper.IsRemapped && wrapper.IsFinal) { return wrapper.TypeAsTBD; } return wrapper.TypeAsBaseType; }
private static bool IsDynamic(jlClass clazz) { #if !NOEMIT return TypeWrapper.FromClass(clazz) is DynamicTypeWrapper; #else return false; #endif }
private static Assembly GetAssemblyFromClass(jlClass clazz) { TypeWrapper wrapper = TypeWrapper.FromClass(clazz); AssemblyClassLoader_ acl = wrapper.GetClassLoader() as AssemblyClassLoader_; return acl != null ? acl.GetAssembly(wrapper) : null; }
public static bool isClassDeprecated(jlClass clazz) { Type type = TypeWrapper.FromClass(clazz).TypeAsTBD; // we need to check type for null, because ReflectionOnly // generated delegate inner interfaces don't really exist return type != null && type.IsDefined(typeof(ObsoleteAttribute), false); }
public static string getAssemblyName(jlClass c) { TypeWrapper wrapper = TypeWrapper.FromClass(c); ClassLoaderWrapper loader = wrapper.GetClassLoader(); IKVM.Internal.AssemblyClassLoader acl = loader as IKVM.Internal.AssemblyClassLoader; if(acl != null) { return acl.GetAssembly(wrapper).FullName; } else { return ((IKVM.Internal.GenericClassLoader)loader).GetName(); } }
public static object newAnnotationInvocationHandler(jlClass type, object memberValues) { #if FIRST_PASS return null; #else return new global::sun.reflect.annotation.AnnotationInvocationHandler(type, (global::java.util.Map)memberValues); #endif }
public static int getRealModifiers(jlClass c) { return (int)TypeWrapper.FromClass(c).Modifiers; }
private static bool IsDynamic(jlClass clazz) { return TypeWrapper.FromClass(clazz) is DynamicTypeWrapper; }