using skyscraper5.Skyscraper.IO;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace skyscraper5.src.Skyscraper.IO.PortableExecutables
{

	[Serializable]
	public class PeException : SkyscraperIOException
	{
		public PeException() { }
		public PeException(string message) : base(message) { }
		public PeException(string message, Exception inner) : base(message, inner) { }
		protected PeException(
		  System.Runtime.Serialization.SerializationInfo info,
		  System.Runtime.Serialization.StreamingContext context) : base(info, context) { }
	}


	[Serializable]
	public class PeSectionNotFoundException : PeException
	{
		public PeSectionNotFoundException() { }
		public PeSectionNotFoundException(string message) : base(message) { }
		public PeSectionNotFoundException(string message, Exception inner) : base(message, inner) { }
		protected PeSectionNotFoundException(
		  System.Runtime.Serialization.SerializationInfo info,
		  System.Runtime.Serialization.StreamingContext context) : base(info, context) { }
	}


	[Serializable]
	public class ResourceEntryException : PeException
	{
		public ResourceEntryException() { }
		public ResourceEntryException(string message) : base(message) { }
		public ResourceEntryException(string message, Exception inner) : base(message, inner) { }
		protected ResourceEntryException(
		  System.Runtime.Serialization.SerializationInfo info,
		  System.Runtime.Serialization.StreamingContext context) : base(info, context) { }
	}


	[Serializable]
	public class VarNotFoundException : ResourceEntryException
	{
		public VarNotFoundException() { }
		public VarNotFoundException(string message) : base(message) { }
		public VarNotFoundException(string message, Exception inner) : base(message, inner) { }
		protected VarNotFoundException(
		  System.Runtime.Serialization.SerializationInfo info,
		  System.Runtime.Serialization.StreamingContext context) : base(info, context) { }
	}
}
