InflateType() public static méthode

public static InflateType ( Mono.Cecil.GenericContext context, Mono.Cecil.GenericInstanceType genericInstanceType ) : Mono.Cecil.GenericInstanceType
context Mono.Cecil.GenericContext
genericInstanceType Mono.Cecil.GenericInstanceType
Résultat Mono.Cecil.GenericInstanceType
Exemple #1
0
        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);
        }
Exemple #2
0
        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);
                }
            }
        }
Exemple #3
0
        private void ProcessArray(TypeReference elementType, int rank)
        {
            ArrayType inflatedType = new ArrayType(Inflater.InflateType(this._genericContext, elementType), rank);

            ProcessArray(inflatedType, this._generics, this._genericContext);
        }