category

code_metrics_utilities

Internal predicates for analyzing source code.

Author: Ebrahim Azarisooreh
Version: 0.6
Date: 2018/6/8
Compilation flags:
static

(no dependencies on other entities)

Public interface

(none)

Protected interface

(none)

Private 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 corresponding property defined in the grammar.

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 Update (by e.g. asserta/1, retract/1, etc.)

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

Operators

(none)

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 private.