home *** CD-ROM | disk | FTP | other *** search
- package espresso;
-
- class Continue extends Jump {
- JumpTarget target;
- Name label;
-
- void print(int var1) {
- System.out.print("continue");
- if (this.label != null) {
- System.out.print(String.valueOf(" ").concat(String.valueOf(this.label)));
- }
-
- }
-
- Item gen() {
- Gen.statBegin(super.pos);
- ((Jump)this).finalisation();
- this.target.cont = Gen.mergeLabels(this.target.cont, Gen.branch(167));
- return Item.voidItem;
- }
-
- AST simplify() {
- return this;
- }
-
- void markCaptured(Bits var1) {
- super.markCaptured(var1);
- this.target.contCapt.orSet(var1);
- var1.clear();
- }
-
- Typ attr(Env var1, int var2, Typ var3) {
- this.target = ((Jump)this).findTarget(var1, this.label);
- if (this.target instanceof Labelled) {
- Labelled var4 = (Labelled)this.target;
- if (var4.stat.tag != 11 && var4.stat.tag != 10 && var4.stat.tag != 8) {
- Report.error(super.pos, String.valueOf("not a loop label: ").concat(String.valueOf(this.label)));
- } else {
- this.target = (JumpTarget)var4.stat;
- }
- }
-
- super.typ = var3;
- return super.typ;
- }
-
- Continue(int var1, Name var2) {
- super(var1, 24);
- this.label = var2;
- }
- }
-