CreateNestedTypeDefCommand(ITypeNode ownerType, TypeDefOptions options) { this.ownerType = ownerType; var modNode = ownerType.GetModuleNode(); Debug.Assert(modNode != null); if (modNode == null) { throw new InvalidOperationException(); } this.nestedType = ownerType.Create(options.CreateTypeDef(modNode.DnSpyFile.ModuleDef)); }
static ITypeNode GetOrCreateNestedTypeTreeNode(ITypeNode typeNode, TypeDef nestedType) { Debug.Assert(nestedType != null && nestedType.DeclaringType == typeNode.TypeDef); typeNode.TreeNode.EnsureChildrenLoaded(); var childTypeNode = typeNode.TreeNode.DataChildren.OfType <ITypeNode>().FirstOrDefault(a => a.TypeDef == nestedType); if (childTypeNode != null) { return(childTypeNode); } childTypeNode = typeNode.Create(nestedType); typeNode.TreeNode.AddChild(childTypeNode.TreeNode); return(childTypeNode); }
CreatePropertyDefCommand(ITypeNode ownerNode, PropertyDefOptions options) { this.ownerNode = ownerNode; this.propNode = ownerNode.Create(options.CreatePropertyDef(ownerNode.TypeDef.Module)); }
CreateMethodDefCommand(ITypeNode ownerNode, MethodDefOptions options) { this.ownerNode = ownerNode; this.methodNode = ownerNode.Create(options.CreateMethodDef(ownerNode.TypeDef.Module)); }
CreateFieldDefCommand(ITypeNode ownerNode, FieldDefOptions options) { this.ownerNode = ownerNode; this.fieldNode = ownerNode.Create(options.CreateFieldDef(ownerNode.TypeDef.Module)); }
CreateEventDefCommand(ITypeNode ownerNode, EventDefOptions options) { this.ownerNode = ownerNode; this.eventNode = ownerNode.Create(options.CreateEventDef(ownerNode.TypeDef.Module)); }
CreateNestedTypeDefCommand(ITypeNode ownerType, TypeDefOptions options) { this.ownerType = ownerType; var modNode = ownerType.GetModuleNode(); Debug.Assert(modNode != null); if (modNode == null) throw new InvalidOperationException(); this.nestedType = ownerType.Create(options.CreateTypeDef(modNode.DnSpyFile.ModuleDef)); }
static ITypeNode GetOrCreateNestedTypeTreeNode(ITypeNode typeNode, TypeDef nestedType) { Debug.Assert(nestedType != null && nestedType.DeclaringType == typeNode.TypeDef); typeNode.TreeNode.EnsureChildrenLoaded(); var childTypeNode = typeNode.TreeNode.DataChildren.OfType<ITypeNode>().FirstOrDefault(a => a.TypeDef == nestedType); if (childTypeNode != null) return childTypeNode; childTypeNode = typeNode.Create(nestedType); typeNode.TreeNode.AddChild(childTypeNode.TreeNode); return childTypeNode; }