xfrp/materials

Materials.

Types

XfrpMaterials = object
  tbl: TableRef[XfrpModuleId, WithCodeInfo[XfrpModule]]
  root: XfrpModuleId
Materials. The root module is usually a normal module, not a material module.   Source Edit

Procs

proc makeMaterials(tbl: TableRef[XfrpModuleId, WithCodeInfo[XfrpModule]];
                   root: XfrpModuleId): XfrpMaterials {...}{.raises: [], tags: [].}
Construct new materials.   Source Edit
proc `[]`(materialTbl: XfrpMaterials; id: XfrpModuleId): WithCodeInfo[XfrpModule] {...}{.
    raises: [KeyError], tags: [].}
Get a material AST from given module ID.   Source Edit
proc getRoot(materialTbl: XfrpMaterials): WithCodeInfo[XfrpModule] {...}{.
    raises: [KeyError], tags: [].}
Get a root module AST.   Source Edit
proc getRootId(materialTbl: XfrpMaterials): XfrpModuleId {...}{.raises: [], tags: [].}
Get a root module ID.   Source Edit

Iterators

iterator materialsOf(materialTbl: XfrpMaterials; moduleId: XfrpModuleId): XfrpModuleId {...}{.
    raises: [KeyError], tags: [].}
Iterate materials of given module by ID.   Source Edit
iterator depthFirst(materialTbl: XfrpMaterials; moduleId: XfrpModuleId): XfrpModuleId {...}{.
    raises: [KeyError], tags: [].}
Iterate materials by depth-first traversal.   Source Edit
iterator items(materialTbl: XfrpMaterials): XfrpModuleId {...}{.raises: [KeyError],
    tags: [].}
Iterate all available materials.   Source Edit
iterator pairs(materialTbl: XfrpMaterials): (XfrpModuleId,
    WithCodeInfo[XfrpModule]) {...}{.raises: [], tags: [].}
Iterate materials with its own IDs.   Source Edit