home *** CD-ROM | disk | FTP | other *** search
/ Tutto per Internet / Internet.iso / soft95 / Java / espints / espinst.exe / classes / espresso / FunTyp.class (.txt) < prev    next >
Encoding:
Java Class File  |  1996-02-28  |  1.8 KB  |  32 lines

  1. package espresso;
  2.  
  3. class FunTyp extends Typ {
  4.    private static Name ParensS = Name.fromString("()");
  5.    TypSet thrown;
  6.    Typ restyp;
  7.    Typ[] argtyps;
  8.  
  9.    boolean sametype(Typ var1) {
  10.       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);
  11.    }
  12.  
  13.    boolean subtype(Typ var1) {
  14.       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);
  15.    }
  16.  
  17.    String argsToString() {
  18.       return String.valueOf(String.valueOf("(").concat(String.valueOf(Basic.toString(this.argtyps)))).concat(String.valueOf(")"));
  19.    }
  20.  
  21.    public String toString() {
  22.       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))))));
  23.    }
  24.  
  25.    FunTyp(Typ[] var1, Typ var2, TypSet var3) {
  26.       super(14, ParensS);
  27.       this.argtyps = var1;
  28.       this.restyp = var2;
  29.       this.thrown = var3;
  30.    }
  31. }
  32.