Get an array of all source paths for this package.

@return array<integer,string> All source paths.
12079
public function allSourcePaths()
    {
        return array_merge(
            $this->allPsr4SourcePaths(),
            $this->allPsr0SourcePaths(),
            $this->autoloadClassmap(),
            $this->autoloadFiles(),
            $this->includePath()
        );
    }
1312063
public function getAllMembers() {
        $this->roadMap;
        $this->resources;
        $result = array();
        foreach ($this->roadMap as $road) {
            /* @var $road SourceRoad */
            $result[$road->getMemberId()] = $road;
        }
        foreach ($this->resources as $resource) {
            /* @var $resource AbstractResourceFile */
            $result[$resource->getMemberId()] = $resource;
        }
        return $result;
    }
395776
public function getContainmentTreeWithRequestPaths() {
    $tree_by_path = [];

    $tree = $this->getContainmentTree();

    foreach ($tree as $parent => $children) {
      foreach ($children as $child) {
        $tree_by_path[$this->requestPaths[$parent]][] = $this->requestPaths[$child];
      }
    }

    return $tree_by_path;
  }
1191672
public function findRoutes(): array
    {
        /** @var array[] $routes */
        $routes = [];

        $modules = $this->packageRepository->findModules();
        foreach ($modules as $module) {
            $extra = $module->getExtra();
            $this->validateRoutesSectionInExtra($extra);
            if (empty($extra['phplist/core']['routes'])) {
                continue;
            }

            /** @var array $moduleRoutes */
            $moduleRoutes = $extra['phplist/core']['routes'];
            foreach ($moduleRoutes as $name => $route) {
                $prefixedRouteName = $module->getName() . '.' . $name;
                $routes[$prefixedRouteName] = $route;
            }
        }

        return $routes;
    }
171511
protected Package[] getPackages() {
        Map<String, Package> map;
        synchronized (packages) {
            map = new HashMap<>(packages);
        }
        return map.values().toArray(new Package[map.size()]);
    }
104242
public String[] getSpillingDirectoriesPaths() {
		String[] strings = new String[this.paths.length];
		for (int i = 0; i < strings.length; i++) {
			strings[i] = paths[i].getAbsolutePath();
		}
		return strings;
	}
732442
public function getPublicResourcePaths()
    {
        $paths = [];
        foreach ($this->packageManager->getFlowPackages() as $packageKey => $package) {
            $publicResourcesPath = Files::concatenatePaths([$package->getResourcesPath(), 'Public']);
            if (is_dir($publicResourcesPath)) {
                $paths[$packageKey] = $publicResourcesPath;
            }
        }
        return $paths;
    }
529386
public function getSources()
    {
        if (null === $this->sources) {
            $sources = array();

            foreach ($this->getSourceFiles() as $sourcePath) {
                $sources[] = new Pinocchio($sourcePath);
            }

            $this->sources = $sources;
        }

        return $this->sources;
    }
1010599
protected function getAllSourceFiles()
	{
		$files = array_merge(
			glob_recursive('build/*.php'),
			glob_recursive('src/*.php'),
			glob_recursive('tests/*.php'),
			glob('*.php')
		);

		sort($files);

		return $files;
	}
101731
public function getBins()
    {
        if (!isset($this->package['bin'])) {
            return array();
        }

        $bins = array();
        foreach ($this->package['bin'] as $bin) {
            $bins []= $this->getAbsolutePath($bin);
        }

        return $bins;
    }
1284961
public static String[] getAllClassPathNotInJar() {
        String[] allClassPath = getAllClassPaths();
        List<String> allClassPathNotInJar = new ArrayList<String>();
        for (String classPath : allClassPath) {
            if (classPath.endsWith("jar")) {
                continue;
            }
            allClassPathNotInJar.add(classPath);
        }
        return allClassPathNotInJar.toArray(new String[allClassPathNotInJar.size()]);
    }
654877
public static List<String> getSourcePaths(Context context) throws PackageManager.NameNotFoundException, IOException {
        ApplicationInfo applicationInfo = context.getPackageManager().getApplicationInfo(context.getPackageName(), 0);
        File sourceApk = new File(applicationInfo.sourceDir);

        List<String> sourcePaths = new ArrayList<>();
        sourcePaths.add(applicationInfo.sourceDir); //add the default apk path

        //the prefix of extracted file, ie: test.classes
        String extractedFilePrefix = sourceApk.getName() + EXTRACTED_NAME_EXT;

//        如果VM已经支持了MultiDex，就不要去Secondary Folder加载 Classesx.zip了，那里已经么有了
//        通过是否存在sp中的multidex.version是不准确的，因为从低版本升级上来的用户，是包含这个sp配置的
        if (!isVMMultidexCapable()) {
            //the total dex numbers
            int totalDexNumber = getMultiDexPreferences(context).getInt(KEY_DEX_NUMBER, 1);
            File dexDir = new File(applicationInfo.dataDir, SECONDARY_FOLDER_NAME);

            for (int secondaryNumber = 2; secondaryNumber <= totalDexNumber; secondaryNumber++) {
                //for each dex file, ie: test.classes2.zip, test.classes3.zip...
                String fileName = extractedFilePrefix + secondaryNumber + EXTRACTED_SUFFIX;
                File extractedFile = new File(dexDir, fileName);
                if (extractedFile.isFile()) {
                    sourcePaths.add(extractedFile.getAbsolutePath());
                    //we ignore the verify zip part
                } else {
                    throw new IOException("Missing extracted secondary dex file '" + extractedFile.getPath() + "'");
                }
            }
        }

        if (ARouter.debuggable()) { // Search instant run support only debuggable
            sourcePaths.addAll(tryLoadInstantRunDexFile(applicationInfo));
        }
        return sourcePaths;
    }
843764
private function getExcludePaths(): array
    {
        $excludePaths = [];

        foreach ($this->excludePaths as $path) {
            $path = str_replace('*', '.*', $path);
            $excludePaths[] = '#' . str_replace($this->rootDirectory . '/', '', $path) . '#';
        }

        return $excludePaths;
    }
321081
public Path[] getFilePaths() {

		if (supportsMultiPaths()) {
			if (this.filePaths == null) {
				return new Path[0];
			}
			return this.filePaths;
		} else {
			if (this.filePath == null) {
				return new Path[0];
			}
			return new Path[] {filePath};
		}
	}
613680
public function sourcePath()
	{
		if (!isset($this->paths['source']))
		{
			// If loading from an absolute path
			if ($this->directory == '/')
			{
				$this->paths['source'] = PATH_ROOT . DS . $this->directory . $this->file();
			}
			else
			{
				$paths  = array();

				$basea  = PATH_APP . DS;
				$basec  = PATH_CORE . DS;

				$client = (isset(\App::get('client')->alias) ? \App::get('client')->alias : \App::get('client')->name);

				$path2 = '';
				switch ($this->extensionType())
				{
					case 'plugins':
						$parts = explode('_', $this->extensionName());
						$path = $this->extensionType() . DS . $parts[1] . DS . $parts[2] . DS;
					break;

					case 'components':
						$path = $this->extensionType() . DS . $this->extensionName() . DS . $client . DS;
						if (substr($this->extensionName(), 0, 4) == 'com_')
						{
							$path2 = $this->extensionType() . DS . substr($this->extensionName(), 4) . DS . $client . DS;
						}
					break;

					case 'modules':
						$path = $this->extensionType() . DS . $this->extensionName() . DS;
						if (substr($this->extensionName(), 0, 4) == 'mod_')
						{
							$path2 = $this->extensionType() . DS . substr($this->extensionName(), 4) . DS;
						}
					break;

					case 'system':
					case 'core':
					default:
						$path = '';
					break;
				}

				// App
				$paths_app[] = $basea . $path . 'assets' . ($this->directory ? DS . $this->directory : '') . DS . $this->file();
				$paths_app[] = $basea . $path . ($this->directory ? $this->directory . DS : '') . $this->file();

				// Core
				$paths_core[] = $basec . $path . 'assets' . ($this->directory ? DS . $this->directory : '') . DS . $this->file();
				$paths_core[] = $basec . $path . ($this->directory ? $this->directory . DS : '') . $this->file();

				if ($path2)
				{
					// App
					$paths_app[] = $basea . $path2 . 'assets' . ($this->directory ? DS . $this->directory : '') . DS . $this->file();
					$paths_app[] = $basea . $path2 . ($this->directory ? $this->directory . DS : '') . $this->file();
					if ($this->name == $this->extension)
					{
						$paths_app[] = $basea . $path2 . 'assets' . ($this->directory ? DS . $this->directory : '') . DS . substr($this->name, 4) . '.' . $this->type;
						$paths_app[] = $basea . $path2 . ($this->directory ? $this->directory . DS : '') . substr($this->name, 4) . '.' . $this->type;
					}

					// Core
					$paths_core[] = $basec . $path2 . 'assets' . ($this->directory ? DS . $this->directory : '') . DS . $this->file();
					$paths_core[] = $basec . $path2 . ($this->directory ? $this->directory . DS : '') . $this->file();
					if ($this->name == $this->extension)
					{
						$paths_core[] = $basec . $path2 . 'assets' . ($this->directory ? DS . $this->directory : '') . DS . substr($this->name, 4) . '.' . $this->type;
						$paths_core[] = $basec . $path2 . ($this->directory ? $this->directory . DS : '') . substr($this->name, 4) . '.' . $this->type;
					}
				}
				$paths = array_merge($paths_app, $paths_core);
				// Run through each path until we find one that works
				foreach ($paths as $path)
				{
					if (file_exists($path))
					{
						$this->paths['source'] = $path;
						break;
					}
				}
			}
		}
		return $this->paths['source'];
	}
369097
public function getAllClassNames()
    {
        if (!$this->paths) {
            throw Exception::pathsRequired();
        }

        $classes = array();
        $includedFiles = array();

        foreach ($this->paths as $path) {
            if (!is_dir($path)) {
                throw Exception::invalidPath($path);
            }

            $iterator = new \RegexIterator(
                new \RecursiveIteratorIterator(
                    new \RecursiveDirectoryIterator($path, \FilesystemIterator::SKIP_DOTS),
                    \RecursiveIteratorIterator::LEAVES_ONLY
                ),
                '/^.+\.php$/i',
                \RecursiveRegexIterator::GET_MATCH
            );

            foreach ($iterator as $file) {
                $sourceFile = realpath($file[0]);

                require_once $sourceFile;

                $includedFiles[] = $sourceFile;
            }
        }

        $declared = get_declared_classes();

        foreach ($declared as $className) {
            $rc = new \ReflectionClass($className);
            $sourceFile = $rc->getFileName();
            if (in_array($sourceFile, $includedFiles) && $this->isResource($className)) {
                $classes[] = $className;
            }
        }

        return $classes;
    }
543679
public function getPackages()
    {
        if ($this->packages === null) {
            $this->packages = $this->composer->getRepositoryManager()->getLocalRepository()->getCanonicalPackages();
            $this->packages[] = $this->composer->getPackage();
        }

        return $this->packages;
    }