@Override
		public String getRepresentation() {
			String extendsRep;
			if (extendsIndex == 0) {
				extendsRep = "Nothing";
			}
			else {
				try {
					extendsRep = getRowRepresentationSafe(CliIndexTypeDefOrRef.getTableName(extendsIndex), CliIndexTypeDefOrRef.getRowIndex(extendsIndex));
				}
				catch (InvalidInputException e) {
					extendsRep = Integer.toHexString(extendsIndex);
				}
			}
			// TODO: FieldList and MethodList point to contiguous runs of fields and methods, not just singles
			return String.format("Type %s Namespace %s Extends %s Fields %s MethodList %s Flags %s",
				metadataStream.getStringsStream().getString(typeNameIndex),
				metadataStream.getStringsStream().getString(typeNamespaceIndex),
				extendsRep, getRowRepresentationSafe(CliTypeTable.Field, fieldListIndex),
				getRowRepresentationSafe(CliTypeTable.MethodDef, methodListIndex), CliEnumTypeAttributes.dataType.getName(flags & 0xffffffff));
		}
Describes the TypeDef table. Each row represents a class in the current assembly.
Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/format/pe/cli/tables/CliTableTypeDef.java