'Extract path information, interpolating current path values as needed.'

def _ExpandPath(self, target, vals, paths):

    if (target not in self._TARGETS):
        return
    expanded = []
    for val in vals:
        shellvar = self._SHELLVAR_RE.match(val)
        if (not val):
            expanded.append('.')
        elif shellvar:
            existing = paths.get(shellvar.group(1).upper())
            if existing:
                expanded.extend(existing)
            else:
                expanded.append(val)
        else:
            expanded.append(val)
    paths[target] = expanded
