Implement SourceManager::from_file