code: def subst_path(self, env, target, source):
          
          result = []
          for type, value in self.pathlist:
              if type == TYPE_STRING_SUBST:
                  value = env.subst(value, target=target, source=source,
                                    conv=node_conv)
                  if SCons.Util.is_Sequence(value):
                      result.extend(SCons.Util.flatten(value))
                  elif value:
                      result.append(value)
              elif type == TYPE_OBJECT:
                  value = node_conv(value)
                  if value:
                      result.append(value)
              elif value:
                  result.append(value)
          return tuple(result)
docs: Performs construction variable substitution on a pre-digested
          PathList for a specific target and source.