public static InflateType ( Mono.Cecil.GenericContext context, Mono.Cecil.GenericInstanceType genericInstanceType ) : Mono.Cecil.GenericInstanceType | ||
context | Mono.Cecil.GenericContext | |
genericInstanceType | Mono.Cecil.GenericInstanceType | |
return | Mono.Cecil.GenericInstanceType |
protected override void Visit(GenericInstanceType genericInstanceType, Unity.Cecil.Visitor.Context context) { GenericInstanceType inflatedType = Inflater.InflateType(this._genericContext, genericInstanceType); this.ProcessGenericType(inflatedType); base.Visit(genericInstanceType, context); }
internal static void ProcessGenericType(GenericInstanceType type, InflatedCollectionCollector generics, GenericInstanceMethod contextMethod, CollectionMode mode) { bool flag = generics.TypeDeclarations.Add(type); if (((mode != CollectionMode.Types) || flag) && ((mode != CollectionMode.MethodsAndTypes) || generics.TypeMethodDeclarations.Add(type))) { GenericContext genericContext = new GenericContext(type, contextMethod); type.ElementType.Resolve().Accept(new GenericContextAwareDeclarationOnlyVisitor(generics, genericContext, CollectionMode.Types)); foreach (GenericInstanceType type2 in type.GenericArguments.OfType <GenericInstanceType>()) { ProcessGenericType(Inflater.InflateType(genericContext, type2), generics, null, mode); } } }
private void ProcessArray(TypeReference elementType, int rank) { ArrayType inflatedType = new ArrayType(Inflater.InflateType(this._genericContext, elementType), rank); ProcessArray(inflatedType, this._generics, this._genericContext); }