From d182a5978223f80154f4bd1b54e191b3546cf8ba Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Wed, 8 Jun 2016 16:35:39 -0700 Subject: [PATCH] Fix comments in tests --- .../reference/typeGuardIntersectionTypes.js | 20 +++++++++---------- .../typeGuardIntersectionTypes.symbols | 16 ++++++--------- .../typeGuardIntersectionTypes.types | 16 ++++++--------- .../typeGuards/typeGuardIntersectionTypes.ts | 14 ++++++------- 4 files changed, 27 insertions(+), 39 deletions(-) diff --git a/tests/baselines/reference/typeGuardIntersectionTypes.js b/tests/baselines/reference/typeGuardIntersectionTypes.js index 16d35c43889..6c46b982024 100644 --- a/tests/baselines/reference/typeGuardIntersectionTypes.js +++ b/tests/baselines/reference/typeGuardIntersectionTypes.js @@ -71,14 +71,14 @@ function identifyBeast(beast: Beast) { // All winged beasts with legs if (hasWings(beast)) { - if (beast.legs === 4) { // ERROR TS2339: Property 'legs' does not exist on type 'Winged'. + if (beast.legs === 4) { log(`pegasus - 4 legs, wings`); } - else if (beast.legs === 2) { // ERROR TS2339... + else if (beast.legs === 2) { log(`bird - 2 legs, wings`); } else { - log(`unknown - ${beast.legs} legs, wings`); // ERROR TS2339... + log(`unknown - ${beast.legs} legs, wings`); } } @@ -101,16 +101,14 @@ function identifyBeast(beast: Beast) { function beastFoo(beast: Object) { if (hasWings(beast) && hasLegs(beast)) { - beast // beast is Legged - // ideally, beast would be Winged && Legged here... + beast; // Winged & Legged } else { - beast + beast; } if (hasLegs(beast) && hasWings(beast)) { - beast // beast is Winged - // ideally, beast would be Legged && Winged here... + beast; // Legged & Winged } } @@ -152,7 +150,7 @@ function identifyBeast(beast) { log("bird - 2 legs, wings"); } else { - log("unknown - " + beast.legs + " legs, wings"); // ERROR TS2339... + log("unknown - " + beast.legs + " legs, wings"); } } else { @@ -170,12 +168,12 @@ function identifyBeast(beast) { } function beastFoo(beast) { if (hasWings(beast) && hasLegs(beast)) { - beast; // beast is Legged + beast; // Winged & Legged } else { beast; } if (hasLegs(beast) && hasWings(beast)) { - beast; // beast is Winged + beast; // Legged & Winged } } diff --git a/tests/baselines/reference/typeGuardIntersectionTypes.symbols b/tests/baselines/reference/typeGuardIntersectionTypes.symbols index c59d972cd30..707fb95b339 100644 --- a/tests/baselines/reference/typeGuardIntersectionTypes.symbols +++ b/tests/baselines/reference/typeGuardIntersectionTypes.symbols @@ -176,7 +176,7 @@ function identifyBeast(beast: Beast) { >hasWings : Symbol(hasWings, Decl(typeGuardIntersectionTypes.ts, 61, 83)) >beast : Symbol(beast, Decl(typeGuardIntersectionTypes.ts, 65, 23)) - if (beast.legs === 4) { // ERROR TS2339: Property 'legs' does not exist on type 'Winged'. + if (beast.legs === 4) { >beast.legs : Symbol(Legged.legs, Decl(typeGuardIntersectionTypes.ts, 57, 21)) >beast : Symbol(beast, Decl(typeGuardIntersectionTypes.ts, 65, 23)) >legs : Symbol(Legged.legs, Decl(typeGuardIntersectionTypes.ts, 57, 21)) @@ -184,7 +184,7 @@ function identifyBeast(beast: Beast) { log(`pegasus - 4 legs, wings`); >log : Symbol(log, Decl(typeGuardIntersectionTypes.ts, 49, 1)) } - else if (beast.legs === 2) { // ERROR TS2339... + else if (beast.legs === 2) { >beast.legs : Symbol(Legged.legs, Decl(typeGuardIntersectionTypes.ts, 57, 21)) >beast : Symbol(beast, Decl(typeGuardIntersectionTypes.ts, 65, 23)) >legs : Symbol(Legged.legs, Decl(typeGuardIntersectionTypes.ts, 57, 21)) @@ -193,7 +193,7 @@ function identifyBeast(beast: Beast) { >log : Symbol(log, Decl(typeGuardIntersectionTypes.ts, 49, 1)) } else { - log(`unknown - ${beast.legs} legs, wings`); // ERROR TS2339... + log(`unknown - ${beast.legs} legs, wings`); >log : Symbol(log, Decl(typeGuardIntersectionTypes.ts, 49, 1)) >beast.legs : Symbol(Legged.legs, Decl(typeGuardIntersectionTypes.ts, 57, 21)) >beast : Symbol(beast, Decl(typeGuardIntersectionTypes.ts, 65, 23)) @@ -238,13 +238,11 @@ function beastFoo(beast: Object) { >hasLegs : Symbol(hasLegs, Decl(typeGuardIntersectionTypes.ts, 58, 39)) >beast : Symbol(beast, Decl(typeGuardIntersectionTypes.ts, 100, 18)) - beast // beast is Legged + beast; // Winged & Legged >beast : Symbol(beast, Decl(typeGuardIntersectionTypes.ts, 100, 18)) - - // ideally, beast would be Winged && Legged here... } else { - beast + beast; >beast : Symbol(beast, Decl(typeGuardIntersectionTypes.ts, 100, 18)) } @@ -254,9 +252,7 @@ function beastFoo(beast: Object) { >hasWings : Symbol(hasWings, Decl(typeGuardIntersectionTypes.ts, 61, 83)) >beast : Symbol(beast, Decl(typeGuardIntersectionTypes.ts, 100, 18)) - beast // beast is Winged + beast; // Legged & Winged >beast : Symbol(beast, Decl(typeGuardIntersectionTypes.ts, 100, 18)) - - // ideally, beast would be Legged && Winged here... } } diff --git a/tests/baselines/reference/typeGuardIntersectionTypes.types b/tests/baselines/reference/typeGuardIntersectionTypes.types index 4018036c5ce..5ce768d4a5e 100644 --- a/tests/baselines/reference/typeGuardIntersectionTypes.types +++ b/tests/baselines/reference/typeGuardIntersectionTypes.types @@ -201,7 +201,7 @@ function identifyBeast(beast: Beast) { >hasWings : (x: Beast) => x is Winged >beast : Legged - if (beast.legs === 4) { // ERROR TS2339: Property 'legs' does not exist on type 'Winged'. + if (beast.legs === 4) { >beast.legs === 4 : boolean >beast.legs : number >beast : Legged & Winged @@ -213,7 +213,7 @@ function identifyBeast(beast: Beast) { >log : (s: string) => void >`pegasus - 4 legs, wings` : string } - else if (beast.legs === 2) { // ERROR TS2339... + else if (beast.legs === 2) { >beast.legs === 2 : boolean >beast.legs : number >beast : Legged & Winged @@ -226,7 +226,7 @@ function identifyBeast(beast: Beast) { >`bird - 2 legs, wings` : string } else { - log(`unknown - ${beast.legs} legs, wings`); // ERROR TS2339... + log(`unknown - ${beast.legs} legs, wings`); >log(`unknown - ${beast.legs} legs, wings`) : void >log : (s: string) => void >`unknown - ${beast.legs} legs, wings` : string @@ -283,13 +283,11 @@ function beastFoo(beast: Object) { >hasLegs : (x: Beast) => x is Legged >beast : Winged - beast // beast is Legged + beast; // Winged & Legged >beast : Winged & Legged - - // ideally, beast would be Winged && Legged here... } else { - beast + beast; >beast : Object } @@ -302,9 +300,7 @@ function beastFoo(beast: Object) { >hasWings : (x: Beast) => x is Winged >beast : Legged - beast // beast is Winged + beast; // Legged & Winged >beast : Legged & Winged - - // ideally, beast would be Legged && Winged here... } } diff --git a/tests/cases/conformance/expressions/typeGuards/typeGuardIntersectionTypes.ts b/tests/cases/conformance/expressions/typeGuards/typeGuardIntersectionTypes.ts index efde587e5e5..d0a999acd1c 100644 --- a/tests/cases/conformance/expressions/typeGuards/typeGuardIntersectionTypes.ts +++ b/tests/cases/conformance/expressions/typeGuards/typeGuardIntersectionTypes.ts @@ -71,14 +71,14 @@ function identifyBeast(beast: Beast) { // All winged beasts with legs if (hasWings(beast)) { - if (beast.legs === 4) { // ERROR TS2339: Property 'legs' does not exist on type 'Winged'. + if (beast.legs === 4) { log(`pegasus - 4 legs, wings`); } - else if (beast.legs === 2) { // ERROR TS2339... + else if (beast.legs === 2) { log(`bird - 2 legs, wings`); } else { - log(`unknown - ${beast.legs} legs, wings`); // ERROR TS2339... + log(`unknown - ${beast.legs} legs, wings`); } } @@ -101,15 +101,13 @@ function identifyBeast(beast: Beast) { function beastFoo(beast: Object) { if (hasWings(beast) && hasLegs(beast)) { - beast // beast is Legged - // ideally, beast would be Winged && Legged here... + beast; // Winged & Legged } else { - beast + beast; } if (hasLegs(beast) && hasWings(beast)) { - beast // beast is Winged - // ideally, beast would be Legged && Winged here... + beast; // Legged & Winged } } \ No newline at end of file