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
| Name | Type | Attributes | Default | Description |
|---|---|---|---|---|
| ancestor | character(len=:) | allocatable | the ancestor module, in lowercase | |
| arg_ids | integer | allocatabledimension(:) | the entity of each argument | |
| args | type(string_t) | allocatabledimension(:) | dummy argument names as written | |
| bind_c | character(len=:) | allocatable | the text of | |
| binding_ids | integer | allocatabledimension(:) | what each of | |
| bindings | type(string_t) | allocatabledimension(:) | what it is bound to | |
| calls | type(string_t) | allocatabledimension(:) |
| |
| common_block | logical | .false. | a procedure with a common block | |
| descendants | integer | allocatabledimension(:) | the submodules directly below this entity | |
| extends | character(len=:) | allocatable | the parent type's name as written, if any | |
| inherited | integer | allocatabledimension(:) | the components and bindings it inherits | |
| modproc_ids | integer | allocatabledimension(:) | those procedures, once found | |
| modprocs | type(string_t) | allocatabledimension(:) | procedures listed by | |
| parameters | type(attribute_t) | allocatabledimension(:) | values from | |
| parameters_list | type(string_t) | allocatabledimension(:) | type parameter names | |
| parent_submodule | character(len=:) | allocatable | the parent submodule, in lowercase | |
| pending | type(attribute_t) | allocatabledimension(:) | attributes waiting to be applied | |
| proto_text | character(len=:) | allocatable | the interface in | |
| public_list | type(string_t) | allocatabledimension(:) | names known to be public, in lowercase | |
| result_name | character(len=:) | allocatable | the result's name as written | |
| saved_state | logical | .false. | a procedure that keeps values between calls | |
| unknown_calls | type(string_t) | allocatabledimension(:) | the names of calls that were not found | |
| uses | type(use_t) | allocatabledimension(:) | its |
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