CallContinuation,
CharCode,
CharsToNumber,
- ClearAttrVarBindings,
ClearAttributeGoals,
CloneAttributeGoals,
CodesToNumber,
&SystemClauseType::REPL(REPLCodePtr::UseQualifiedModuleFromFile) => {
clause_name!("$use_qualified_module_from_file")
}
- &SystemClauseType::ClearAttrVarBindings => clause_name!("$clear_attr_var_bindings"),
&SystemClauseType::CopyToLiftedHeap => clause_name!("$copy_to_lh"),
&SystemClauseType::DeleteAttribute => clause_name!("$del_attr_non_head"),
&SystemClauseType::DeleteHeadAttribute => clause_name!("$del_attr_head"),
("$call_continuation", 1) => Some(SystemClauseType::CallContinuation),
("$char_code", 2) => Some(SystemClauseType::CharCode),
("$chars_to_number", 2) => Some(SystemClauseType::CharsToNumber),
- ("$clear_attr_var_bindings", 0) => Some(SystemClauseType::ClearAttrVarBindings),
("$clear_attribute_goals", 0) => Some(SystemClauseType::ClearAttributeGoals),
("$clone_attribute_goals", 1) => Some(SystemClauseType::CloneAttributeGoals),
("$codes_to_number", 2) => Some(SystemClauseType::CodesToNumber),
driver(Vars, Values) :-
iterate(Vars, Values, ListOfListsOfGoalLists),
- '$clear_attr_var_bindings',
!,
call_goals(ListOfListsOfGoalLists),
'$return_from_verify_attr'.
'$module_of'(Module, Attr), % write the owning module of Attr to Module.
gather_modules(Attrs, Modules).
-verify_attrs([Module|Modules], Var, Value, [Goals|ListOfGoalLists]) :-
- catch(Module:verify_attributes(Var, Value, Goals),
- error(evaluation_error((Module:verify_attributes)/3), verify_attributes/3),
- Goals = []),
- verify_attrs(Modules, Var, Value, ListOfGoalLists).
-verify_attrs([], _, _, []).
-
call_verify_attributes(Attrs, _, _, []) :-
var(Attrs), !.
call_verify_attributes([], _, _, []).
sort(Modules0, Modules),
verify_attrs(Modules, Var, Value, ListOfGoalLists).
+verify_attrs([Module|Modules], Var, Value, [Goals|ListOfGoalLists]) :-
+ catch(Module:verify_attributes(Var, Value, Goals),
+ error(evaluation_error((Module:verify_attributes)/3), verify_attributes/3),
+ Goals = []),
+ verify_attrs(Modules, Var, Value, ListOfGoalLists).
+verify_attrs([], _, _, []).
+
call_goals([ListOfGoalLists | ListsCubed]) :-
call_goals_0(ListOfGoalLists),
call_goals(ListsCubed).