Example #1
0
        public static void ResolveConstant(this IConstantProvider self, ref object constant, ModuleDefinition module)
        {
            if (module == null)
            {
                constant = Mixin.NoValue;
                return;
            }
            object syncRoot;

            Monitor.Enter(syncRoot = module.SyncRoot);
            try
            {
                if (constant == Mixin.NotResolved)
                {
                    if (module.HasImage())
                    {
                        constant = module.Read <IConstantProvider, object>(self, (IConstantProvider provider, MetadataReader reader) => reader.ReadConstant(provider));
                    }
                    else
                    {
                        constant = Mixin.NoValue;
                    }
                }
            }
            finally
            {
                Monitor.Exit(syncRoot);
            }
        }
Example #2
0
        private void InitializeMethods()
        {
            ModuleDefinition module = this.Module;

            if (module == null)
            {
                return;
            }
            object syncRoot;

            Monitor.Enter(syncRoot = module.SyncRoot);
            try
            {
                if (this.get_method == null && this.set_method == null)
                {
                    if (module.HasImage())
                    {
                        module.Read <PropertyDefinition, PropertyDefinition>(this, (PropertyDefinition property, MetadataReader reader) => reader.ReadMethods(property));
                    }
                }
            }
            finally
            {
                Monitor.Exit(syncRoot);
            }
        }
Example #3
0
        private void InitializeMethods()
        {
            ModuleDefinition module = this.Module;

            if (module == null)
            {
                return;
            }
            object syncRoot;

            Monitor.Enter(syncRoot = module.SyncRoot);
            try
            {
                if (this.add_method == null && this.invoke_method == null && this.remove_method == null)
                {
                    if (module.HasImage())
                    {
                        module.Read <EventDefinition, EventDefinition>(this, (EventDefinition @event, MetadataReader reader) => reader.ReadMethods(@event));
                    }
                }
            }
            finally
            {
                Monitor.Exit(syncRoot);
            }
        }
Example #4
0
 public static MarshalInfo GetMarshalInfo(this IMarshalInfoProvider self, ref MarshalInfo variable, ModuleDefinition module)
 {
     if (!module.HasImage())
     {
         return(null);
     }
     return(module.Read <IMarshalInfoProvider, MarshalInfo>(ref variable, self, (IMarshalInfoProvider provider, MetadataReader reader) => reader.ReadMarshalInfo(provider)));
 }
Example #5
0
 public static bool GetHasMarshalInfo(this IMarshalInfoProvider self, ModuleDefinition module)
 {
     if (module.HasImage())
     {
         return(module.Read <IMarshalInfoProvider, bool>(self, (IMarshalInfoProvider provider, MetadataReader reader) => reader.HasMarshalInfo(provider)));
     }
     return(false);
 }
Example #6
0
 public static bool GetHasGenericParameters(this IGenericParameterProvider self, ModuleDefinition module)
 {
     if (module.HasImage())
     {
         return(module.Read <IGenericParameterProvider, bool>(self, (IGenericParameterProvider provider, MetadataReader reader) => reader.HasGenericParameters(provider)));
     }
     return(false);
 }
Example #7
0
 public static bool GetHasCustomAttributes(this ICustomAttributeProvider self, ModuleDefinition module)
 {
     if (module.HasImage())
     {
         return(module.Read <ICustomAttributeProvider, bool>(self, (ICustomAttributeProvider provider, MetadataReader reader) => reader.HasCustomAttributes(provider)));
     }
     return(false);
 }
Example #8
0
 public static bool GetHasSecurityDeclarations(this ISecurityDeclarationProvider self, ModuleDefinition module)
 {
     if (module.HasImage())
     {
         return(module.Read <ISecurityDeclarationProvider, bool>(self, (ISecurityDeclarationProvider provider, MetadataReader reader) => reader.HasSecurityDeclarations(provider)));
     }
     return(false);
 }
Example #9
0
 public static Collection <GenericParameter> GetGenericParameters(this IGenericParameterProvider self, ref Collection <GenericParameter> collection, ModuleDefinition module)
 {
     if (!module.HasImage())
     {
         Collection <GenericParameter> result;
         collection = (result = new GenericParameterCollection(self));
         return(result);
     }
     return(module.Read <IGenericParameterProvider, Collection <GenericParameter> >(ref collection, self, (IGenericParameterProvider provider, MetadataReader reader) => reader.ReadGenericParameters(provider)));
 }
Example #10
0
 public static Collection <CustomAttribute> GetCustomAttributes(this ICustomAttributeProvider self, ref Collection <CustomAttribute> variable, ModuleDefinition module)
 {
     if (!module.HasImage())
     {
         Collection <CustomAttribute> result;
         variable = (result = new Collection <CustomAttribute>());
         return(result);
     }
     return(module.Read <ICustomAttributeProvider, Collection <CustomAttribute> >(ref variable, self, (ICustomAttributeProvider provider, MetadataReader reader) => reader.ReadCustomAttributes(provider)));
 }
Example #11
0
 public static Collection <SecurityDeclaration> GetSecurityDeclarations(this ISecurityDeclarationProvider self, ref Collection <SecurityDeclaration> variable, ModuleDefinition module)
 {
     if (!module.HasImage())
     {
         Collection <SecurityDeclaration> result;
         variable = (result = new Collection <SecurityDeclaration>());
         return(result);
     }
     return(module.Read <ISecurityDeclarationProvider, Collection <SecurityDeclaration> >(ref variable, self, (ISecurityDeclarationProvider provider, MetadataReader reader) => reader.ReadSecurityDeclarations(provider)));
 }