]> gitweb.factorcode.org Git - factor.git/blob - core/classes/error/error.factor
change ERROR: words from throw-foo back to foo.
[factor.git] / core / classes / error / error.factor
1 ! Copyright (C) 2015 Doug Coleman.
2 ! See http://factorcode.org/license.txt for BSD license.
3 USING: accessors classes.private classes.tuple
4 classes.tuple.private combinators kernel parser sequences words ;
5 IN: classes.error
6
7 PREDICATE: error-class < tuple-class
8     "error-class" word-prop ;
9
10 M: error-class reset-class
11     [ call-next-method ] [ "error-class" remove-word-prop ] bi ;
12
13 : define-error-class ( class superclass slots -- )
14     error-slots {
15         [ define-tuple-class ]
16         [ 2drop reset-generic ]
17         [ 2drop t "error-class" set-word-prop ]
18         [
19             2drop
20             [ ]
21             [ [ boa throw ] curry ]
22             [ all-slots thrower-effect ]
23             tri define-declared
24         ]
25     } 3cleave ;