Separate callable errors that refer to the predicate indicator.
This commit is contained in:
parent
7f4b478572
commit
67de7e422d
@ -202,7 +202,7 @@ The error handler is called when there is an execution error or a
|
|||||||
warning needs to be displayed. The handlers include a number of hooks
|
warning needs to be displayed. The handlers include a number of hooks
|
||||||
to allow user-control.
|
to allow user-control.
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
:- system_module( '$_errors', [message_to_string/2,
|
:- system_module( '$_errors', [message_to_string/2,
|
||||||
print_message/2], ['$Error'/1,
|
print_message/2], ['$Error'/1,
|
||||||
@ -219,6 +219,11 @@ to allow user-control.
|
|||||||
% '$stack_dump',
|
% '$stack_dump',
|
||||||
throw(error(Type,[Message|local_sp(Message,CP,Envs,CPs)])).
|
throw(error(Type,[Message|local_sp(Message,CP,Envs,CPs)])).
|
||||||
|
|
||||||
|
'$do_pi_error'(type_error(callable,Name/0),Message) :- !,
|
||||||
|
'$do_error'(type_error(callable,Name),Message).
|
||||||
|
'$do_pi_error'(Error,Message) :- !,
|
||||||
|
'$do_error'(Error,Message).
|
||||||
|
|
||||||
'$Error'(E) :-
|
'$Error'(E) :-
|
||||||
'$LoopError'(E,top).
|
'$LoopError'(E,top).
|
||||||
|
|
||||||
|
@ -103,7 +103,7 @@ dynamic(X) :-
|
|||||||
'$do_error'(permission_error(modify,static_procedure,A/N),dynamic(Mod:A/N))
|
'$do_error'(permission_error(modify,static_procedure,A/N),dynamic(Mod:A/N))
|
||||||
).
|
).
|
||||||
'$dynamic2'(X,Mod) :-
|
'$dynamic2'(X,Mod) :-
|
||||||
'$do_error'(type_error(callable,X),dynamic(Mod:X)).
|
'$do_pi_error'(type_error(callable,X),dynamic(Mod:X)).
|
||||||
|
|
||||||
'$logical_updatable'(A//N,Mod) :- integer(N), !,
|
'$logical_updatable'(A//N,Mod) :- integer(N), !,
|
||||||
N1 is N+2,
|
N1 is N+2,
|
||||||
@ -145,7 +145,7 @@ defines all new or redefined predicates to be public.
|
|||||||
functor(T,A,N),
|
functor(T,A,N),
|
||||||
'$do_make_public'(T, Mod).
|
'$do_make_public'(T, Mod).
|
||||||
'$public'(X, Mod) :-
|
'$public'(X, Mod) :-
|
||||||
'$do_error'(type_error(callable,X),dynamic(Mod:X)).
|
'$do_pi_error'(type_error(callable,X),dynamic(Mod:X)).
|
||||||
|
|
||||||
'$do_make_public'(T, Mod) :-
|
'$do_make_public'(T, Mod) :-
|
||||||
'$is_dynamic'(T, Mod), !. % all dynamic predicates are public.
|
'$is_dynamic'(T, Mod), !. % all dynamic predicates are public.
|
||||||
|
@ -281,7 +281,7 @@ table(Pred) :-
|
|||||||
functor(PredFunctor,PredName,PredArity), !,
|
functor(PredFunctor,PredName,PredArity), !,
|
||||||
'$set_table'(Mod,PredFunctor,PredModeList).
|
'$set_table'(Mod,PredFunctor,PredModeList).
|
||||||
'$do_table'(Mod,Pred) :-
|
'$do_table'(Mod,Pred) :-
|
||||||
'$do_error'(type_error(callable,Pred),table(Mod:Pred)).
|
'$do_pi_error'(type_error(callable,Pred),table(Mod:Pred)).
|
||||||
|
|
||||||
'$set_table'(Mod,PredFunctor,_PredModeList) :-
|
'$set_table'(Mod,PredFunctor,_PredModeList) :-
|
||||||
'$undefined'('$c_table'(_,_,_),prolog), !,
|
'$undefined'('$c_table'(_,_,_),prolog), !,
|
||||||
@ -349,7 +349,7 @@ is_tabled(Pred) :-
|
|||||||
'$flags'(PredFunctor,Mod,Flags,Flags), !,
|
'$flags'(PredFunctor,Mod,Flags,Flags), !,
|
||||||
Flags /\ 0x000040 =\= 0.
|
Flags /\ 0x000040 =\= 0.
|
||||||
'$do_is_tabled'(Mod,Pred) :-
|
'$do_is_tabled'(Mod,Pred) :-
|
||||||
'$do_error'(type_error(callable,Pred),is_tabled(Mod:Pred)).
|
'$do_pi_error'(type_error(callable,Pred),is_tabled(Mod:Pred)).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -384,7 +384,7 @@ tabling_mode(Pred,Options) :-
|
|||||||
'$do_error'(domain_error(table,Mod:PredName/PredArity),tabling_mode(Mod:PredName/PredArity,Options))
|
'$do_error'(domain_error(table,Mod:PredName/PredArity),tabling_mode(Mod:PredName/PredArity,Options))
|
||||||
).
|
).
|
||||||
'$do_tabling_mode'(Mod,Pred,Options) :-
|
'$do_tabling_mode'(Mod,Pred,Options) :-
|
||||||
'$do_error'(type_error(callable,Pred),tabling_mode(Mod:Pred,Options)).
|
'$do_pi_error'(type_error(callable,Pred),tabling_mode(Mod:Pred,Options)).
|
||||||
|
|
||||||
'$set_tabling_mode'(Mod,PredFunctor,Options) :-
|
'$set_tabling_mode'(Mod,PredFunctor,Options) :-
|
||||||
var(Options), !,
|
var(Options), !,
|
||||||
@ -445,7 +445,7 @@ abolish_table(Pred) :-
|
|||||||
'$do_error'(domain_error(table,Mod:PredName/PredArity),abolish_table(Mod:PredName/PredArity))
|
'$do_error'(domain_error(table,Mod:PredName/PredArity),abolish_table(Mod:PredName/PredArity))
|
||||||
).
|
).
|
||||||
'$do_abolish_table'(Mod,Pred) :-
|
'$do_abolish_table'(Mod,Pred) :-
|
||||||
'$do_error'(type_error(callable,Pred),abolish_table(Mod:Pred)).
|
'$do_pi_error'(type_error(callable,Pred),abolish_table(Mod:Pred)).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -485,7 +485,7 @@ show_table(Stream,Pred) :-
|
|||||||
'$do_error'(domain_error(table,Mod:PredName/PredArity),show_table(Mod:PredName/PredArity))
|
'$do_error'(domain_error(table,Mod:PredName/PredArity),show_table(Mod:PredName/PredArity))
|
||||||
).
|
).
|
||||||
'$do_show_table'(_,Mod,Pred) :-
|
'$do_show_table'(_,Mod,Pred) :-
|
||||||
'$do_error'(type_error(callable,Pred),show_table(Mod:Pred)).
|
'$do_pi_error'(type_error(callable,Pred),show_table(Mod:Pred)).
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -525,7 +525,7 @@ table_statistics(Stream,Pred) :-
|
|||||||
'$do_error'(domain_error(table,Mod:PredName/PredArity),table_statistics(Mod:PredName/PredArity))
|
'$do_error'(domain_error(table,Mod:PredName/PredArity),table_statistics(Mod:PredName/PredArity))
|
||||||
).
|
).
|
||||||
'$do_table_statistics'(_,Mod,Pred) :-
|
'$do_table_statistics'(_,Mod,Pred) :-
|
||||||
'$do_error'(type_error(callable,Pred),table_statistics(Mod:Pred)).
|
'$do_pi_error'(type_error(callable,Pred),table_statistics(Mod:Pred)).
|
||||||
|
|
||||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user