示例#1
0
			public ModuleInfo(ResourceElementSetNode node) {
				if (node == null)
					throw new InvalidOperationException();
				Node = node;
				var module = node.GetModule();
				Debug.Assert(module != null);
				if (module == null)
					throw new InvalidOperationException();
				Module = module;
				Index = module.Resources.IndexOf(node.Resource);
				Debug.Assert(Index >= 0);
				if (Index < 0)
					throw new InvalidOperationException();
				Resource = node.Resource;
			}
示例#2
0
		CreateResourceElementCommand(ResourceElementSetNode rsrcSetNode, ResourceElementNode node)
			: base(rsrcSetNode, new[] { node }) {
		}
示例#3
0
		protected ResourceElementSettingsBaseCommand(ResourceElementNode rsrcElNode, ResourceElementOptions options) {
			rsrcSetNode = (ResourceElementSetNode)rsrcElNode.TreeNode.Parent.Data;
			this.rsrcElNode = rsrcElNode;
			newOptions = options.Create();
			origOptions = rsrcElNode.ResourceElement;

			module = rsrcSetNode.GetModule();
			Debug.Assert(module != null);
			resource = rsrcSetNode.Resource;
			resourceIndex = module.Resources.IndexOf(resource);
			Debug.Assert(resourceIndex >= 0);
			if (resourceIndex < 0)
				throw new InvalidOperationException();

			origParentChildIndex = rsrcSetNode.TreeNode.Children.IndexOf(rsrcElNode.TreeNode);
			Debug.Assert(origParentChildIndex >= 0);
			if (origParentChildIndex < 0)
				throw new InvalidOperationException();

			nameChanged = origOptions.Name != newOptions.Name;
		}
示例#4
0
		CreateStreamResourceElementCommand(ResourceElementSetNode rsrcSetNode, ResourceElementNode[] nodes)
			: base(rsrcSetNode, nodes) {
		}
示例#5
0
		CreateByteArrayResourceElementCommand(ResourceElementSetNode rsrcSetNode, ResourceElementNode[] nodes)
			: base(rsrcSetNode, nodes) {
		}
示例#6
0
		CreateImageListResourceElementCommand(ResourceElementSetNode rsrcSetNode, SerializedImageListStreamerResourceElementNode node)
			: base(rsrcSetNode, new ResourceElementNode[] { node }) {
		}
示例#7
0
		protected CreateResourceElementCommandBase(ResourceElementSetNode rsrcSetNode, ResourceElementNode[] nodes) {
			module = rsrcSetNode.GetModule();
			Debug.Assert(module != null);
			this.rsrcSetNode = rsrcSetNode;
			this.nodes = nodes;
			resource = rsrcSetNode.Resource;
			resourceIndex = module.Resources.IndexOf(resource);
			Debug.Assert(resourceIndex >= 0);
			if (resourceIndex < 0)
				throw new InvalidOperationException();
		}
示例#8
0
		void Decompile(ResourceElementSetNode node) {
			node.WriteShort(output, decompiler, decompiler.Settings.GetBoolean(DecompilerOptionConstants.ShowTokenAndRvaComments_GUID));

			foreach (var child in GetChildren(node)) {
				if (child is ResourceElementNode)
					Decompile((ResourceElementNode)child);
				else
					DecompileUnknown(child);
			}
		}