home *** CD-ROM | disk | FTP | other *** search
- package espresso;
-
- class FunTyp extends Typ {
- private static Name ParensS = Name.fromString("()");
- TypSet thrown;
- Typ restyp;
- Typ[] argtyps;
-
- boolean sametype(Typ var1) {
- return this == var1 || var1.tag == 14 && Typ.sametypes(this.argtyps, ((FunTyp)var1).argtyps) && this.restyp.sametype(((FunTyp)var1).restyp) && TypSet.subset(this.thrown, ((FunTyp)var1).thrown) && TypSet.subset(((FunTyp)var1).thrown, this.thrown);
- }
-
- boolean subtype(Typ var1) {
- return var1.tag == 0 || var1.tag == 16 || Switches.extended && var1.tag == 11 && var1.obj.isRoot() || var1.tag == 14 && Typ.subtypes(((FunTyp)var1).argtyps, this.argtyps) && this.restyp.subtype(((FunTyp)var1).restyp) && TypSet.subset(this.thrown, ((FunTyp)var1).thrown);
- }
-
- String argsToString() {
- return String.valueOf(String.valueOf("(").concat(String.valueOf(Basic.toString(this.argtyps)))).concat(String.valueOf(")"));
- }
-
- public String toString() {
- return String.valueOf(String.valueOf(String.valueOf(String.valueOf(String.valueOf("(").concat(String.valueOf(Basic.toString(this.argtyps)))).concat(String.valueOf(" -> "))).concat(String.valueOf(this.restyp.toString()))).concat(String.valueOf(")"))).concat(String.valueOf(this.thrown == null ? "" : String.valueOf(" throws ").concat(String.valueOf(Basic.toString(TypSet.elems(this.thrown))))));
- }
-
- FunTyp(Typ[] var1, Typ var2, TypSet var3) {
- super(14, ParensS);
- this.argtyps = var1;
- this.restyp = var2;
- this.thrown = var3;
- }
- }
-