(contractNode: ContractDefinition)
| 146 | export { parseSubNode } |
| 147 | |
| 148 | export function parseContract(contractNode: ContractDefinition): DefinedType[] { |
| 149 | let structs = []; |
| 150 | const { subNodes, name } = contractNode; |
| 151 | for (let subNode of subNodes) { |
| 152 | const node = subNode as StructDefinition | EnumDefinition; |
| 153 | try { |
| 154 | const parsed = parseSubNode(name, node, /* false */); |
| 155 | if (parsed) structs.push(parsed); |
| 156 | } catch(err) { |
| 157 | console.log(`Failed to parse subNode ${node.name} in ${name}: \n\t${err.message}`) |
| 158 | } |
| 159 | } |
| 160 | return structs; |
| 161 | } |
| 162 | |
| 163 | const isSupportedNode = (x: ASTNode): x is SubNodeType => { |
| 164 | return SubNodeTypeStrings.includes(x.type); |
nothing calls this directly
no test coverage detected