built-in predicate
logtalk_linter_hook/7
Description
logtalk_linter_hook(Goal, Flag, File, Lines, Type, Entity, Warning)
Multifile user-defined predicate, supporting the definition of custom linter
warnings. Experimental. The Goal
argument can be a message sending goal,
Object::Message
, a call to a Prolog built-in predicate, or a call to a
module predicate, Module:Predicate
. The Flag
argument must be a
supported linter flag. The Warning
argument must be a valid core
message term. For a given Goal
, only the first successful call to this
predicate is considered.
Modes and number of proofs
logtalk_linter_hook(@callable, +atom, +atom, +pair(integer), +atom, @object_identifier, --callable) - zero_or_one
Errors
(none)
Examples
:- multifile(user::logtalk_linter_hook/7).
% warn about using list::append/3 to construct a list from an head and a tail
user::logtalk_linter_hook(
list::append(L1,L2,L), suspicious_calls,
File, Lines, Type, Entity,
suspicious_call(File, Lines, Type, Entity, list::append(L1,L2,L), [L=[Head|L2]])
) :-
nonvar(L1),
L1 = [Head].