pub struct Layout {
pub items: Vec<Item>,
pub conditions: Vec<Condition>,
pub edits: Vec<Vec<Sym>>,
pub currencies: Vec<String>,
pub file_areas: Vec<(u32, u32)>,
pub record_lengths: Vec<Option<(u32, u32)>>,
pub linkage_roots: Vec<usize>,
pub local_size: u32,
pub size: u32,
pub file_names: Vec<String>,
pub linage_counters: Vec<Option<usize>>,
pub qualify: Qualify,
}Fields§
§items: Vec<Item>§conditions: Vec<Condition>§edits: Vec<Vec<Sym>>The positions of each edited PICTURE.
currencies: Vec<String>The currency sign value each edited PICTURE’s currency symbol stands for, empty without one.
file_areas: Vec<(u32, u32)>Offset and size of each file’s record area, in declaration order.
record_lengths: Vec<Option<(u32, u32)>>The least and greatest length of each file’s level-01 records, an OCCURS DEPENDING ON table counted at its fewest and at its most occurrences (Language Reference SC27-8713-03, p. 188); None for a file with none.
linkage_roots: Vec<usize>The item of each LINKAGE record, in order.
local_size: u32Bytes of LOCAL-STORAGE each activation gets.
size: u32§file_names: Vec<String>Each FD and SD name, in declaration order: the highest qualifier of its records.
linage_counters: Vec<Option<usize>>The LINAGE-COUNTER item of each file whose FD has LINAGE, which its file-name qualifies.
qualify: QualifyThe QUALIFY option Layout::resolve follows.
Implementations§
Source§impl Layout
impl Layout
Sourcepub fn name_files(
&mut self,
files: &[FileDecl],
linage_counters: Vec<Option<usize>>,
)
pub fn name_files( &mut self, files: &[FileDecl], linage_counters: Vec<Option<usize>>, )
Names the files, so that a file-name qualifies its records and its LINAGE-COUNTER.
Sourcepub fn resolve(
&self,
name: &str,
qualifiers: &[String],
pos: Pos,
) -> Result<Resolved, Error>
pub fn resolve( &self, name: &str, qualifiers: &[String], pos: Pos, ) -> Result<Resolved, Error>
A data item, condition-name or LINAGE-COUNTER named with its qualifiers, the last of which may be the file-name of an FD or SD (Language Reference SC27-8713-03, pp. 69-70). Under QUALIFY(EXTEND) a reference the standard’s rules find ambiguous names the one candidate it gives a complete set of qualifiers, if only one (Programming Guide SC27-8714-03, p. 400; Language Reference SC27-8713-03, pp. 67-68).