/
rowl1-error.rlc
103 lines (81 loc) · 2.58 KB
/
rowl1-error.rlc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
;
; rowl - 1st generation
; Copyright (C) 2010 nineties
;
; $Id: rowl1-node.rlc 2013-03-08 06:55:09 nineties $
;
(import "rlvm-compile")
(import "rowl1-types")
(compile `object `(
(import "rowl1-util")
(import "rowl1-node")
(extern object current_loc)
(export fun exception (loc msg) (
(return (make_object2 Exception loc msg))
))
(export fun type_error (loc required actual) (
(return (make_object3 (to_sym "TypeError") loc
(make_object1 (to_sym "expected") required)
(make_object1 (to_sym "actual") actual)
))
))
(export fun out_of_range (loc obj idx) (
(return (make_object3 (to_sym "IndexOutOfRange") loc
(make_object1 (to_sym "object") obj)
(make_object1 (to_sym "index") idx)
))
))
(export fun out_of_domain (loc fun arg) (
(return (make_object3 (to_sym "OutOfDomain") loc
(make_object1 (to_sym "function") fun)
(make_object1 (to_sym "argument") arg)
))
))
(export fun invalid_argument (loc msg val) (
(return (make_object3 (to_sym "InvalidArgument") loc msg val))
))
(export fun unexpected_error (loc msg val) (
(return (make_object3 (to_sym "Unexpected") loc msg val))
))
(export fun matching_failed (pat) (
(return (make_object2 (to_sym "MatchingFailed") current_loc
(make_object1 (to_sym "pattern") pat)))
))
(export fun unknown_field (loc head sym) (
(return (make_object3 (to_sym "UnknownField")
loc
(make_object1 (to_sym "struct") head)
(make_object1 (to_sym "field") sym)
))
))
(export fun undefined_var (loc sym) (
(return (make_object2 (to_sym "UndefinedVariable") loc sym))
))
(export fun redefined_var (loc1 loc2 sym) (
(return (make_object3 (to_sym "RedefinedVariable")
(make_object1 (to_sym "new") loc1)
(make_object1 (to_sym "old") loc2)
sym))
))
(export fun undefined_fun (loc sym) (
(return (make_object2 (to_sym "UndefinedFunction") loc sym))
))
(export fun unknown_expression (loc expr) (
(return (make_object2 (to_sym "UnknownExpression") loc expr))
))
(export fun division_by_zero (loc) (
(return (make_object1 (to_sym "DivisionByZero") loc))
))
(export fun invalid_format (loc str) (
(return (make_object2 (to_sym "InvalidFormat") loc str))
))
(export fun not_found (loc expr) (
(return (make_object2 (to_sym "NotFound") loc expr))
))
(export fun field_not_found (loc expr sym) (
(return (make_object3 (to_sym "FieldNotFound") loc expr sym))
))
(export fun bug (msg) (
(return (make_object1 (to_sym "Bug") msg))
))
))