/// <nodoc />
        public static bool UseSpecPublicFacadeAndAstWhenAvailable(this IFrontEndConfiguration configuration)
        {
            if (!configuration.EnableIncrementalFrontEnd())
            {
                // If incremental front-end is disabled, then it make no sense to construct public facades.
                return(false);
            }

            if (configuration.UseSpecPublicFacadeAndAstWhenAvailable != null)
            {
                return(configuration.UseSpecPublicFacadeAndAstWhenAvailable.Value);
            }

            // This optimization is on by default;
            return(true);
        }
 /// <summary>
 /// Returns true if spec-2-spec map should be constructed and saved during semantic analysis.
 /// </summary>
 public static bool TrackFileToFileDependencies(this IFrontEndConfiguration configuration) =>
 configuration.EnableIncrementalFrontEnd() && (configuration.ConstructAndSaveBindingFingerprint() || configuration.UsePartialEvaluation());