From 371ec40cd3bbee34d954a28e5bdf86098e619ed4 Mon Sep 17 00:00:00 2001 From: Anders Svensson Date: Wed, 16 Nov 2011 16:58:34 +0100 Subject: diameter_spec_util -> diameter_dict_util and adapt to parser Errors are now detected after the parse with format_error/1 providing understandable error messages, pointing to the offending line number(s) in the dictionary source. --- lib/diameter/src/compiler/diameter_forms.hrl | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'lib/diameter/src/compiler/diameter_forms.hrl') diff --git a/lib/diameter/src/compiler/diameter_forms.hrl b/lib/diameter/src/compiler/diameter_forms.hrl index d93131df34..4cd86c32aa 100644 --- a/lib/diameter/src/compiler/diameter_forms.hrl +++ b/lib/diameter/src/compiler/diameter_forms.hrl @@ -21,6 +21,13 @@ %% Macros used when building abstract code. %% +%% Generated functions that could have no generated clauses will have +%% a trailing ?BADARG clause that should never execute as called +%% by diameter. +-define(BADARG(N), {?clause, [?VAR('_') || _ <- lists:seq(1,N)], + [], + [?APPLY(erlang, error, [?ATOM(badarg)])]}). + %% Form tag with line number. -define(F(T), T, ?LINE). %% Yes, that's right. The replacement is to the first unmatched ')'. -- cgit v1.2.3