fix implicit import
This commit is contained in:
parent
6bb4db125d
commit
9e36576951
|
@ -137,7 +137,7 @@ module(N) :-
|
||||||
'$import'([PS|L],_,_) :-
|
'$import'([PS|L],_,_) :-
|
||||||
'$do_error'(domain_error(predicate_spec,PS),import([PS|L])).
|
'$do_error'(domain_error(predicate_spec,PS),import([PS|L])).
|
||||||
|
|
||||||
% $use_preds(Imports,Publics,Mod,M)
|
$use_preds(Imports,Publics,Mod,M) :- writeln(),fail.
|
||||||
'$use_preds'(Imports,Publics,Mod,M) :- var(Imports), !,
|
'$use_preds'(Imports,Publics,Mod,M) :- var(Imports), !,
|
||||||
'$import'(Publics,Mod,M).
|
'$import'(Publics,Mod,M).
|
||||||
'$use_preds'(M:L,Publics,Mod,_) :-
|
'$use_preds'(M:L,Publics,Mod,_) :-
|
||||||
|
@ -147,9 +147,9 @@ module(N) :-
|
||||||
'$use_preds'(P,Publics,Mod,M),
|
'$use_preds'(P,Publics,Mod,M),
|
||||||
'$use_preds'(Ps,Publics,Mod,M).
|
'$use_preds'(Ps,Publics,Mod,M).
|
||||||
'$use_preds'(N/K,Publics,M,Mod) :-
|
'$use_preds'(N/K,Publics,M,Mod) :-
|
||||||
( lists:memberchk(N/K,Publics) -> true ;
|
( lists:memberchk(N/K,Publics) ->
|
||||||
print_message(warning,import(N/K,Mod,M,private))
|
true ;
|
||||||
),
|
print_message(warning,import(N/K,Mod,M,private))
|
||||||
'$do_import'(N, K, M, Mod).
|
'$do_import'(N, K, M, Mod).
|
||||||
'$use_preds'(N//K0,Publics,M,Mod) :-
|
'$use_preds'(N//K0,Publics,M,Mod) :-
|
||||||
K is K0+2,
|
K is K0+2,
|
||||||
|
@ -163,8 +163,11 @@ module(N) :-
|
||||||
% ignore imports that we do export
|
% ignore imports that we do export
|
||||||
%
|
%
|
||||||
'$do_import'(N, K, M, T) :-
|
'$do_import'(N, K, M, T) :-
|
||||||
recorded('$module','$module'(_F,T,MyExports),_),
|
recorded('$module','$module'(_F, T, MyExports),_),
|
||||||
lists:member(N/K,MyExports), !.
|
once(lists:member(N/K, MyExports)),
|
||||||
|
functor(S, N, K),
|
||||||
|
% reexport predicates if they are undefined in the current module.
|
||||||
|
\+ '$undefined'(S, T), !.
|
||||||
'$do_import'(N, K, M, T) :-
|
'$do_import'(N, K, M, T) :-
|
||||||
functor(G,N,K),
|
functor(G,N,K),
|
||||||
'$follow_import_chain'(M,G,M0,G0),
|
'$follow_import_chain'(M,G,M0,G0),
|
||||||
|
|
Reference in New Issue