fdoc

typeentity_more_t

What only some entities have. Most entities are variables, which share one of these, so an entity takes half the memory; this makes up most of the memory used on large projects.

Components

NameTypeAttributesDefaultDescription
ancestorcharacter(len=:)allocatable

the ancestor module, in lowercase

arg_idsintegerallocatabledimension(:)

the entity of each argument

argstype(string_t)allocatabledimension(:)

dummy argument names as written

bind_ccharacter(len=:)allocatable

the text of bind(...), if any

binding_idsintegerallocatabledimension(:)

what each of bindings is, once found

bindingstype(string_t)allocatabledimension(:)

what it is bound to

callstype(string_t)allocatabledimension(:)

%-separated names of what it calls, in lowercase

common_blocklogical.false.

a procedure with a common block

descendantsintegerallocatabledimension(:)

the submodules directly below this entity

extendscharacter(len=:)allocatable

the parent type's name as written, if any

inheritedintegerallocatabledimension(:)

the components and bindings it inherits

modproc_idsintegerallocatabledimension(:)

those procedures, once found

modprocstype(string_t)allocatabledimension(:)

procedures listed by module procedure

parameterstype(attribute_t)allocatabledimension(:)

values from parameter statements

parameters_listtype(string_t)allocatabledimension(:)

type parameter names

parent_submodulecharacter(len=:)allocatable

the parent submodule, in lowercase

pendingtype(attribute_t)allocatabledimension(:)

attributes waiting to be applied

proto_textcharacter(len=:)allocatable

the interface in procedure(...), if any

public_listtype(string_t)allocatabledimension(:)

names known to be public, in lowercase

result_namecharacter(len=:)allocatable

the result's name as written

saved_statelogical.false.

a procedure that keeps values between calls

unknown_callstype(string_t)allocatabledimension(:)

the names of calls that were not found

usestype(use_t)allocatabledimension(:)

its use statements

Source

Show the code
type, public :: entity_more_t
    !! What only some entities have. Most entities are variables, which share one of these, so an
    !! entity takes half the memory; this makes up most of the memory used on large projects.
    type(use_t), allocatable :: uses(:)         !! its `use` statements
    type(attribute_t), allocatable :: pending(:)    !! attributes waiting to be applied
    type(attribute_t), allocatable :: parameters(:) !! values from `parameter` statements
    type(string_t), allocatable :: public_list(:)   !! names known to be public, in lowercase
    character(len=:), allocatable :: ancestor       !! the ancestor module, in lowercase
    character(len=:), allocatable :: parent_submodule  !! the parent submodule, in lowercase
    integer, allocatable :: descendants(:)      !! the submodules directly below this entity
    type(string_t), allocatable :: args(:)      !! dummy argument names as written
    integer, allocatable :: arg_ids(:)          !! the entity of each argument
    character(len=:), allocatable :: result_name    !! the result's name as written
    character(len=:), allocatable :: bind_c     !! the text of `bind(...)`, if any
    type(string_t), allocatable :: calls(:)     !! `%`-separated names of what it calls, in lowercase
    type(string_t), allocatable :: unknown_calls(:) !! the names of calls that were not found
    type(string_t), allocatable :: modprocs(:)  !! procedures listed by `module procedure`
    integer, allocatable :: modproc_ids(:)      !! those procedures, once found
    character(len=:), allocatable :: extends    !! the parent type's name as written, if any
    type(string_t), allocatable :: parameters_list(:)   !! type parameter names
    integer, allocatable :: inherited(:)        !! the components and bindings it inherits
    type(string_t), allocatable :: bindings(:)  !! what it is bound to
    character(len=:), allocatable :: proto_text !! the interface in `procedure(...)`, if any
    integer, allocatable :: binding_ids(:)      !! what each of `bindings` is, once found
    logical :: saved_state = .false.            !! a procedure that keeps values between calls
    logical :: common_block = .false.          !! a procedure with a common block
end type entity_more_t

Graphs

Inherits

entity_more_tuse_tusesattribute_tpending, parametersrename_trenames

Inherited by