1%- 2% Copyright (c) 2012-2014 Yakaz 3% Copyright (c) 2016-2018 Jean-Sébastien Pédron <jean-sebastien.pedron@dumbbell.fr> 4% All rights reserved. 5% 6% Redistribution and use in source and binary forms, with or without 7% modification, are permitted provided that the following conditions 8% are met: 9% 1. Redistributions of source code must retain the above copyright 10% notice, this list of conditions and the following disclaimer. 11% 2. Redistributions in binary form must reproduce the above copyright 12% notice, this list of conditions and the following disclaimer in the 13% documentation and/or other materials provided with the distribution. 14% 15% THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 16% ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 17% IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 18% ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 19% FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 20% DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 21% OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 22% HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 23% LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 24% OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 25% SUCH DAMAGE. 26 27-ifndef(yamerl_errors_hrl). 28-define(yamerl_errors_hrl, true). 29 30-include("yamerl_types.hrl"). 31-include("yamerl_tokens.hrl"). 32 33%% ------------------------------------------------------------------- 34%% Errors and warnings. 35%% ------------------------------------------------------------------- 36 37-record(yamerl_invalid_option, { 38 type = error :: error | warning, 39 text :: string() | undefined, 40 41 option :: term() 42 }). 43 44-record(yamerl_parsing_error, { 45 type = error :: error | warning, 46 text :: string() | undefined, 47 48 line :: position() | undefined, 49 column :: position() | undefined, 50 name = error :: atom(), 51 token :: yamerl_partial_token() 52 | undefined, 53 extra = [] :: [term()] 54 }). 55 56-type yamerl_error() :: #yamerl_invalid_option{} 57 | #yamerl_parsing_error{}. 58 59-record(yamerl_exception, { 60 errors = [] :: [yamerl_error()] 61 }). 62-type yamerl_exception() :: #yamerl_exception{}. 63 64-endif. 65