예제 #1
0
        private static Dictionary <string, PropertyHandle> GetPropertyDefs(PEFileReader reader, TypeHandle typeHandle)
        {
            var properties = new Dictionary <string, PropertyHandle>();

            foreach (var propertyHandle in reader.GetTypeDefinition(typeHandle).GetProperties())
            {
                var propertyDef = reader.GetProperty(propertyHandle);
                var name        = reader.GetString(propertyDef.Name);
                properties.Add(name, propertyHandle);
            }
            return(properties);
        }
예제 #2
0
        // TODO: Index by signature.
        private static Dictionary <string, MethodHandle> GetMethodDefs(PEFileReader reader, TypeHandle typeHandle)
        {
            var methods = new Dictionary <string, MethodHandle>();

            foreach (var methodHandle in reader.GetTypeDefinition(typeHandle).GetMethods())
            {
                var methodDef = reader.GetMethod(methodHandle);
                var name      = reader.GetString(methodDef.Name);
                methods.Add(name, methodHandle);
            }
            return(methods);
        }
예제 #3
0
        private static Dictionary <string, FieldHandle> GetFieldDefs(PEFileReader reader, TypeHandle typeHandle)
        {
            var fields = new Dictionary <string, FieldHandle>();

            foreach (var fieldHandle in reader.GetTypeDefinition(typeHandle).GetFields())
            {
                var fieldDef = reader.GetField(fieldHandle);
                var name     = reader.GetString(fieldDef.Name);
                fields.Add(name, fieldHandle);
            }
            return(fields);
        }
예제 #4
0
        private static Dictionary <string, EventHandle> GetEventDefs(PEFileReader reader, TypeHandle typeHandle)
        {
            var events = new Dictionary <string, EventHandle>();

            foreach (var eventHandle in reader.GetTypeDefinition(typeHandle).GetEvents())
            {
                var eventDef = reader.GetEvent(eventHandle);
                var name     = reader.GetString(eventDef.Name);
                events.Add(name, eventHandle);
            }
            return(events);
        }
예제 #5
0
        private static Dictionary <string, TypeFromMetadata> GetTypeDefinitions(PEFileReader reader)
        {
            var types = new Dictionary <string, TypeFromMetadata>();

            foreach (var typeHandle in reader.TypeDefinitions)
            {
                var typeDef = reader.GetTypeDefinition(typeHandle);
                var name    = reader.GetString(typeDef.Name); // TODO: Index by namespace + name. By MetadataTypeName?
                types.Add(name, new TypeFromMetadata(reader, typeHandle));
            }
            return(types);
        }
 private static Dictionary<string, PropertyHandle> GetPropertyDefs(PEFileReader reader, TypeHandle typeHandle)
 {
     var properties = new Dictionary<string, PropertyHandle>();
     foreach (var propertyHandle in reader.GetTypeDefinition(typeHandle).GetProperties())
     {
         var propertyDef = reader.GetProperty(propertyHandle);
         var name = reader.GetString(propertyDef.Name);
         properties.Add(name, propertyHandle);
     }
     return properties;
 }
 // TODO: Index by signature.
 private static Dictionary<string, MethodHandle> GetMethodDefs(PEFileReader reader, TypeHandle typeHandle)
 {
     var methods = new Dictionary<string, MethodHandle>();
     foreach (var methodHandle in reader.GetTypeDefinition(typeHandle).GetMethods())
     {
         var methodDef = reader.GetMethod(methodHandle);
         var name = reader.GetString(methodDef.Name);
         methods.Add(name, methodHandle);
     }
     return methods;
 }
 private static Dictionary<string, FieldHandle> GetFieldDefs(PEFileReader reader, TypeHandle typeHandle)
 {
     var fields = new Dictionary<string, FieldHandle>();
     foreach (var fieldHandle in reader.GetTypeDefinition(typeHandle).GetFields())
     {
         var fieldDef = reader.GetField(fieldHandle);
         var name = reader.GetString(fieldDef.Name);
         fields.Add(name, fieldHandle);
     }
     return fields;
 }
 private static Dictionary<string, EventHandle> GetEventDefs(PEFileReader reader, TypeHandle typeHandle)
 {
     var events = new Dictionary<string, EventHandle>();
     foreach (var eventHandle in reader.GetTypeDefinition(typeHandle).GetEvents())
     {
         var eventDef = reader.GetEvent(eventHandle);
         var name = reader.GetString(eventDef.Name);
         events.Add(name, eventHandle);
     }
     return events;
 }
 private static Dictionary<string, TypeFromMetadata> GetTypeDefinitions(PEFileReader reader)
 {
     var types = new Dictionary<string, TypeFromMetadata>();
     foreach (var typeHandle in reader.TypeDefinitions)
     {
         var typeDef = reader.GetTypeDefinition(typeHandle);
         var name = reader.GetString(typeDef.Name); // TODO: Index by namespace + name. By MetadataTypeName?
         types.Add(name, new TypeFromMetadata(reader, typeHandle));
     }
     return types;
 }