PHP.Core.ScriptContext.SearchForIncludedFile C# (CSharp) Метод

SearchForIncludedFile() приватный Метод

Searches for a file in the script library, current directory, included paths, and web application root respectively.
private SearchForIncludedFile ( PhpError errorSeverity, string includedPath, FullPath includerFullPath ) : FullPath
errorSeverity PhpError A severity of an error (if occures).
includedPath string A source path to the included script.
includerFullPath FullPath Full source path to the including script.
Результат FullPath
		private FullPath SearchForIncludedFile(PhpError errorSeverity, string includedPath, FullPath includerFullPath)
		{
            FullPath result;

			string message;
            
            //
            // construct the delegate checking the script existance
            //

            var file_exists = applicationContext.BuildFileExistsDelegate();            

            //
            // try to find the script
            //

            if (file_exists != null)
            {
                string includer_directory = includerFullPath.IsEmpty ? WorkingDirectory : Path.GetDirectoryName(includerFullPath);
                
                // searches for file in the following order: 
                // - incomplete absolute path => combines with RootOf(WorkingDirectory)
                // - relative path => searches in FileSystem.IncludePaths then in the includer source directory
                result = PhpScript.FindInclusionTargetPath(
                    new InclusionResolutionContext(
                        applicationContext,
                        includer_directory,
                        WorkingDirectory,
                        config.FileSystem.IncludePaths
                        ),
                    includedPath,
                    file_exists,
                    out message);
            }
            else
            {
                message = "Script cannot be included with current configuration.";   // there is no precompiled MSA available on non-web application
                result = FullPath.Empty;
            }

			// failure:
			if (result.IsEmpty)
			{
				PhpException.Throw(errorSeverity,
					CoreResources.GetString("script_inclusion_failed",
					includedPath,
					message,
					config.FileSystem.IncludePaths,
					WorkingDirectory));
			}

			return result;
		}