[Ikvm-developers] DeclaringTypeWrapper is only available for finished types ?
Brought to you by:
jfrijters
From: ¨˜”°º•<C0...@lk...> - 2011-01-21 09:34:33
|
Hi, I'm trying to serialize a JAVA object to xml using woxSerializer (compiled to .dll and used within a .net class). While doing so, I'm able to successfully convert JAVA classes to xml, but for one of the class <-> xml conversion I get the following error. What does "DeclaringTypeWrapper is only available for finished types" mean over hear. I checked the TypeWrapper.cs code and tried my best to understand. Is there some implementation missing within the IKVM.Reflection for some special cases of Java <-> .Net conversion. Sorry of this is a very basic question, but it would help me understand what is exactly happening here The error is as follows: Unhandled Exception: System.InvalidOperationException: DeclaringTypeWrapper is only available for finished types at IKVM.Internal.DynamicTypeWrapper.JavaTypeImpl.get_DeclaringTypeWrapper() at IKVM.Internal.DynamicTypeWrapper.get_DeclaringTypeWrapper() at IKVM.Internal.TypeWrapper.get_IsFakeNestedType() at IKVM.NativeCode.sun.reflect.ReflectionFactory.FieldAccessorImplBase.FieldAccessor`1.IsSpecialType(TypeWrapper tw) at IKVM.NativeCode.sun.reflect.ReflectionFactory.FieldAccessorImplBase.FieldAccessor`1.IsSlowPathCompatible(FieldWrapper fw) at IKVM.NativeCode.sun.reflect.ReflectionFactory.FieldAccessorImplBase.FieldAccessor`1..ctor(FieldWrapper fw, Boolean overrideAccessCheck) at IKVM.NativeCode.sun.reflect.ReflectionFactory.FieldAccessorImplBase.Create(FieldWrapper field, Boolean overrideAccessCheck) at sun.reflect.ReflectionFactory.newFieldAccessor(Field f, Boolean b) at java.lang.reflect.Field.acquireFieldAccessor(Boolean ) at java.lang.reflect.Field.getFieldAccessor(Object , CallerID ) at java.lang.reflect.Field.get(Object obj, CallerID ) at wox.serial.SimpleWriter.writeFields(Object , Element ) at wox.serial.SimpleWriter.write(Object ob) at wox.serial.SimpleWriter.writeFields(Object , Element ) at wox.serial.SimpleWriter.write(Object ob) at wox.serial.SimpleWriter.writeObjectArrayGeneric(Object , Element ) at wox.serial.SimpleWriter.writeArrayList(Object ) at wox.serial.SimpleWriter.write(Object ob) at wox.serial.SimpleWriter.writeFields(Object , Element ) at wox.serial.SimpleWriter.write(Object ob) at wox.serial.SimpleWriter.writeObjectArrayGeneric(Object , Element ) at wox.serial.SimpleWriter.writeArrayList(Object ) at wox.serial.SimpleWriter.write(Object ob) at wox.serial.SimpleWriter.writeFields(Object , Element ) at wox.serial.SimpleWriter.write(Object ob) at wox.serial.Easy.save(Object ob, String filename) at DotNetJavaInterop.Program.Main(String[] args) in C:\..\Visual Studio 2010\Projects\DotNetJavaInterop\DotNetJavaInterop\Program.cs:line 30 -- Manish |