KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > polyglot > frontend > BarrierPass


1 package polyglot.frontend;
2
3 import polyglot.main.Report;
4
5 /**
6  * A <code>BarrierPass</code> is a special pass that ensures that
7  * all jobs that a given job <code>J</code> depends on have completed at
8  * least up to the last <code>BarrierPass</code> that <code>J</code> has
9  * completed.
10  */

11 public class BarrierPass extends AbstractPass
12 {
13     Job job;
14
15     public BarrierPass(Pass.ID id, Job job) {
16         super(id);
17     this.job = job;
18     }
19
20     /** Run all the other jobs with the same parent up to this pass. */
21     public boolean run() {
22         if (Report.should_report(Report.frontend, 1))
23         Report.report(1, job + " at barrier " + id);
24         if (Report.should_report(Report.frontend, 2))
25         Report.report(2, "dependencies of " + job.sourceJob() +
26                         " = " + job.sourceJob().dependencies());
27
28         return true;
29     }
30 }
31
Popular Tags