public static AttrDef read(BinaryReader reader) throws IOException {
			DWARFAttributeDef<DWARFAttribute> tmp =
				DWARFAttributeDef.read(reader, DWARFAttribute::of);
			if (tmp == null) {
				return null;
			}

			return new AttrDef(tmp.getAttributeId(), tmp.getRawAttributeId(),
				tmp.getAttributeForm(), tmp.getImplicitValue());
		}
Reads a {@link DWARFAttribute.AttrDef} instance from the {@link BinaryReader reader}.
<p>
Returns a null if its a end-of-list marker.

@param reader {@link BinaryReader} abbr stream
@return new {@link AttrDef}, or null if end-of-list
@throws IOException if error reading
Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/format/dwarf/attribs/DWARFAttribute.java