예제 #1
0
 /// <nodoc />
 public TestRunner(Action <Diagnostic> diagnosticHandler, bool updateFailedTests)
 {
     m_tracingLogger     = BuildXL.FrontEnd.Core.Tracing.Logger.CreateLogger(true);
     m_astLogger         = Script.Tracing.Logger.CreateLogger(true);
     m_schedulerLogger   = BuildXL.Scheduler.Tracing.Logger.CreateLogger(true);
     m_diagnosticHandler = diagnosticHandler;
     m_updateFailedTests = updateFailedTests;
     BuildXL.Storage.ContentHashingUtilities.SetDefaultHashType();
 }
예제 #2
0
        /// <nodoc/>
        public JavaScriptResolver(
            FrontEndHost host,
            FrontEndContext context,
            string frontEndName)
        {
            Contract.Requires(!string.IsNullOrEmpty(frontEndName));

            m_frontEndName = frontEndName;
            Context        = context;
            m_host         = host;
            m_logger       = Script.Tracing.Logger.CreateLogger(preserveLogEvents: true);
        }
예제 #3
0
        /// <nodoc/>
        public MsBuildResolver(
            GlobalConstants constants,
            ModuleRegistry sharedModuleRegistry,
            IFrontEndStatistics statistics,
            FrontEndHost host,
            FrontEndContext context,
            IConfiguration configuration,
            Script.Tracing.Logger logger,
            string frontEndName)
            : base(constants, sharedModuleRegistry, statistics, logger, host, context, configuration)
        {
            Contract.Requires(!string.IsNullOrEmpty(frontEndName));

            m_frontEndName = frontEndName;
        }
예제 #4
0
        /// <nodoc/>
        public DownloadResolver(
            FrontEndStatistics frontEndStatistics,
            EvaluationStatistics evaluationStatistics,
            FrontEndHost frontEndHost,
            FrontEndContext context,
            Script.Tracing.Logger logger,
            string frontEndName)
        {
            Contract.Requires(!string.IsNullOrEmpty(frontEndName));

            Name = frontEndName;
            m_frontEndStatistics   = frontEndStatistics;
            m_evaluationStatistics = evaluationStatistics;
            m_frontEndHost         = frontEndHost;
            m_context = context;
            m_logger  = logger;
        }
예제 #5
0
 /// <nodoc/>
 public DownloadFrontEnd()
 {
     m_logger               = Script.Tracing.Logger.CreateLogger(preserveLogEvents: true);
     m_frontEndStatistics   = new FrontEndStatistics();
     m_evaluationStatistics = new EvaluationStatistics();
 }
예제 #6
0
        /// <summary>
        /// Runs AST conversion on the given target path.
        /// </summary>
        /// <remarks>
        /// The target path is assumed to already be part of the workspace contained by the given host
        /// </remarks>
        public static Task <SourceFileParseResult> RunAstConversionAsync(FrontEndHost host, FrontEndContext context, Script.Tracing.Logger logger, IFrontEndStatistics stats, Package package, AbsolutePath conversionTarget)
        {
            Contract.RequiresNotNull(host);
            Contract.RequiresNotNull(context);
            Contract.RequiresNotNull(logger);
            Contract.RequiresNotNull(stats);
            Contract.RequiresNotNull(package);
            Contract.Requires(conversionTarget.IsValid);

            var configuration = AstConversionConfiguration.FromConfiguration(host.Configuration.FrontEnd);
            var linter        = DiagnosticAnalyzer.Create(
                logger,
                context.LoggingContext,
                new HashSet <string>(configuration.PolicyRules),
                configuration.DisableLanguagePolicies);

            var workspace     = (Workspace)host.Workspace;
            var factory       = new RuntimeModelFactory(stats, configuration, linter, workspace);
            var parserContext = new RuntimeModelContext(
                host,
                frontEndContext: context,
                logger,
                package: package,
                origin: default(LocationData));

            var sourceFile = workspace.GetSourceFile(conversionTarget);

            return(factory.ConvertSourceFileAsync(parserContext, sourceFile));
        }