TypeScript/tests/baselines/reference/comparisonOperatorWithSubtypeObjectOnProperty.types
2014-08-15 14:37:48 -07:00

272 lines
3.4 KiB
Plaintext

=== tests/cases/conformance/expressions/binaryOperators/comparisonOperator/comparisonOperatorWithSubtypeObjectOnProperty.ts ===
class Base {
>Base : Base
public a: string;
>a : string
}
class Derived extends Base {
>Derived : Derived
>Base : Base
public b: string;
>b : string
}
class A1 {
>A1 : A1
public a: Base;
>a : Base
>Base : Base
public b: Base;
>b : Base
>Base : Base
}
class B1 {
>B1 : B1
public a: Base;
>a : Base
>Base : Base
public b: Derived;
>b : Derived
>Derived : Derived
}
class A2 {
>A2 : A2
private a;
>a : any
}
class B2 extends A2 {
>B2 : B2
>A2 : A2
private b;
>b : any
}
var a1: A1;
>a1 : A1
>A1 : A1
var a2: A2;
>a2 : A2
>A2 : A2
var b1: B1;
>b1 : B1
>B1 : B1
var b2: B2;
>b2 : B2
>B2 : B2
// operator <
var ra1 = a1 < b1;
>ra1 : boolean
>a1 < b1 : boolean
>a1 : A1
>b1 : B1
var ra2 = a2 < b2;
>ra2 : boolean
>a2 < b2 : boolean
>a2 : A2
>b2 : B2
var ra3 = b1 < a1;
>ra3 : boolean
>b1 < a1 : boolean
>b1 : B1
>a1 : A1
var ra4 = b2 < a2;
>ra4 : boolean
>b2 < a2 : boolean
>b2 : B2
>a2 : A2
// operator >
var rb1 = a1 > b1;
>rb1 : boolean
>a1 > b1 : boolean
>a1 : A1
>b1 : B1
var rb2 = a2 > b2;
>rb2 : boolean
>a2 > b2 : boolean
>a2 : A2
>b2 : B2
var rb3 = b1 > a1;
>rb3 : boolean
>b1 > a1 : boolean
>b1 : B1
>a1 : A1
var rb4 = b2 > a2;
>rb4 : boolean
>b2 > a2 : boolean
>b2 : B2
>a2 : A2
// operator <=
var rc1 = a1 <= b1;
>rc1 : boolean
>a1 <= b1 : boolean
>a1 : A1
>b1 : B1
var rc2 = a2 <= b2;
>rc2 : boolean
>a2 <= b2 : boolean
>a2 : A2
>b2 : B2
var rc3 = b1 <= a1;
>rc3 : boolean
>b1 <= a1 : boolean
>b1 : B1
>a1 : A1
var rc4 = b2 <= a2;
>rc4 : boolean
>b2 <= a2 : boolean
>b2 : B2
>a2 : A2
// operator >=
var rd1 = a1 >= b1;
>rd1 : boolean
>a1 >= b1 : boolean
>a1 : A1
>b1 : B1
var rd2 = a2 >= b2;
>rd2 : boolean
>a2 >= b2 : boolean
>a2 : A2
>b2 : B2
var rd3 = b1 >= a1;
>rd3 : boolean
>b1 >= a1 : boolean
>b1 : B1
>a1 : A1
var rd4 = b2 >= a2;
>rd4 : boolean
>b2 >= a2 : boolean
>b2 : B2
>a2 : A2
// operator ==
var re1 = a1 == b1;
>re1 : boolean
>a1 == b1 : boolean
>a1 : A1
>b1 : B1
var re2 = a2 == b2;
>re2 : boolean
>a2 == b2 : boolean
>a2 : A2
>b2 : B2
var re3 = b1 == a1;
>re3 : boolean
>b1 == a1 : boolean
>b1 : B1
>a1 : A1
var re4 = b2 == a2;
>re4 : boolean
>b2 == a2 : boolean
>b2 : B2
>a2 : A2
// operator !=
var rf1 = a1 != b1;
>rf1 : boolean
>a1 != b1 : boolean
>a1 : A1
>b1 : B1
var rf2 = a2 != b2;
>rf2 : boolean
>a2 != b2 : boolean
>a2 : A2
>b2 : B2
var rf3 = b1 != a1;
>rf3 : boolean
>b1 != a1 : boolean
>b1 : B1
>a1 : A1
var rf4 = b2 != a2;
>rf4 : boolean
>b2 != a2 : boolean
>b2 : B2
>a2 : A2
// operator ===
var rg1 = a1 === b1;
>rg1 : boolean
>a1 === b1 : boolean
>a1 : A1
>b1 : B1
var rg2 = a2 === b2;
>rg2 : boolean
>a2 === b2 : boolean
>a2 : A2
>b2 : B2
var rg3 = b1 === a1;
>rg3 : boolean
>b1 === a1 : boolean
>b1 : B1
>a1 : A1
var rg4 = b2 === a2;
>rg4 : boolean
>b2 === a2 : boolean
>b2 : B2
>a2 : A2
// operator !==
var rh1 = a1 !== b1;
>rh1 : boolean
>a1 !== b1 : boolean
>a1 : A1
>b1 : B1
var rh2 = a2 !== b2;
>rh2 : boolean
>a2 !== b2 : boolean
>a2 : A2
>b2 : B2
var rh3 = b1 !== a1;
>rh3 : boolean
>b1 !== a1 : boolean
>b1 : B1
>a1 : A1
var rh4 = b2 !== a2;
>rh4 : boolean
>b2 !== a2 : boolean
>b2 : B2
>a2 : A2