home *** CD-ROM | disk | FTP | other *** search
- package espresso;
-
- class Case extends AST {
- boolean valid = false;
- int val;
- AST[] stats;
- AST pat;
-
- void print(int var1) {
- Pretty.align();
- if (this.pat == null) {
- System.out.print("default");
- } else {
- System.out.print("case ");
- this.pat.print();
- }
-
- System.out.print(":\n");
- Pretty.indent();
- AST.printStats(this.stats);
- Pretty.undent();
- }
-
- Item gen() {
- for(int var1 = 0; var1 < this.stats.length; ++var1) {
- this.stats[var1].genDrop();
- }
-
- return Item.voidItem;
- }
-
- AST simplify() {
- if (this.pat != null) {
- this.pat = this.pat.simplify();
- }
-
- for(int var1 = 0; var1 < this.stats.length; ++var1) {
- this.stats[var1] = this.stats[var1].simplify();
- }
-
- return this;
- }
-
- void markCaptured(Bits var1) {
- for(int var2 = 0; var2 < this.stats.length; ++var2) {
- this.stats[var2].markCaptured(var1);
- }
-
- }
-
- Typ attr(Env var1, int var2, Typ var3) {
- if (this.pat != null) {
- this.pat.attr(var1, 12, Typ.intTyp);
- }
-
- super.typ = var3;
-
- for(int var4 = 0; var4 < this.stats.length; ++var4) {
- super.typ = Attr.join(this.stats[var4].pos, super.typ, this.stats[var4].attr(var1, 12, var3));
- }
-
- return super.typ;
- }
-
- Case(int var1, AST var2, ASTS var3) {
- super(var1, 19);
- this.pat = var2;
- this.stats = var3.shrink();
- }
- }
-