@Override
	public ListingField getField(ProxyObj<?> proxy, int varWidth) {
		Object obj = proxy.getObject();

		if (!enabled || !(obj instanceof Variable)) {
			return null;
		}
		Variable var = (Variable) obj;
		FontMetrics fontMetrics = getMetrics(var);
		boolean hasInvalidStorage = !var.isValid();
		String loc = var.getVariableStorage().toString();
		AttributedString as = new AttributedString(getStorageIcon(fontMetrics, hasInvalidStorage),
			loc, hasInvalidStorage ? Messages.ERROR : getColor(var), fontMetrics, false, null);
		FieldElement field = new TextFieldElement(as, 0, 0);
		return ListingTextField.createSingleLineTextField(this, proxy, field, startX + varWidth,
			width, hlProvider);
	}
Constructor
@param model the model that the field belongs to.
@param hlProvider the HightLightStringProvider.
@param displayOptions the Options for display properties.
@param fieldOptions the Options for field specific properties.
Ghidra/Features/Base/src/main/java/ghidra/app/util/viewer/field/VariableLocFieldFactory.java