コード例 #1
0
        public override IVerbWorker getWorker(WorkingDirectory workingDirectory)
        {
            // First expand our Dafny source file to inline all its includes.
            this.expandedSource = this.input.getNewSourcePath("ExpandedSource.dfy");
            DafnyIncludes dafnyIncludes = new DafnyIncludes();

            dafnyIncludes.ExpandDafny(workingDirectory, this.input, this.expandedSource);

            // Call Dafny.exe to compile Dafny source to CSharp target.
            var args = new[] { "/noVerify", "/spillTargetCode:1", "/compile:2", "/ironDafny", this.expandedSource.getRelativePath() };

            Console.WriteLine("expanded source: " + this.expandedSource.getRelativePath());
            ////Logger.WriteLine("arguments: " + String.Join(" ", args));
            return
                (new ProcessInvokeAsyncWorker(
                     workingDirectory,
                     this,
                     DafnyExecutableDependencies.getDafnyExecutable().getRelativePath(),
                     args,
                     ProcessExitCodeHandling.NonzeroIsFailure,
                     getDiagnosticsBase(),
                     returnStandardOut: true,   // REVIEW: Doesn't appear to be needed.
                     returnStandardError: true, // REVIEW: Doesn't appear to be needed.
                     allowCloudExecution: true));
        }
コード例 #2
0
        public override IVerbWorker getWorker(WorkingDirectory workingDirectory)
        {
            // First expand our Dafny source file to inline all its includes.
            this.expandedSource = this.input.getNewSourcePath("ExpandedSource.dfy");
            DafnyIncludes dafnyIncludes = new DafnyIncludes();
            dafnyIncludes.ExpandDafny(workingDirectory, this.input, this.expandedSource);

            // Call Dafny.exe to compile Dafny source to CSharp target.
            var args = new[] { "/noVerify", "/spillTargetCode:1", "/compile:2", "/ironDafny", this.expandedSource.getRelativePath() };
            Console.WriteLine("expanded source: " + this.expandedSource.getRelativePath());
            ////Logger.WriteLine("arguments: " + String.Join(" ", args));
            return
                new ProcessInvokeAsyncWorker(
                    workingDirectory,
                    this,
                    DafnyExecutableDependencies.getDafnyExecutable().getRelativePath(),
                    args,
                    ProcessExitCodeHandling.NonzeroIsFailure,
                    getDiagnosticsBase(),
                    returnStandardOut: true,  // REVIEW: Doesn't appear to be needed.
                    returnStandardError: true,  // REVIEW: Doesn't appear to be needed.
                    allowCloudExecution: true);
        }