IKVM11  11
Java SE 11 Virtual Machine for .NET
Loading...
Searching...
No Matches
IKVM.Reflection.GenericTypeInstance Class Referencesealed

Public Member Functions

override bool Equals (object o)
 
override int GetHashCode ()
 
override FieldInfo[] __GetDeclaredFields ()
 
override Type[] __GetDeclaredInterfaces ()
 
override MethodBase[] __GetDeclaredMethods ()
 
override Type[] __GetDeclaredTypes ()
 
override EventInfo[] __GetDeclaredEvents ()
 
override PropertyInfo[] __GetDeclaredProperties ()
 
override __MethodImplMap __GetMethodImplMap ()
 
override string ToString ()
 
override Type GetGenericTypeDefinition ()
 
override Type[] GetGenericArguments ()
 
override CustomModifiers[] __GetGenericArgumentsCustomModifiers ()
 
override bool __GetLayout (out int packingSize, out int typeSize)
 

Properties

override string AssemblyQualifiedName [get]
 
override Type BaseType [get]
 
override bool IsValueTypeImpl [get]
 
override bool IsVisible [get]
 
override Type DeclaringType [get]
 
override TypeAttributes Attributes [get]
 
override string Namespace [get]
 
override string Name [get]
 
override string FullName [get]
 
override Module Module [get]
 
override bool IsGenericType [get]
 
override bool IsConstructedGenericType [get]
 
override bool ContainsGenericParameters [get]
 
override bool ContainsMissingTypeImpl [get]
 

Detailed Description

Definition at line 32 of file GenericTypeInstance.cs.

Member Function Documentation

◆ __GetDeclaredEvents()

override EventInfo[] IKVM.Reflection.GenericTypeInstance.__GetDeclaredEvents ( )

Definition at line 201 of file GenericTypeInstance.cs.

202 {
203 EventInfo[] events = type.__GetDeclaredEvents();
204 for (int i = 0; i < events.Length; i++)
205 {
206 events[i] = events[i].BindTypeParameters(this);
207 }
208 return events;
209 }
IKVM.Reflection.EventInfo EventInfo

◆ __GetDeclaredFields()

override FieldInfo[] IKVM.Reflection.GenericTypeInstance.__GetDeclaredFields ( )

Definition at line 166 of file GenericTypeInstance.cs.

167 {
168 FieldInfo[] fields = type.__GetDeclaredFields();
169 for (int i = 0; i < fields.Length; i++)
170 {
171 fields[i] = fields[i].BindTypeParameters(this);
172 }
173 return fields;
174 }
IKVM.Reflection.FieldInfo FieldInfo

◆ __GetDeclaredInterfaces()

override Type[] IKVM.Reflection.GenericTypeInstance.__GetDeclaredInterfaces ( )

Definition at line 176 of file GenericTypeInstance.cs.

177 {
178 Type[] interfaces = type.__GetDeclaredInterfaces();
179 for (int i = 0; i < interfaces.Length; i++)
180 {
181 interfaces[i] = interfaces[i].BindTypeParameters(this);
182 }
183 return interfaces;
184 }
IKVM.Reflection.Type Type

◆ __GetDeclaredMethods()

override MethodBase[] IKVM.Reflection.GenericTypeInstance.__GetDeclaredMethods ( )

Definition at line 186 of file GenericTypeInstance.cs.

187 {
188 MethodBase[] methods = type.__GetDeclaredMethods();
189 for (int i = 0; i < methods.Length; i++)
190 {
191 methods[i] = methods[i].BindTypeParameters(this);
192 }
193 return methods;
194 }
IKVM.Reflection.MethodBase MethodBase

◆ __GetDeclaredProperties()

override PropertyInfo[] IKVM.Reflection.GenericTypeInstance.__GetDeclaredProperties ( )

Definition at line 211 of file GenericTypeInstance.cs.

212 {
213 PropertyInfo[] properties = type.__GetDeclaredProperties();
214 for (int i = 0; i < properties.Length; i++)
215 {
216 properties[i] = properties[i].BindTypeParameters(this);
217 }
218 return properties;
219 }
IKVM.Reflection.PropertyInfo PropertyInfo

◆ __GetDeclaredTypes()

override Type[] IKVM.Reflection.GenericTypeInstance.__GetDeclaredTypes ( )

Definition at line 196 of file GenericTypeInstance.cs.

197 {
198 return type.__GetDeclaredTypes();
199 }

◆ __GetGenericArgumentsCustomModifiers()

override CustomModifiers[] IKVM.Reflection.GenericTypeInstance.__GetGenericArgumentsCustomModifiers ( )

Definition at line 311 of file GenericTypeInstance.cs.

312 {
313 return mods != null ? (CustomModifiers[])mods.Clone() : new CustomModifiers[args.Length];
314 }

◆ __GetLayout()

override bool IKVM.Reflection.GenericTypeInstance.__GetLayout ( out int packingSize,
out int typeSize )

Definition at line 341 of file GenericTypeInstance.cs.

342 {
343 return type.__GetLayout(out packingSize, out typeSize);
344 }

◆ __GetMethodImplMap()

override __MethodImplMap IKVM.Reflection.GenericTypeInstance.__GetMethodImplMap ( )

Definition at line 221 of file GenericTypeInstance.cs.

222 {
223 __MethodImplMap map = type.__GetMethodImplMap();
224 map.TargetType = this;
225 for (int i = 0; i < map.MethodBodies.Length; i++)
226 {
227 map.MethodBodies[i] = (MethodInfo)map.MethodBodies[i].BindTypeParameters(this);
228 for (int j = 0; j < map.MethodDeclarations[i].Length; j++)
229 {
230 Type interfaceType = map.MethodDeclarations[i][j].DeclaringType;
231 if (interfaceType.IsGenericType)
232 {
233 map.MethodDeclarations[i][j] = (MethodInfo)map.MethodDeclarations[i][j].BindTypeParameters(this);
234 }
235 }
236 }
237 return map;
238 }
IKVM.Reflection.MethodInfo MethodInfo

◆ Equals()

override bool IKVM.Reflection.GenericTypeInstance.Equals ( object o)

Definition at line 86 of file GenericTypeInstance.cs.

87 {
88 GenericTypeInstance gt = o as GenericTypeInstance;
89 return gt != null && gt.type.Equals(type) && Util.ArrayEquals(gt.args, args)
90 && Util.ArrayEquals(gt.mods, mods);
91 }

◆ GetGenericArguments()

override Type[] IKVM.Reflection.GenericTypeInstance.GetGenericArguments ( )

Definition at line 306 of file GenericTypeInstance.cs.

307 {
308 return Util.Copy(args);
309 }

◆ GetGenericTypeDefinition()

override Type IKVM.Reflection.GenericTypeInstance.GetGenericTypeDefinition ( )

Definition at line 301 of file GenericTypeInstance.cs.

302 {
303 return type;
304 }

◆ GetHashCode()

override int IKVM.Reflection.GenericTypeInstance.GetHashCode ( )

Definition at line 93 of file GenericTypeInstance.cs.

94 {
95 return type.GetHashCode() * 3 ^ Util.GetHashCode(args);
96 }

◆ ToString()

override string IKVM.Reflection.GenericTypeInstance.ToString ( )

Definition at line 271 of file GenericTypeInstance.cs.

272 {
273 StringBuilder sb = new StringBuilder(type.FullName);
274 sb.Append('[');
275 string sep = "";
276 foreach (Type arg in args)
277 {
278 sb.Append(sep);
279 sb.Append(arg);
280 sep = ",";
281 }
282 sb.Append(']');
283 return sb.ToString();
284 }

Property Documentation

◆ AssemblyQualifiedName

override string IKVM.Reflection.GenericTypeInstance.AssemblyQualifiedName
get

Definition at line 98 of file GenericTypeInstance.cs.

99 {
100 get
101 {
102 string fn = FullName;
103 return fn == null ? null : fn + ", " + type.Assembly.FullName;
104 }
105 }

◆ Attributes

override TypeAttributes IKVM.Reflection.GenericTypeInstance.Attributes
get

Definition at line 156 of file GenericTypeInstance.cs.

157 {
158 get { return type.Attributes; }
159 }

◆ BaseType

override Type IKVM.Reflection.GenericTypeInstance.BaseType
get

Definition at line 107 of file GenericTypeInstance.cs.

108 {
109 get
110 {
111 if (baseType == null)
112 {
113 Type rawBaseType = type.BaseType;
114 if (rawBaseType == null)
115 {
116 baseType = rawBaseType;
117 }
118 else
119 {
120 baseType = rawBaseType.BindTypeParameters(this);
121 }
122 }
123 return baseType;
124 }
125 }

◆ ContainsGenericParameters

override bool IKVM.Reflection.GenericTypeInstance.ContainsGenericParameters
get

Definition at line 321 of file GenericTypeInstance.cs.

322 {
323 get
324 {
325 foreach (Type type in args)
326 {
327 if (type.ContainsGenericParameters)
328 {
329 return true;
330 }
331 }
332 return false;
333 }
334 }

◆ ContainsMissingTypeImpl

override bool IKVM.Reflection.GenericTypeInstance.ContainsMissingTypeImpl
getprotected

Definition at line 336 of file GenericTypeInstance.cs.

337 {
338 get { return type.__ContainsMissingType || ContainsMissingType(args); }
339 }

◆ DeclaringType

override Type IKVM.Reflection.GenericTypeInstance.DeclaringType
get

Definition at line 151 of file GenericTypeInstance.cs.

152 {
153 get { return type.DeclaringType; }
154 }

◆ FullName

override string IKVM.Reflection.GenericTypeInstance.FullName
get

Definition at line 250 of file GenericTypeInstance.cs.

251 {
252 get
253 {
254 if (!this.__ContainsMissingType && this.ContainsGenericParameters)
255 {
256 return null;
257 }
258 StringBuilder sb = new StringBuilder(this.type.FullName);
259 sb.Append('[');
260 string sep = "";
261 foreach (Type type in args)
262 {
263 sb.Append(sep).Append('[').Append(type.FullName).Append(", ").Append(type.Assembly.FullName.Replace("]", "\\]")).Append(']');
264 sep = ",";
265 }
266 sb.Append(']');
267 return sb.ToString();
268 }
269 }

◆ IsConstructedGenericType

override bool IKVM.Reflection.GenericTypeInstance.IsConstructedGenericType
get

Definition at line 296 of file GenericTypeInstance.cs.

297 {
298 get { return true; }
299 }

◆ IsGenericType

override bool IKVM.Reflection.GenericTypeInstance.IsGenericType
get

Definition at line 291 of file GenericTypeInstance.cs.

292 {
293 get { return true; }
294 }

◆ IsValueTypeImpl

override bool IKVM.Reflection.GenericTypeInstance.IsValueTypeImpl
getprotected

Definition at line 127 of file GenericTypeInstance.cs.

128 {
129 get { return type.IsValueType; }
130 }

◆ IsVisible

override bool IKVM.Reflection.GenericTypeInstance.IsVisible
get

Definition at line 132 of file GenericTypeInstance.cs.

133 {
134 get
135 {
136 if (base.IsVisible)
137 {
138 foreach (Type arg in args)
139 {
140 if (!arg.IsVisible)
141 {
142 return false;
143 }
144 }
145 return true;
146 }
147 return false;
148 }
149 }

◆ Module

override Module IKVM.Reflection.GenericTypeInstance.Module
get

Definition at line 286 of file GenericTypeInstance.cs.

287 {
288 get { return type.Module; }
289 }

◆ Name

override string IKVM.Reflection.GenericTypeInstance.Name
get

Definition at line 245 of file GenericTypeInstance.cs.

246 {
247 get { return type.Name; }
248 }

◆ Namespace

override string IKVM.Reflection.GenericTypeInstance.Namespace
get

Definition at line 240 of file GenericTypeInstance.cs.

241 {
242 get { return type.Namespace; }
243 }

The documentation for this class was generated from the following file: