From afa08181e2a2da66cac85fdeeb71357c55842c88 Mon Sep 17 00:00:00 2001 From: jbondc Date: Thu, 8 Oct 2015 17:30:46 -0400 Subject: [PATCH] Address code review. Accept baselines. --- .../baselines/reference/constIndexedAccess.js | 66 +++++++------------ .../reference/constIndexedAccess.symbols | 61 ++++++++++------- .../reference/constIndexedAccess.types | 59 +++++++++++------ tests/cases/compiler/constIndexedAccess.ts | 35 ++++------ 4 files changed, 112 insertions(+), 109 deletions(-) diff --git a/tests/baselines/reference/constIndexedAccess.js b/tests/baselines/reference/constIndexedAccess.js index ee0e9b8cc36..db80441bd33 100644 --- a/tests/baselines/reference/constIndexedAccess.js +++ b/tests/baselines/reference/constIndexedAccess.js @@ -1,13 +1,13 @@ //// [constIndexedAccess.ts] const enum numbers { - zero, - one + zero, + one } interface indexAccess { - 0: string; - 1: number; + 0: string; + 1: number; } let test: indexAccess; @@ -18,27 +18,17 @@ let n = test[1]; let s1 = test[numbers.zero]; let n1 = test[numbers.one]; -/* -TODO: revisit with const propagation +let s2 = test[numbers["zero"]]; +let n2 = test[numbers["one"]]; -const zero = 0; -const one = 1; +enum numbersNotConst { + zero, + one +} -let s2 = test[zero]; -let n2 = test[one]; - -const zeroRef = zero; -const oneRef = one; - -let s3 = test[zeroRef]; -let n3 = test[oneRef]; - -const zeroRefEnum = numbers.zero; -const oneRefEnum = numbers.one; - -let s4 = test[zeroRefEnum]; -let n4 = test[oneRefEnum]; -*/ +let s3 = test[numbersNotConst.zero]; +let n3 = test[numbersNotConst.one]; + //// [constIndexedAccess.js] var test; @@ -46,24 +36,12 @@ var s = test[0]; var n = test[1]; var s1 = test[0 /* zero */]; var n1 = test[1 /* one */]; -/* -TODO: revisit with const propagation - -const zero = 0; -const one = 1; - -let s2 = test[zero]; -let n2 = test[one]; - -const zeroRef = zero; -const oneRef = one; - -let s3 = test[zeroRef]; -let n3 = test[oneRef]; - -const zeroRefEnum = numbers.zero; -const oneRefEnum = numbers.one; - -let s4 = test[zeroRefEnum]; -let n4 = test[oneRefEnum]; -*/ +var s2 = test[0 /* "zero" */]; +var n2 = test[1 /* "one" */]; +var numbersNotConst; +(function (numbersNotConst) { + numbersNotConst[numbersNotConst["zero"] = 0] = "zero"; + numbersNotConst[numbersNotConst["one"] = 1] = "one"; +})(numbersNotConst || (numbersNotConst = {})); +var s3 = test[numbersNotConst.zero]; +var n3 = test[numbersNotConst.one]; diff --git a/tests/baselines/reference/constIndexedAccess.symbols b/tests/baselines/reference/constIndexedAccess.symbols index ff18f84372e..2ccb7f11686 100644 --- a/tests/baselines/reference/constIndexedAccess.symbols +++ b/tests/baselines/reference/constIndexedAccess.symbols @@ -3,18 +3,18 @@ const enum numbers { >numbers : Symbol(numbers, Decl(constIndexedAccess.ts, 0, 0)) - zero, + zero, >zero : Symbol(numbers.zero, Decl(constIndexedAccess.ts, 1, 20)) - one ->one : Symbol(numbers.one, Decl(constIndexedAccess.ts, 2, 6)) + one +>one : Symbol(numbers.one, Decl(constIndexedAccess.ts, 2, 9)) } interface indexAccess { >indexAccess : Symbol(indexAccess, Decl(constIndexedAccess.ts, 4, 1)) - 0: string; - 1: number; + 0: string; + 1: number; } let test: indexAccess; @@ -29,7 +29,7 @@ let s = test[0]; let n = test[1]; >n : Symbol(n, Decl(constIndexedAccess.ts, 14, 3)) >test : Symbol(test, Decl(constIndexedAccess.ts, 11, 3)) ->1 : Symbol(indexAccess.1, Decl(constIndexedAccess.ts, 7, 11)) +>1 : Symbol(indexAccess.1, Decl(constIndexedAccess.ts, 7, 14)) let s1 = test[numbers.zero]; >s1 : Symbol(s1, Decl(constIndexedAccess.ts, 16, 3)) @@ -41,28 +41,43 @@ let s1 = test[numbers.zero]; let n1 = test[numbers.one]; >n1 : Symbol(n1, Decl(constIndexedAccess.ts, 17, 3)) >test : Symbol(test, Decl(constIndexedAccess.ts, 11, 3)) ->numbers.one : Symbol(numbers.one, Decl(constIndexedAccess.ts, 2, 6)) +>numbers.one : Symbol(numbers.one, Decl(constIndexedAccess.ts, 2, 9)) >numbers : Symbol(numbers, Decl(constIndexedAccess.ts, 0, 0)) ->one : Symbol(numbers.one, Decl(constIndexedAccess.ts, 2, 6)) +>one : Symbol(numbers.one, Decl(constIndexedAccess.ts, 2, 9)) -/* -TODO: revisit with const propagation +let s2 = test[numbers["zero"]]; +>s2 : Symbol(s2, Decl(constIndexedAccess.ts, 19, 3)) +>test : Symbol(test, Decl(constIndexedAccess.ts, 11, 3)) +>numbers : Symbol(numbers, Decl(constIndexedAccess.ts, 0, 0)) +>"zero" : Symbol(numbers.zero, Decl(constIndexedAccess.ts, 1, 20)) -const zero = 0; -const one = 1; +let n2 = test[numbers["one"]]; +>n2 : Symbol(n2, Decl(constIndexedAccess.ts, 20, 3)) +>test : Symbol(test, Decl(constIndexedAccess.ts, 11, 3)) +>numbers : Symbol(numbers, Decl(constIndexedAccess.ts, 0, 0)) +>"one" : Symbol(numbers.one, Decl(constIndexedAccess.ts, 2, 9)) -let s2 = test[zero]; -let n2 = test[one]; +enum numbersNotConst { +>numbersNotConst : Symbol(numbersNotConst, Decl(constIndexedAccess.ts, 20, 30)) -const zeroRef = zero; -const oneRef = one; + zero, +>zero : Symbol(numbersNotConst.zero, Decl(constIndexedAccess.ts, 22, 22)) -let s3 = test[zeroRef]; -let n3 = test[oneRef]; + one +>one : Symbol(numbersNotConst.one, Decl(constIndexedAccess.ts, 23, 9)) +} -const zeroRefEnum = numbers.zero; -const oneRefEnum = numbers.one; +let s3 = test[numbersNotConst.zero]; +>s3 : Symbol(s3, Decl(constIndexedAccess.ts, 27, 3)) +>test : Symbol(test, Decl(constIndexedAccess.ts, 11, 3)) +>numbersNotConst.zero : Symbol(numbersNotConst.zero, Decl(constIndexedAccess.ts, 22, 22)) +>numbersNotConst : Symbol(numbersNotConst, Decl(constIndexedAccess.ts, 20, 30)) +>zero : Symbol(numbersNotConst.zero, Decl(constIndexedAccess.ts, 22, 22)) + +let n3 = test[numbersNotConst.one]; +>n3 : Symbol(n3, Decl(constIndexedAccess.ts, 28, 3)) +>test : Symbol(test, Decl(constIndexedAccess.ts, 11, 3)) +>numbersNotConst.one : Symbol(numbersNotConst.one, Decl(constIndexedAccess.ts, 23, 9)) +>numbersNotConst : Symbol(numbersNotConst, Decl(constIndexedAccess.ts, 20, 30)) +>one : Symbol(numbersNotConst.one, Decl(constIndexedAccess.ts, 23, 9)) -let s4 = test[zeroRefEnum]; -let n4 = test[oneRefEnum]; -*/ diff --git a/tests/baselines/reference/constIndexedAccess.types b/tests/baselines/reference/constIndexedAccess.types index b4cc0e930d5..eb02c7bde2e 100644 --- a/tests/baselines/reference/constIndexedAccess.types +++ b/tests/baselines/reference/constIndexedAccess.types @@ -3,18 +3,18 @@ const enum numbers { >numbers : numbers - zero, + zero, >zero : numbers - one + one >one : numbers } interface indexAccess { >indexAccess : indexAccess - 0: string; - 1: number; + 0: string; + 1: number; } let test: indexAccess; @@ -49,24 +49,45 @@ let n1 = test[numbers.one]; >numbers : typeof numbers >one : numbers -/* -TODO: revisit with const propagation +let s2 = test[numbers["zero"]]; +>s2 : string +>test[numbers["zero"]] : string +>test : indexAccess +>numbers["zero"] : numbers +>numbers : typeof numbers +>"zero" : string -const zero = 0; -const one = 1; +let n2 = test[numbers["one"]]; +>n2 : number +>test[numbers["one"]] : number +>test : indexAccess +>numbers["one"] : numbers +>numbers : typeof numbers +>"one" : string -let s2 = test[zero]; -let n2 = test[one]; +enum numbersNotConst { +>numbersNotConst : numbersNotConst -const zeroRef = zero; -const oneRef = one; + zero, +>zero : numbersNotConst -let s3 = test[zeroRef]; -let n3 = test[oneRef]; + one +>one : numbersNotConst +} -const zeroRefEnum = numbers.zero; -const oneRefEnum = numbers.one; +let s3 = test[numbersNotConst.zero]; +>s3 : any +>test[numbersNotConst.zero] : any +>test : indexAccess +>numbersNotConst.zero : numbersNotConst +>numbersNotConst : typeof numbersNotConst +>zero : numbersNotConst + +let n3 = test[numbersNotConst.one]; +>n3 : any +>test[numbersNotConst.one] : any +>test : indexAccess +>numbersNotConst.one : numbersNotConst +>numbersNotConst : typeof numbersNotConst +>one : numbersNotConst -let s4 = test[zeroRefEnum]; -let n4 = test[oneRefEnum]; -*/ diff --git a/tests/cases/compiler/constIndexedAccess.ts b/tests/cases/compiler/constIndexedAccess.ts index a1b1acc6872..d71a3cdb9f4 100644 --- a/tests/cases/compiler/constIndexedAccess.ts +++ b/tests/cases/compiler/constIndexedAccess.ts @@ -1,12 +1,12 @@  const enum numbers { - zero, - one + zero, + one } interface indexAccess { - 0: string; - 1: number; + 0: string; + 1: number; } let test: indexAccess; @@ -17,24 +17,13 @@ let n = test[1]; let s1 = test[numbers.zero]; let n1 = test[numbers.one]; -/* -TODO: revisit with const propagation +let s2 = test[numbers["zero"]]; +let n2 = test[numbers["one"]]; -const zero = 0; -const one = 1; +enum numbersNotConst { + zero, + one +} -let s2 = test[zero]; -let n2 = test[one]; - -const zeroRef = zero; -const oneRef = one; - -let s3 = test[zeroRef]; -let n3 = test[oneRef]; - -const zeroRefEnum = numbers.zero; -const oneRefEnum = numbers.one; - -let s4 = test[zeroRefEnum]; -let n4 = test[oneRefEnum]; -*/ \ No newline at end of file +let s3 = test[numbersNotConst.zero]; +let n3 = test[numbersNotConst.one];