25using System.Diagnostics;
36using System.Reflection;
37using System.Reflection.Emit;
43 partial class RuntimeByteCodeJavaType
46 sealed class FinishedTypeImpl : DynamicImpl
50 readonly RuntimeJavaType[] innerclasses;
51 readonly RuntimeJavaType declaringTypeWrapper;
55 readonly Metadata metadata;
56 readonly RuntimeJavaType host;
58 internal FinishedTypeImpl(
Type type, RuntimeJavaType[] innerclasses, RuntimeJavaType declaringTypeWrapper,
Modifiers reflectiveModifiers, Metadata metadata,
MethodInfo clinitMethod,
MethodInfo finalizeMethod, RuntimeJavaType host)
61 this.innerclasses = innerclasses;
62 this.declaringTypeWrapper = declaringTypeWrapper;
63 this.reflectiveModifiers = reflectiveModifiers;
64 this.clinitMethod = clinitMethod;
65 this.finalizeMethod = finalizeMethod;
66 this.metadata = metadata;
70 internal override RuntimeJavaType[] InnerClasses
79 internal override RuntimeJavaType DeclaringTypeWrapper
84 return declaringTypeWrapper;
88 internal override Modifiers ReflectiveModifiers
92 return reflectiveModifiers;
104 internal override void EmitRunClassConstructor(CodeEmitter ilgen)
106 if (clinitMethod !=
null)
108 ilgen.Emit(OpCodes.Call, clinitMethod);
112 internal override DynamicImpl Finish()
117 internal override MethodBase LinkMethod(RuntimeJavaMethod mw)
121 return mw.GetMethod();
124 internal override FieldInfo LinkField(RuntimeJavaField fw)
128 return fw.GetField();
131 internal override string GetGenericSignature()
133 return Metadata.GetGenericSignature(metadata);
136 internal override string[] GetEnclosingMethod()
138 return Metadata.GetEnclosingMethod(metadata);
141 internal override string GetGenericMethodSignature(
int index)
143 return Metadata.GetGenericMethodSignature(metadata, index);
146 internal override string GetGenericFieldSignature(
int index)
148 return Metadata.GetGenericFieldSignature(metadata, index);
151 internal override object[] GetDeclaredAnnotations()
153 return Metadata.GetAnnotations(metadata);
156 internal override object GetMethodDefaultValue(
int index)
158 return Metadata.GetMethodDefaultValue(metadata, index);
161 internal override object[] GetMethodAnnotations(
int index)
163 return Metadata.GetMethodAnnotations(metadata, index);
166 internal override object[][] GetParameterAnnotations(
int index)
168 return Metadata.GetMethodParameterAnnotations(metadata, index);
171 internal override MethodParametersEntry[] GetMethodParameters(
int index)
173 return Metadata.GetMethodParameters(metadata, index);
176 internal override object[] GetFieldAnnotations(
int index)
178 return Metadata.GetFieldAnnotations(metadata, index);
181 internal override MethodInfo GetFinalizeMethod()
183 return finalizeMethod;
186 internal override object[] GetConstantPool()
188 return Metadata.GetConstantPool(metadata);
191 internal override byte[] GetRawTypeAnnotations()
193 return Metadata.GetRawTypeAnnotations(metadata);
196 internal override byte[] GetMethodRawTypeAnnotations(
int index)
198 return Metadata.GetMethodRawTypeAnnotations(metadata, index);
201 internal override byte[] GetFieldRawTypeAnnotations(
int index)
203 return Metadata.GetFieldRawTypeAnnotations(metadata, index);
206 internal override RuntimeJavaType Host
IKVM.Reflection.Type Type
IKVM.Reflection.FieldInfo FieldInfo
IKVM.Reflection.MethodInfo MethodInfo
IKVM.Reflection.MethodBase MethodBase