@Override
	public void accumulateMatches(DataType dt, FieldMatcher fieldMatcher,
			List<DataTypeReference> results) {

		if (variable == null) {
			// This implies our API was misused in that a variable was never set after creation
			throw new AssertException("Decompiler variable declaration is missing a name");
		}

		DataType dataType = getDataType();
		if (!isEqual(dataType, dt)) {
			return; // wrong type, nothing to do
		}

		String name = variable.getName();
		int offset = variable.getOffset();
		if (fieldMatcher.matches(name, offset)) {

			// this will be null if the field matcher is empty
			String fieldName = fieldMatcher.getFieldName();
			Function function = getFunction();
			Address address = getAddress();
			LocationReferenceContext context = getContext();
			results.add(new DataTypeReference(dataType, fieldName, function, address, context));
		}
	}
Represents a type declaration and variable pair.
Ghidra/Features/DecompilerDependent/src/main/java/ghidra/app/extension/datatype/finder/VariableDR.java