private static function findDeclarations($filePath) {

		// Defaults
		$gathered = array();
		$gatheringNamespace = false;
		$namespace = null;

		// Get PHP tokens from the specified file.
		$tokens = token_get_all(file_get_contents($filePath));

		foreach ($tokens as $index => $token) {

			// Namespace detection.
			if ($gatheringNamespace) {
				if (isset($token[1])) $namespace .= $token[1];
				if ($token == ";") {
					$namespace = trim($namespace, " ;\\");
					$namespace = $namespace . '\\';
					$gatheringNamespace = false;
				}
			}

			if ($namespace === null && $token[0] === T_NAMESPACE) {
				$gatheringNamespace = true;
			}

			if (isset($tokens[$index - 2]) && in_array($tokens[$index - 2][0], self::$autoloadableTokens, true)) {
				if ($tokens[$index - 1][0] === T_WHITESPACE &&
					$token[0] === T_STRING) {
					$gathered[] = $namespace . $token[1];
				}
			}

		}

		return $gathered;

	}