category

code_metrics_utilities

Internal predicates for analyzing source code.

Availability:
logtalk_load(code_metrics(loader))
Author: Ebrahim Azarisooreh
Version: 0:7:0
Date: 2024-03-28
Compilation flags:
static
Uses:
Remarks:
  • Usage: This is meant to be imported by any metric added to the system.

  • Predicate Scope: This is meant for internal use by metrics only. As such, all provided predicates are protected.

Inherited public predicates:
(none)

Public predicates

(no local declarations; see entity ancestors if any)

Protected predicates

ancestor/4

True if Entity descends from Ancestor, and EntityKind and AncestorKind unify with their respective entity types.

Compilation flags:
static
Template:
ancestor(EntityKind,Entity,AncestorKind,Ancestor)
Mode and number of proofs:
ancestor(?entity,?entity_identifier,?entity,?entity_identifier) - zero_or_more

current_entity/1

True if Entity is a currently loaded entity.

Compilation flags:
static
Template:
current_entity(Entity)
Mode and number of proofs:
current_entity(?entity_identifier) - zero_or_more

declares_predicate/2

True if Entity declares Predicate internally.

Compilation flags:
static
Template:
declares_predicate(Entity,Predicate)
Mode and number of proofs:
declares_predicate(?entity_identifier,?predicate_indicator) - zero_or_more

defines_predicate/2

True if Entity defines an implementation of Predicate internally. Auxiliary predicates are excluded from results.

Compilation flags:
static
Template:
defines_predicate(Entity,Predicate)
Mode and number of proofs:
defines_predicate(?entity_identifier,?predicate_indicator) - zero_or_more

defines_predicate/3

Same as defines_predicate/2, except Property is unified with a property of the predicate.

Compilation flags:
static
Template:
defines_predicate(Entity,Predicate,Property)
Mode and number of proofs:
defines_predicate(?entity_identifier,?predicate_indicator,?term) - zero_or_more

entity_calls/3

True if a predicate Caller within Entity makes a Call.

Compilation flags:
static
Template:
entity_calls(Entity,Caller,Call)
Mode and number of proofs:
entity_calls(?entity_identifier,?predicate_indicator,?predicate_indicator) - zero_or_one

entity_kind/2

True if Kind defines Entity and is one of category, protocol, or object.

Compilation flags:
static
Template:
entity_kind(Entity,Kind)
Mode and number of proofs:
entity_kind(+entity_identifier,-entity) - zero_or_one

entity_property/2

True if Property is a valid property of Entity. Entity can be either a category, a protocol, or an object.

Compilation flags:
static
Template:
entity_property(Entity,Property)
Mode and number of proofs:
entity_property(+entity_identifier,-term) - zero_or_more

entity_updates/3

True if a predicate Updater within Entity makes a dynamic update to Updated (by using e.g. the asserta/1 or retract/1 predicates).

Compilation flags:
static
Template:
entity_updates(Entity,Updater,Updated)
Mode and number of proofs:
entity_updates(+entity_identifier,?predicate_indicator,?predicate_indicator) - zero_or_one

not_excluded_file/3

True if the file is not being excluded.

Compilation flags:
static
Template:
not_excluded_file(ExcludedFiles,Path,Basename)
Mode and number of proofs:
not_excluded_file(+list(atom),+atom,+atom) - zero_or_one

Private predicates

(no local declarations; see entity ancestors if any)

Operators

(none)