public static TypeEnvironment create(TypeEnvironment f, TypeEnvironment g) { if ( g == IdentityTypeEnvironment.INSTANCE ) return f; if ( f == IdentityTypeEnvironment.INSTANCE ) return g; return new CompoundTypeEnvironment( f, g ); }
public boolean equals(Object o) { if ( this == o ) return true; if ( ! ( o instanceof CompoundTypeEnvironment ) ) return false; final CompoundTypeEnvironment that = (CompoundTypeEnvironment) o; if ( differentHashCode( that ) ) return false; if ( !f.equals( that.f ) ) return false; return g.equals( that.g ); }
private CompoundTypeEnvironment(TypeEnvironment f, TypeEnvironment g) { this.f = f; this.g = g; hashCode = doHashCode(); }
@Override public TypeEnvironment caseClass(Class classType) { return CompoundTypeEnvironment.create( createSuperTypeEnvironment( classType ), getEnvironment( classType.getSuperclass() ) ); }
@Override public TypeEnvironment caseClass(Class classType) { return CompoundTypeEnvironment.create( createSuperTypeEnvironment( classType ), getEnvironment( classType.getSuperclass() ) ); }
@Override public TypeEnvironment caseClass(Class classType) { return CompoundTypeEnvironment.create( createSuperTypeEnvironment( classType ), getEnvironment( classType.getSuperclass() ) ); }
public static TypeEnvironment create(TypeEnvironment f, TypeEnvironment g) { if ( g == IdentityTypeEnvironment.INSTANCE ) return f; if ( f == IdentityTypeEnvironment.INSTANCE ) return g; return new CompoundTypeEnvironment( f, g ); }
private CompoundTypeEnvironment(TypeEnvironment f, TypeEnvironment g) { this.f = f; this.g = g; hashCode = doHashCode(); }
public boolean equals(Object o) { if ( this == o ) return true; if ( ! ( o instanceof CompoundTypeEnvironment ) ) return false; final CompoundTypeEnvironment that = (CompoundTypeEnvironment) o; if ( differentHashCode( that ) ) return false; if ( !f.equals( that.f ) ) return false; return g.equals( that.g ); }
@Override public TypeEnvironment caseClass(Class classType) { return CompoundTypeEnvironment.create( createSuperTypeEnvironment( classType ), getEnvironment( classType.getSuperclass() ) ); }
public static TypeEnvironment create(TypeEnvironment f, TypeEnvironment g) { if ( g == IdentityTypeEnvironment.INSTANCE ) return f; if ( f == IdentityTypeEnvironment.INSTANCE ) return g; return new CompoundTypeEnvironment( f, g ); }
private CompoundTypeEnvironment(TypeEnvironment f, TypeEnvironment g) { this.f = f; this.g = g; hashCode = doHashCode(); }
public boolean equals(Object o) { if ( this == o ) return true; if ( ! ( o instanceof CompoundTypeEnvironment ) ) return false; final CompoundTypeEnvironment that = (CompoundTypeEnvironment) o; if ( differentHashCode( that ) ) return false; if ( !f.equals( that.f ) ) return false; return g.equals( that.g ); }
@Override public TypeEnvironment caseClass(Class classType) { return CompoundTypeEnvironment.create( createSuperTypeEnvironment( classType ), getEnvironment( classType.getSuperclass() ) ); }
public static TypeEnvironment create(TypeEnvironment f, TypeEnvironment g) { if ( g == IdentityTypeEnvironment.INSTANCE ) return f; if ( f == IdentityTypeEnvironment.INSTANCE ) return g; return new CompoundTypeEnvironment( f, g ); }
private CompoundTypeEnvironment(TypeEnvironment f, TypeEnvironment g) { this.f = f; this.g = g; hashCode = doHashCode(); }
public boolean equals(Object o) { if ( this == o ) return true; if ( ! ( o instanceof CompoundTypeEnvironment ) ) return false; final CompoundTypeEnvironment that = (CompoundTypeEnvironment) o; if ( differentHashCode( that ) ) return false; if ( !f.equals( that.f ) ) return false; return g.equals( that.g ); }
public TypeEnvironment toApproximatingEnvironment(TypeEnvironment context) { return CompoundTypeEnvironment.create( new ApproximatingTypeEnvironment(), context ); }
public static TypeEnvironment create(TypeEnvironment f, TypeEnvironment g) { if ( g == IdentityTypeEnvironment.INSTANCE ) return f; if ( f == IdentityTypeEnvironment.INSTANCE ) return g; return new CompoundTypeEnvironment( f, g ); }
private CompoundTypeEnvironment(TypeEnvironment f, TypeEnvironment g) { this.f = f; this.g = g; hashCode = doHashCode(); }