Ejemplo n.º 1
0
 public LuryException(LuryExceptionType type,
                      string sourceCode,
                      CharPosition position,
                      int length)
 {
     this.ExceptionType = type;
     this.SourceCode = sourceCode;
     this.Position = position;
     this.CharLength = length;
 }
Ejemplo n.º 2
0
 public LuryException(LuryExceptionType type,
                      string sourceCode,
                      CharPosition position,
                      int length)
 {
     this.ExceptionType = type;
     this.SourceCode    = sourceCode;
     this.Position      = position;
     this.CharLength    = length;
 }
Ejemplo n.º 3
0
        private static string GetRawMessage(LuryExceptionType type)
        {
            switch (type)
            {
            case LuryExceptionType.NilReference:
                return("nil オブジェクトにはアクセスできません.");

            case LuryExceptionType.DivideByZero:
                return("ゼロで除算できません.");

            case LuryExceptionType.NotSupportedOperationUnary:
                return("定義されていない演算が試行されました.");

            case LuryExceptionType.NotSupportedOperationBinary:
                return("定義されていない演算が試行されました.");

            case LuryExceptionType.UnableToCall:
                return("Function 型でないオブジェクトを関数として呼び出すことはできません.");

            case LuryExceptionType.NotEnoughFunctionArgumentNumber:
                return("関数の引数の数が一致しません.");

            case LuryExceptionType.WrongBreak:
                return("不正な break が存在します.");

            case LuryExceptionType.ConditionValueIsNotBoolean:
                return("条件の式は Boolean 型である必要があります.");

            case LuryExceptionType.AttributeIsNotFound:
                return("存在しないオブジェクトを参照しました.");

            case LuryExceptionType.NameIsNotFound:
                return("存在しないオブジェクトを参照しました.");

            case LuryExceptionType.WrongLValue:
                return("非左辺値に代入できません.");

            case LuryExceptionType.WrongRefReference:
                return("非左辺値は ref による参照はできません.");

            default:
                return("不明なエラーです.");
            }
        }
Ejemplo n.º 4
0
        private static string GetRawMessage(LuryExceptionType type)
        {
            switch (type)
            {
                case LuryExceptionType.NilReference:
                    return "nil オブジェクトにはアクセスできません.";

                case LuryExceptionType.DivideByZero:
                    return "ゼロで除算できません.";

                case LuryExceptionType.NotSupportedOperationUnary:
                    return "定義されていない演算が試行されました.";

                case LuryExceptionType.NotSupportedOperationBinary:
                    return "定義されていない演算が試行されました.";

                case LuryExceptionType.UnableToCall:
                    return "Function 型でないオブジェクトを関数として呼び出すことはできません.";

                case LuryExceptionType.NotEnoughFunctionArgumentNumber:
                    return "関数の引数の数が一致しません.";

                case LuryExceptionType.WrongBreak:
                    return "不正な break が存在します.";

                case LuryExceptionType.ConditionValueIsNotBoolean:
                    return "条件の式は Boolean 型である必要があります.";

                case LuryExceptionType.AttributeIsNotFound:
                    return "存在しないオブジェクトを参照しました.";

                case LuryExceptionType.NameIsNotFound:
                    return "存在しないオブジェクトを参照しました.";

                case LuryExceptionType.WrongLValue:
                    return "非左辺値に代入できません.";

                case LuryExceptionType.WrongRefReference:
                    return "非左辺値は ref による参照はできません.";

                default:
                    return "不明なエラーです.";
            }
        }
Ejemplo n.º 5
0
 public LuryException(LuryExceptionType type,
                      Token token)
     : this(type, token.SourceCode, token.Position, token.Length)
 {
 }
Ejemplo n.º 6
0
 public LuryException(LuryExceptionType type)
     : this(type, null, CharPosition.Empty, 0)
 {
 }
Ejemplo n.º 7
0
 public static string GetMessage(this LuryExceptionType type)
 {
     return(GetRawMessage(type));
 }
Ejemplo n.º 8
0
 public LuryException(LuryExceptionType type,
                      Token token)
     : this(type, token.SourceCode, token.Position, token.Length)
 {
 }
Ejemplo n.º 9
0
 public LuryException(LuryExceptionType type)
     : this(type, null, CharPosition.Empty, 0)
 {
 }