=== tests/cases/conformance/es7/exponentiationOperator/exponentiationOperatorWithEnumUnion.ts ===
// operands of an enum type are treated as having the primitive type Number.

enum E {
>E : Symbol(E, Decl(exponentiationOperatorWithEnumUnion.ts, 0, 0))

    a,
>a : Symbol(E.a, Decl(exponentiationOperatorWithEnumUnion.ts, 2, 8))

    b
>b : Symbol(E.b, Decl(exponentiationOperatorWithEnumUnion.ts, 3, 6))
}
enum F {
>F : Symbol(F, Decl(exponentiationOperatorWithEnumUnion.ts, 5, 1))

    c,
>c : Symbol(F.c, Decl(exponentiationOperatorWithEnumUnion.ts, 6, 8))

    d
>d : Symbol(F.d, Decl(exponentiationOperatorWithEnumUnion.ts, 7, 6))
}

var a: any;
>a : Symbol(a, Decl(exponentiationOperatorWithEnumUnion.ts, 11, 3))

var b: number;
>b : Symbol(b, Decl(exponentiationOperatorWithEnumUnion.ts, 12, 3))

var c: E | F;
>c : Symbol(c, Decl(exponentiationOperatorWithEnumUnion.ts, 13, 3))
>E : Symbol(E, Decl(exponentiationOperatorWithEnumUnion.ts, 0, 0))
>F : Symbol(F, Decl(exponentiationOperatorWithEnumUnion.ts, 5, 1))

// operator **
var r1 = c ** a;
>r1 : Symbol(r1, Decl(exponentiationOperatorWithEnumUnion.ts, 16, 3))
>c : Symbol(c, Decl(exponentiationOperatorWithEnumUnion.ts, 13, 3))
>a : Symbol(a, Decl(exponentiationOperatorWithEnumUnion.ts, 11, 3))

var r2 = c ** b;
>r2 : Symbol(r2, Decl(exponentiationOperatorWithEnumUnion.ts, 17, 3))
>c : Symbol(c, Decl(exponentiationOperatorWithEnumUnion.ts, 13, 3))
>b : Symbol(b, Decl(exponentiationOperatorWithEnumUnion.ts, 12, 3))

var r3 = c ** c;
>r3 : Symbol(r3, Decl(exponentiationOperatorWithEnumUnion.ts, 18, 3))
>c : Symbol(c, Decl(exponentiationOperatorWithEnumUnion.ts, 13, 3))
>c : Symbol(c, Decl(exponentiationOperatorWithEnumUnion.ts, 13, 3))

var r4 = a ** c;
>r4 : Symbol(r4, Decl(exponentiationOperatorWithEnumUnion.ts, 19, 3))
>a : Symbol(a, Decl(exponentiationOperatorWithEnumUnion.ts, 11, 3))
>c : Symbol(c, Decl(exponentiationOperatorWithEnumUnion.ts, 13, 3))

var r5 = b ** c;
>r5 : Symbol(r5, Decl(exponentiationOperatorWithEnumUnion.ts, 20, 3))
>b : Symbol(b, Decl(exponentiationOperatorWithEnumUnion.ts, 12, 3))
>c : Symbol(c, Decl(exponentiationOperatorWithEnumUnion.ts, 13, 3))

var r6 = E.a ** a;
>r6 : Symbol(r6, Decl(exponentiationOperatorWithEnumUnion.ts, 21, 3))
>E.a : Symbol(E.a, Decl(exponentiationOperatorWithEnumUnion.ts, 2, 8))
>E : Symbol(E, Decl(exponentiationOperatorWithEnumUnion.ts, 0, 0))
>a : Symbol(E.a, Decl(exponentiationOperatorWithEnumUnion.ts, 2, 8))
>a : Symbol(a, Decl(exponentiationOperatorWithEnumUnion.ts, 11, 3))

var r7 = E.a ** b;
>r7 : Symbol(r7, Decl(exponentiationOperatorWithEnumUnion.ts, 22, 3))
>E.a : Symbol(E.a, Decl(exponentiationOperatorWithEnumUnion.ts, 2, 8))
>E : Symbol(E, Decl(exponentiationOperatorWithEnumUnion.ts, 0, 0))
>a : Symbol(E.a, Decl(exponentiationOperatorWithEnumUnion.ts, 2, 8))
>b : Symbol(b, Decl(exponentiationOperatorWithEnumUnion.ts, 12, 3))

var r8 = E.a ** E.b;
>r8 : Symbol(r8, Decl(exponentiationOperatorWithEnumUnion.ts, 23, 3))
>E.a : Symbol(E.a, Decl(exponentiationOperatorWithEnumUnion.ts, 2, 8))
>E : Symbol(E, Decl(exponentiationOperatorWithEnumUnion.ts, 0, 0))
>a : Symbol(E.a, Decl(exponentiationOperatorWithEnumUnion.ts, 2, 8))
>E.b : Symbol(E.b, Decl(exponentiationOperatorWithEnumUnion.ts, 3, 6))
>E : Symbol(E, Decl(exponentiationOperatorWithEnumUnion.ts, 0, 0))
>b : Symbol(E.b, Decl(exponentiationOperatorWithEnumUnion.ts, 3, 6))

var r9 = E.a ** 1;
>r9 : Symbol(r9, Decl(exponentiationOperatorWithEnumUnion.ts, 24, 3))
>E.a : Symbol(E.a, Decl(exponentiationOperatorWithEnumUnion.ts, 2, 8))
>E : Symbol(E, Decl(exponentiationOperatorWithEnumUnion.ts, 0, 0))
>a : Symbol(E.a, Decl(exponentiationOperatorWithEnumUnion.ts, 2, 8))

var r10 = a ** E.b;
>r10 : Symbol(r10, Decl(exponentiationOperatorWithEnumUnion.ts, 25, 3))
>a : Symbol(a, Decl(exponentiationOperatorWithEnumUnion.ts, 11, 3))
>E.b : Symbol(E.b, Decl(exponentiationOperatorWithEnumUnion.ts, 3, 6))
>E : Symbol(E, Decl(exponentiationOperatorWithEnumUnion.ts, 0, 0))
>b : Symbol(E.b, Decl(exponentiationOperatorWithEnumUnion.ts, 3, 6))

var r11 = b ** E.b;
>r11 : Symbol(r11, Decl(exponentiationOperatorWithEnumUnion.ts, 26, 3))
>b : Symbol(b, Decl(exponentiationOperatorWithEnumUnion.ts, 12, 3))
>E.b : Symbol(E.b, Decl(exponentiationOperatorWithEnumUnion.ts, 3, 6))
>E : Symbol(E, Decl(exponentiationOperatorWithEnumUnion.ts, 0, 0))
>b : Symbol(E.b, Decl(exponentiationOperatorWithEnumUnion.ts, 3, 6))

var r12 = 1 ** E.b;
>r12 : Symbol(r12, Decl(exponentiationOperatorWithEnumUnion.ts, 27, 3))
>E.b : Symbol(E.b, Decl(exponentiationOperatorWithEnumUnion.ts, 3, 6))
>E : Symbol(E, Decl(exponentiationOperatorWithEnumUnion.ts, 0, 0))
>b : Symbol(E.b, Decl(exponentiationOperatorWithEnumUnion.ts, 3, 6))

