public NuGenModuleReference(NuGenAssembly assembly, uint token, string name) { Token = token; Assembly = assembly; Name = name; NuGenHelperFunctions.GetMemberReferences(Assembly, Token); }
public NuGenMethodSpec(uint token, NuGenTokenBase parent, IntPtr signature, uint signatureLength, NuGenAssembly assembly) { Token = token; Parent = parent; Signature = signature; SignatureLength = signatureLength; }
public NuGenTypeReference(NuGenIMetaDataImport2 import, NuGenAssembly assembly, string name, uint token, uint resolutionScope) { Assembly = assembly; Name = name; Token = token; ResolutionScope = resolutionScope; NuGenHelperFunctions.GetMemberReferences(Assembly, Token); }
public NuGenTypeSpecification(NuGenAssembly assembly, uint token, IntPtr signatureBlob, uint signatureBlobLength) { Token = token; SignatureBlob = signatureBlob; SignatureBlobLength = signatureBlobLength; Assembly = assembly; NuGenHelperFunctions.GetMemberReferences(Assembly, Token); }
public void LoadInMemoryModule(ModuleWrapper inMemoryModule) { List<NuGenAssembly> loadedAssemblies = new List<NuGenAssembly>(1); try { string moduleName = inMemoryModule.GetName(); try { moduleName = Path.GetFileNameWithoutExtension(moduleName); } catch { } NuGenAssembly inMemoryAssembly = new NuGenAssembly(true); inMemoryAssembly.FileName = moduleName; inMemoryAssembly.Name = moduleName; NuGenMetaDataDispenserEx dispenser = new NuGenMetaDataDispenserEx(); inMemoryAssembly.LoadAssemblyFromMetadataInterfaces(dispenser, (NuGenIMetaDataAssemblyImport)inMemoryModule.GetMetaDataAssemblyImport(), (NuGenIMetaDataImport2)inMemoryModule.GetMetaDataImport2(), inMemoryModule); loadedAssemblies.Add(inMemoryAssembly); } catch (Exception exception) { NuGenUIHandler.Instance.DisplayUserWarning("An error occurred while loading the assembly."); NuGenUIHandler.Instance.ShowException(exception); } NuGenUIHandler.Instance.ResetProgressBar(); if (loadedAssemblies.Count > 0) { NuGenUIHandler.Instance.AssembliesLoaded(loadedAssemblies, false); if (AssembliesLoaded != null) { AssembliesLoaded(loadedAssemblies, false); } } }
public NuGenModuleScope(NuGenIMetaDataImport2 import, NuGenAssembly assembly) { Assembly = assembly; uint moduleNameLength; import.GetScopeProps(NuGenProject.DefaultCharArray, Convert.ToUInt32(NuGenProject.DefaultCharArray.Length), out moduleNameLength, ref mvid); if (moduleNameLength > NuGenProject.DefaultCharArray.Length) { NuGenProject.DefaultCharArray = new char[moduleNameLength]; import.GetScopeProps(NuGenProject.DefaultCharArray, Convert.ToUInt32(NuGenProject.DefaultCharArray.Length), out moduleNameLength, ref mvid); } Name = NuGenHelperFunctions.GetString(NuGenProject.DefaultCharArray, 0, moduleNameLength); uint token; import.GetModuleFromScope(out token); Token = token; Assembly.AllTokens[Token] = this; }
public NuGenFoundItemEventArgs(NuGenAssembly assembly, NuGenTokenBase foundTokenObject) { Assembly = assembly; FoundTokenObject = foundTokenObject; }
public NuGenStandAloneSignature(NuGenAssembly assembly, uint token, IntPtr signatureBlob, uint signatureBlobLength) { Assembly = assembly; Token = token; SignatureBlob = signatureBlob; SignatureBlobLength = signatureBlobLength; }
private void Start(object parameter) { string[] fileNames = (string[])parameter; List<NuGenAssembly> loadedAssemblies = new List<NuGenAssembly>(fileNames.Length); bool isProjectChanged = false; foreach (string fileName in fileNames) { try { if (fileName == null || fileName.Length == 0) { NuGenUIHandler.Instance.SetProgressText(fileName, "File not found.", false); } else { NuGenAssembly assembly = new NuGenAssembly(false); assembly.FullPath = fileName; assembly.LoadAssembly(); if (assembly != null) { loadedAssemblies.Add(assembly); } } } catch (Exception exception) { isProjectChanged = true; NuGenUIHandler.Instance.DisplayUserWarning("An error occurred while loading the assembly."); NuGenUIHandler.Instance.ShowException(exception); } NuGenUIHandler.Instance.SetProgressText("\n\n", true); } NuGenUIHandler.Instance.ResetProgressBar(); NuGenUIHandler.Instance.AssembliesLoaded(loadedAssemblies, isProjectChanged); if (AssembliesLoaded != null) { AssembliesLoaded(loadedAssemblies, isProjectChanged); } }
public NuGenAssemblySearchOptions(NuGenAssembly assembly) { Assembly = assembly; SelectedOptions = Assembly.SearchOptions; }
public NuGenManifestResource(NuGenAssembly assembly, uint token, string name, uint providerToken, uint offset, uint flags) { Assembly = assembly; Token = token; Name = name; ProviderToken = providerToken; Offset = offset; Flags = (CorManifestResourceFlags)flags; }
public NuGenFile(NuGenAssembly assembly, uint token, string name, IntPtr hash, uint hashLength, uint flags) { Assembly = assembly; Token = token; Name = name; Hash = hash; HashLength = hashLength; Flags = (CorFileFlags)flags; }
public NuGenAssemblyReference(NuGenAssembly assembly, uint token, string name, IntPtr publicKeyOrToken, uint publicKeyOrTokenLength, NuGenAssemblyMetadata metadata, IntPtr hashBlob, uint hashBlobLength, uint flags) { Assembly = assembly; Token = token; Name = name; PublicKeyOrToken = publicKeyOrToken; PublicKeyOrTokenLength = publicKeyOrTokenLength; Metadata = metadata; HashBlob = hashBlob; HashBlobLength = hashBlobLength; Flags = (CorAssemblyFlags)flags; }
public NuGenMemberReference(NuGenAssembly assembly, string name, uint token, uint typeDefToken, IntPtr signatureBlob, uint signatureBlobLength) { Assembly = assembly; Name = name; Token = token; TypeDefToken = typeDefToken; SignatureBlob = signatureBlob; SignatureBlobLength = signatureBlobLength; signatureReader = new NuGenMethodRefSignatureReader(assembly.AllTokens, SignatureBlob, SignatureBlobLength); signatureReader.ReadSignature(); MethodSpecs = NuGenHelperFunctions.EnumMethodSpecs(assembly.Import, assembly, this); }
private void ShowAssembly(TreeNode projectNode, NuGenAssembly assembly) { if (assembly != null) { TreeNode assemblyNode = new TreeNode(NuGenHelperFunctions.TruncateText(assembly.FileName)); assemblyNode.ContextMenuStrip = assemblyMenu; assemblyNode.ImageIndex = 1; if (NuGenProject.Instance.StartupAssembly == assembly) { assemblyNode.ForeColor = Color.Red; assemblyNode.NodeFont = new Font(ProjectElements.Font, FontStyle.Italic); } assemblyNode.Tag = assembly; projectNode.Nodes.Add(assemblyNode); if (assembly.DisplayInTree) { TreeNode assemblyDefinitionNode = new TreeNode(" definition"); assemblyDefinitionNode.Tag = assembly; assemblyDefinitionNode.ImageIndex = 2; assemblyNode.Nodes.Add(assemblyDefinitionNode); } if (assembly.AssemblyReferences != null) { TreeNode referencesNode = new TreeNode(" References"); referencesNode.Tag = assembly; referencesNode.ImageIndex = 3; assemblyNode.Nodes.Add(referencesNode); foreach (NuGenAssemblyReference reference in assembly.AssemblyReferences.Values) { TreeNode referenceNode = new TreeNode(NuGenHelperFunctions.TruncateText(reference.Name)); referenceNode.ContextMenuStrip = assemblyReferenceMenu; referenceNode.Tag = reference; referenceNode.ImageIndex = 1; referencesNode.Nodes.Add(referenceNode); } } if (assembly.ManifestResources != null) { TreeNode manifestResourcesNode = new TreeNode(" Manifest Resources"); manifestResourcesNode.ImageIndex = 4; assemblyNode.Nodes.Add(manifestResourcesNode); foreach (NuGenManifestResource manifestResource in assembly.ManifestResources) { TreeNode manifestResourceNode = new TreeNode(NuGenHelperFunctions.TruncateText(manifestResource.Name)); manifestResourceNode.Tag = manifestResource; manifestResourceNode.ImageIndex = 1; manifestResourcesNode.Nodes.Add(manifestResourceNode); } } if (assembly.Files != null) { TreeNode filesNode = new TreeNode(" Files"); filesNode.ImageIndex = 5; assemblyNode.Nodes.Add(filesNode); foreach (NuGenFile file in assembly.Files) { if (file.DisplayInTree) { TreeNode fileNode = new TreeNode(NuGenHelperFunctions.TruncateText(file.Name)); fileNode.Tag = file; fileNode.Tag = 5; filesNode.Nodes.Add(fileNode); } } } if (assembly.ModuleReferences != null) { TreeNode moduleReferencesNode = new TreeNode(" Module References"); moduleReferencesNode.ImageIndex = 6; assemblyNode.Nodes.Add(moduleReferencesNode); foreach (NuGenModuleReference moduleReference in assembly.ModuleReferences) { TreeNode moduleReferenceNode = new TreeNode(NuGenHelperFunctions.TruncateText(moduleReference.Name)); moduleReferenceNode.Tag = moduleReference; moduleReferenceNode.ImageIndex = 1; moduleReferencesNode.Nodes.Add(moduleReferenceNode); } } TreeNode moduleScopeNode = new TreeNode(NuGenHelperFunctions.TruncateText(assembly.ModuleScope.Name)); moduleScopeNode.ImageIndex = 7; assemblyNode.Nodes.Add(moduleScopeNode); TreeNode moduleScopeDefinitionNode = new TreeNode(" definition"); moduleScopeDefinitionNode.ImageIndex = 2; moduleScopeDefinitionNode.Tag = assembly.ModuleScope; moduleScopeNode.Nodes.Add(moduleScopeDefinitionNode); Dictionary<string, TreeNode> namespaceNodes = new Dictionary<string, TreeNode>(); foreach (NuGenTypeDefinition typeDefinition in assembly.ModuleScope.TypeDefinitions.Values) { CreateTypeDefinitionNode(namespaceNodes, moduleScopeNode, typeDefinition, true); } if (assembly.GlobalType.FieldDefinitions != null || assembly.GlobalType.MethodDefinitions != null || assembly.GlobalType.Properties != null) { CreateTypeDefinitionNode(namespaceNodes, moduleScopeNode, assembly.GlobalType, false).Text = " {global type}"; } } }
public void AddAssemblyToProject(NuGenAssembly assembly) { projectElements.BeginUpdate(); if (projectElements.Nodes.Count == 0) { projectElements.Nodes.Add("New Project"); } ShowAssembly(projectElements.Nodes[0], assembly); NuGenProject.Instance.Assemblies.Add(assembly); if (!assembly.IsInMemory) { NuGenProject.Instance.IsSaved = false; } projectElements.EndUpdate(); ShowProject(); }
public void RemoveAssemblyRelatedBreakpoints(NuGenAssembly assembly) { int index = 0; while (index < FunctionBreakpoints.Count) { NuGenFunctionBreakpointInformation breakpoint = FunctionBreakpoints[index]; if (breakpoint.MethodDefinition.BaseTypeDefinition.ModuleScope.Assembly == assembly) { breakpoint.Remove(); FunctionBreakpoints.Remove(breakpoint); NuGenUIHandler.Instance.RemoveBreakpoint(breakpoint); } else { index++; } } }