internal QueryableResource(Resource resource, QueryableModule module) { _assembly = module.Assembly; _module = module; _name = Utility.ToString(resource.Name); _resourceType = Utility.ConvertEnum<ResourceType>(resource.ResourceType); _isPublic = resource.IsPublic; }
internal QueryableMethod(MethodDefinition methodDefinition, QueryableType type) { _assembly = type.Assembly; _module = type.Module; _type = type; _name = methodDefinition.Name; _fullName = methodDefinition.FullName; if (methodDefinition == methodDefinition.Module.EntryPoint) { _module.EntryPointMethod = this; } }
internal QueryableType(TypeDefinition typeDefinition, QueryableModule module, QueryableType declaringType) { _assembly = module.Assembly; _module = module; _declaringType = declaringType; _name = typeDefinition.Name; _fullName = typeDefinition.FullName; foreach (TypeDefinition nestedType in typeDefinition.NestedTypes) { _nestedTypes.Add(new QueryableType(nestedType, module, this)); } foreach (MethodDefinition methodDefinition in typeDefinition.Methods) { _methods.Add(new QueryableMethod(methodDefinition, this)); } }
internal QueryableAssembly(string assemblyPath) { AssemblyDefinition assemblyDefinition = AssemblyDefinition.ReadAssembly(assemblyPath); _name = Utility.ToString(assemblyDefinition.Name.Name); _fullName = Utility.ToString(assemblyDefinition.Name.FullName); _version = Utility.ToString(assemblyDefinition.Name.Version); _culture = Utility.ToString(assemblyDefinition.Name.Culture); _publicKeyToken = Utility.ToString(assemblyDefinition.Name.PublicKeyToken); foreach (ModuleDefinition moduleDefinition in assemblyDefinition.Modules) { QueryableModule module = new QueryableModule(moduleDefinition, this); _modules.Add(module); _resources.AddRange(module.Resources); _types.AddRange(module.Types); _methods.AddRange(module.Methods); } }