KumiScript/interpreter/InterpreterException.cs
2024-01-25 23:37:51 -06:00

101 lines
No EOL
3 KiB
C#

using System.Runtime.Serialization;
namespace KumiScript.Interpreter
{
[Serializable]
internal class InterpreterInvalidApplicationException : Exception //trying to invoke procedure with wrong args
{
public InterpreterInvalidApplicationException()
{
}
public InterpreterInvalidApplicationException(string? message) : base(message)
{
}
public InterpreterInvalidApplicationException(string? message, Exception? innerException) : base(message, innerException)
{
}
protected InterpreterInvalidApplicationException(SerializationInfo info, StreamingContext context) : base(info, context)
{
}
}
internal class InterpreterInvalidInvocationException : Exception //trying to invoke non-procedure as procedure
{
public InterpreterInvalidInvocationException()
{
}
public InterpreterInvalidInvocationException(string? message) : base(message)
{
}
public InterpreterInvalidInvocationException(string? message, Exception? innerException) : base(message, innerException)
{
}
protected InterpreterInvalidInvocationException(SerializationInfo info, StreamingContext context) : base(info, context)
{
}
}
internal class InterpreterUnboundSymbolException : Exception //try to lookup unbound symbol
{
public InterpreterUnboundSymbolException()
{
}
public InterpreterUnboundSymbolException(string? message) : base(message)
{
}
public InterpreterUnboundSymbolException(string? message, Exception? innerException) : base(message, innerException)
{
}
protected InterpreterUnboundSymbolException(SerializationInfo info, StreamingContext context) : base(info, context)
{
}
}
internal class InterpreterInvalidDefinitionException : Exception //broken definition of procedure
{
public InterpreterInvalidDefinitionException()
{
}
public InterpreterInvalidDefinitionException(string? message) : base(message)
{
}
public InterpreterInvalidDefinitionException(string? message, Exception? innerException) : base(message, innerException)
{
}
protected InterpreterInvalidDefinitionException(SerializationInfo info, StreamingContext context) : base(info, context)
{
}
}
internal class InterpreterTypingException : Exception //wrong type of arg
{
public InterpreterTypingException()
{
}
public InterpreterTypingException(string? message) : base(message)
{
}
public InterpreterTypingException(string? message, Exception? innerException) : base(message, innerException)
{
}
protected InterpreterTypingException(SerializationInfo info, StreamingContext context) : base(info, context)
{
}
}
}