Exemplo n.º 1
0
        public override IVerbWorker getWorker(WorkingDirectory workingDirectory)
        {
            List<string> args = new List<string>();
            //// args.add(BUILD_DEFS
            //// args.add(boogieasm_flags)
            args.Add(getAction());
            BuildObject captureStdout = null;
            if (outFlagWorks())
            {
                args.Add("-out");
                args.Add(outputFile().getRelativePath());
            }
            else
            {
                captureStdout = outputFile();
            }

            BasmModuleAccumulator acc = new BasmModuleAccumulator(context, upstreamObj, includeAllImps());
            Util.Assert(acc.ddisp == DependencyDisposition.Complete);
            args.AddRange(acc.basmModules.Select(module => module.getRelativePath()));
            args.AddRange(context.getPoundDefines().ToDefArgs());
            extendArgs(args);

            return new ProcessInvokeAsyncWorker(
                workingDirectory,
                this,
                getBoogieasmExecutable().getRelativePath(),
                args.ToArray(),
                ProcessExitCodeHandling.NonzeroIsFailure,
                getDiagnosticsBase(),
                captureStdout: captureStdout);
        }
Exemplo n.º 2
0
        public override IVerbWorker getWorker(WorkingDirectory workingDirectory)
        {
            List <string> args = new List <string>();

            //// args.add(BUILD_DEFS
            //// args.add(boogieasm_flags)
            args.Add(getAction());
            BuildObject captureStdout = null;

            if (outFlagWorks())
            {
                args.Add("-out");
                args.Add(outputFile().getRelativePath());
            }
            else
            {
                captureStdout = outputFile();
            }

            BasmModuleAccumulator acc = new BasmModuleAccumulator(context, upstreamObj, includeAllImps());

            Util.Assert(acc.ddisp == DependencyDisposition.Complete);
            args.AddRange(acc.basmModules.Select(module => module.getRelativePath()));
            args.AddRange(context.getPoundDefines().ToDefArgs());
            extendArgs(args);

            return(new ProcessInvokeAsyncWorker(
                       workingDirectory,
                       this,
                       getBoogieasmExecutable().getRelativePath(),
                       args.ToArray(),
                       ProcessExitCodeHandling.NonzeroIsFailure,
                       getDiagnosticsBase(),
                       captureStdout: captureStdout));
        }
Exemplo n.º 3
0
        public override IVerbWorker getWorker()
        {
            List <string> args = new List <string>();

            //- args.add(BUILD_DEFS
            //- args.add(boogieasm_flags)
            args.Add(getAction());
            string finalStdoutPath = null;

            if (outFlagWorks())
            {
                args.Add("-out");
                args.Add(outputFile().getRelativePath());
            }
            else
            {
                finalStdoutPath = outputFile().getFilesystemPath();
            }

            BasmModuleAccumulator acc = new BasmModuleAccumulator(context, upstreamObj, includeAllImps());

            Util.Assert(acc.ddisp == DependencyDisposition.Complete);
            args.AddRange(acc.basmModules.Select(module => module.getRelativePath()));
            args.AddRange(context.getPoundDefines().ToDefArgs());
            extendArgs(args);

            return(new ProcessInvokeAsyncWorker(this,
                                                getBoogieasmExecutable().getRelativePath(),
                                                args.ToArray(),
                                                ProcessInvoker.RcHandling.NONZERO_RC_IS_FAILURE,
                                                getDiagnosticsBase(),
                                                finalStdoutPath: finalStdoutPath));
        }
Exemplo n.º 4
0
        protected IEnumerable <IVerb> getVerifyishVerbs()
        {
            //- All the available things that make Beat or Basm ...
            BasmModuleAccumulator acc = new BasmModuleAccumulator(context, upstreamObj, includeAllImps());
            //- Plus the transitive deps.
            IEnumerable <IVerb> extraDeps = new IVerb[] { context, boogieAsmBuildExecutableVerb };

            return(acc.verbs.Concat(extraDeps).Concat(context.getVerbs()));
        }
Exemplo n.º 5
0
        public override IEnumerable <BuildObject> getDependencies(out DependencyDisposition ddisp)
        {
            BasmModuleAccumulator     acc    = new BasmModuleAccumulator(context, upstreamObj, includeAllImps());
            IEnumerable <BuildObject> result = acc.getDeps();
            DependencyDisposition     ddisp_extra;
            IEnumerable <BuildObject> result_extra = getExtraDeps(out ddisp_extra);

            ddisp = acc.ddisp.combine(ddisp_extra);
            return(result.Concat(result_extra).Concat(new[] { getBoogieasmExecutable() }));
        }
Exemplo n.º 6
0
 public override IEnumerable<BuildObject> getDependencies(out DependencyDisposition ddisp)
 {
     BasmModuleAccumulator acc = new BasmModuleAccumulator(context, upstreamObj, includeAllImps());
     IEnumerable<BuildObject> result = acc.getDeps();
     DependencyDisposition ddisp_extra;
     IEnumerable<BuildObject> result_extra = getExtraDeps(out ddisp_extra);
     ddisp = acc.ddisp.combine(ddisp_extra);
     return result.Concat(result_extra).Concat(new[] { getBoogieasmExecutable() });
 }
Exemplo n.º 7
0
        protected IEnumerable<IVerb> getVerifyishVerbs()
        {
            // All the available things that make Beat or Basm ...
            BasmModuleAccumulator acc = new BasmModuleAccumulator(context, upstreamObj, includeAllImps());

            // Plus the transitive deps.
            IEnumerable<IVerb> extraDeps = new IVerb[] { context, boogieAsmBuildExecutableVerb };
            return acc.verbs.Concat(extraDeps).Concat(context.getVerbs());
        }