53 base(declaringType, declaringType.Context.
ClassLoaderFactory.GetJavaTypeFromType(property.PropertyType), property.Name, declaringType.Context.
ClassLoaderFactory.GetJavaTypeFromType(property.PropertyType).SigName,
modifiers,
null)
55 this.property = property;
65 protected override void EmitGetImpl(
CodeEmitter ilgen)
67 var getter =
property.GetGetMethod(
true);
70 else if (getter.IsStatic)
71 ilgen.Emit(OpCodes.Call, getter);
73 ilgen.Emit(OpCodes.Callvirt, getter);
76 protected override void EmitSetImpl(
CodeEmitter ilgen)
78 var setter =
property.GetSetMethod(
true);
83 ilgen.Emit(OpCodes.Pop);
84 if (IsStatic ==
false)
86 ilgen.Emit(OpCodes.Pop);
94 else if (setter.IsStatic)
96 ilgen.Emit(OpCodes.Call, setter);
100 ilgen.Emit(OpCodes.Callvirt, setter);
106#if !IMPORTER && !EXPORTER && !FIRST_PASS
108 internal override object GetValue(
object obj)
110 var getter =
property.GetGetMethod(
true);
112 throw new java.
lang.NoSuchMethodError();
114 return getter.Invoke(obj,
new object[0]);
117 internal override void SetValue(
object obj,
object value)
119 var setter =
property.GetSetMethod(
true);
121 throw new java.
lang.NoSuchMethodError();
123 setter.Invoke(obj,
new object[] { value });
RuntimeClassLoaderFactory ClassLoaderFactory
Gets the RuntimeClassLoaderFactory associated with this instance of the runtime.