public Address getAddress() {
		Address minAddress = variable.getMinAddress();
		if (minAddress != null) {
			return minAddress;
		}

		// Note: some variables do not have an address, such as function parameters.  In that
		//       case, we will walk backwards until we hit the function, using that address.
		ClangNode parent = variable.Parent();
		while (parent != null) {
			if (parent instanceof ClangFunction) {
				HighFunction highFunction = ((ClangFunction) parent).getHighFunction();
				Function function = highFunction.getFunction();
				Address entry = function.getEntryPoint();
				return entry;
			}

			if (parent instanceof ClangTokenGroup) {
				Address parentAddress = getAddressFromParent((ClangTokenGroup) parent, variable);
				if (parentAddress != null) {
					return parentAddress;
				}
			}

			Address parentAddress = parent.getMinAddress();
			if (parentAddress != null) {
				return parentAddress;
			}
			parent = parent.Parent();
		}

		return null;
	}
A base class that represents a variable from the decompiler.  This is either a variable
type or a variable with an optional field access.
Ghidra/Features/DecompilerDependent/src/main/java/ghidra/app/extension/datatype/finder/DecompilerVariable.java