object

# `modules_diagram_support`

Utility predicates for supporting Prolog modules in diagrams.

Author: Paulo Moura
Version: 0.18
Date: 2019/4/30
Compilation flags:
`static, context_switching_calls`

(no dependencies on other entities)

## Public interface

### `module_property/2`

Access to module properties, at least exports/1, file/1, and file/2 but also declares/2, defines/2, calls/2, and provides/3 when possible.

Compilation flags:
`static`
Template:
`module_property(Module,Property)`
Mode and number of proofs:
`module_property(?atom,?callable)` - `zero_or_more`

### `loaded_file_property/2`

Access to loaded source file properties, at least basename/1, directory/1 but also parent/1 when possible.

Compilation flags:
`static`
Template:
`loaded_file_property(File,Property)`
Mode and number of proofs:
`loaded_file_property(?atom,?callable)` - `zero_or_more`

### `source_file_extension/1`

Valid source file extension for Prolog source files.

Compilation flags:
`static`
Template:
`source_file_extension(Extension)`
Mode and number of proofs:
`source_file_extension(?atom)` - `one_or_more`

## Protected interface

(none)

## Private predicates

(none)

## Operators

(none)

## Remarks

(none)