private void parse() throws IOException, CancelledException {
		try (ByteProvider provider =
			MemoryByteProvider.createDefaultAddressSpaceByteProvider(program, false)) {
			BinaryReader reader = new BinaryReader(provider, !program.getLanguage().isBigEndian());
			
			parseEntryPoints(SwiftSection.BLOCK_ENTRY, reader);
			parseBuiltinTypeDescriptors(SwiftSection.BLOCK_BUILTIN, reader);
			parseFieldDescriptors(SwiftSection.BLOCK_FIELDMD, reader);
			parseAssociatedTypeDescriptors(SwiftSection.BLOCK_ASSOCTY, reader);
			parseCaptureTypeDescriptors(SwiftSection.BLOCK_CAPTURE, reader);
			parseMultiPayloadEnumDescriptors(SwiftSection.BLOCK_MPENUM, reader);
			parseProtocolDescriptors(SwiftSection.BLOCK_PROTOCS, reader);
			parseProtocolConformanceDescriptors(SwiftSection.BLOCK_CONFORM, reader);
			parseTypeDescriptors(SwiftSection.BLOCK_TYPES, reader);
		}
	}
Parses the {@link SwiftTypeMetadata}

@throws IOException if there was an IO-related error
@throws CancelledException if the user cancelled the operation
Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/format/swift/SwiftTypeMetadata.java