module-qualify callables more liberally but not for built-ins (#1243)
This commit is contained in:
@@ -629,12 +629,15 @@ expand_subgoal(UnexpandedGoals, MS, Module, ExpandedGoals, HeadVars) :-
|
|||||||
).
|
).
|
||||||
|
|
||||||
|
|
||||||
expand_module_name(ESG0, M, ESG) :-
|
expand_module_name(ESG0, MS, M, ESG) :-
|
||||||
( var(ESG0) ->
|
( var(ESG0) ->
|
||||||
ESG = M:ESG0
|
ESG = M:ESG0
|
||||||
; ESG0 = _:_ ->
|
; ESG0 = _:_ ->
|
||||||
ESG = ESG0
|
ESG = ESG0
|
||||||
; predicate_property(ESG0, built_in) ->
|
; functor(ESG0, F, A0),
|
||||||
|
A is A0 + MS,
|
||||||
|
functor(EESG0, F, A),
|
||||||
|
predicate_property(EESG0, built_in) ->
|
||||||
ESG = ESG0
|
ESG = ESG0
|
||||||
; ESG = M:ESG0
|
; ESG = M:ESG0
|
||||||
).
|
).
|
||||||
@@ -645,11 +648,10 @@ expand_meta_predicate_subgoals([SG | SGs], [MS | MSs], M, [ESG | ESGs], HeadVars
|
|||||||
MS >= 0
|
MS >= 0
|
||||||
) ->
|
) ->
|
||||||
( var(SG),
|
( var(SG),
|
||||||
MS =:= 0,
|
|
||||||
pairs:same_key(SG, HeadVars, [_|_], _) ->
|
pairs:same_key(SG, HeadVars, [_|_], _) ->
|
||||||
expand_subgoal(SG, MS, M, ESG, HeadVars)
|
expand_subgoal(SG, MS, M, ESG, HeadVars)
|
||||||
; expand_subgoal(SG, MS, M, ESG0, HeadVars),
|
; expand_subgoal(SG, MS, M, ESG0, HeadVars),
|
||||||
expand_module_name(ESG0, M, ESG)
|
expand_module_name(ESG0, MS, M, ESG)
|
||||||
),
|
),
|
||||||
expand_meta_predicate_subgoals(SGs, MSs, M, ESGs, HeadVars)
|
expand_meta_predicate_subgoals(SGs, MSs, M, ESGs, HeadVars)
|
||||||
; ESG = SG,
|
; ESG = SG,
|
||||||
@@ -664,8 +666,7 @@ expand_module_names(Goals, MetaSpecs, Module, ExpandedGoals, HeadVars) :-
|
|||||||
( GoalFunctor == (:),
|
( GoalFunctor == (:),
|
||||||
SubGoals = [M, SubGoal] ->
|
SubGoals = [M, SubGoal] ->
|
||||||
expand_module_names(SubGoal, MetaSpecs, M, ExpandedSubGoal, HeadVars),
|
expand_module_names(SubGoal, MetaSpecs, M, ExpandedSubGoal, HeadVars),
|
||||||
expand_module_name(ExpandedSubGoal, M, ExpandedGoals)
|
expand_module_name(ExpandedSubGoal, 0, M, ExpandedGoals)
|
||||||
% ExpandedGoals = M:ExpandedSubGoal
|
|
||||||
; expand_meta_predicate_subgoals(SubGoals, MetaSpecs, Module, ExpandedGoalList, HeadVars),
|
; expand_meta_predicate_subgoals(SubGoals, MetaSpecs, Module, ExpandedGoalList, HeadVars),
|
||||||
ExpandedGoals =.. [GoalFunctor | ExpandedGoalList]
|
ExpandedGoals =.. [GoalFunctor | ExpandedGoalList]
|
||||||
).
|
).
|
||||||
|
|||||||
Reference in New Issue
Block a user