def transform_sources(self, sources, with_string=False):
        """Get the defintions of needed strings and functions
        after replacement.
        """
        modules = {}
        updater = partial(
            self.replace_source, modules=modules, prefix='string_')
        for filename in sources:
            updated = update_func_body(sources[filename], updater)
            sources[filename] = EXTERN_AND_SEG + updated
        logging.debug('modules: %s', modules)
        return sources, self.build_funcs(modules)