1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
|
=== tests/cases/compiler/objectFreeze.ts ===
const f = Object.freeze(function foo(a: number, b: string) { return false; });
>f : Symbol(f, Decl(objectFreeze.ts, 0, 5))
>Object.freeze : Symbol(ObjectConstructor.freeze, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
>freeze : Symbol(ObjectConstructor.freeze, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
>foo : Symbol(foo, Decl(objectFreeze.ts, 0, 24))
>a : Symbol(a, Decl(objectFreeze.ts, 0, 37))
>b : Symbol(b, Decl(objectFreeze.ts, 0, 47))
f(1, "") === false;
>f : Symbol(f, Decl(objectFreeze.ts, 0, 5))
class C { constructor(a: number) { } }
>C : Symbol(C, Decl(objectFreeze.ts, 1, 19))
>a : Symbol(a, Decl(objectFreeze.ts, 3, 22))
const c = Object.freeze(C);
>c : Symbol(c, Decl(objectFreeze.ts, 4, 5))
>Object.freeze : Symbol(ObjectConstructor.freeze, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
>freeze : Symbol(ObjectConstructor.freeze, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
>C : Symbol(C, Decl(objectFreeze.ts, 1, 19))
new c(1);
>c : Symbol(c, Decl(objectFreeze.ts, 4, 5))
const a = Object.freeze([1, 2, 3]);
>a : Symbol(a, Decl(objectFreeze.ts, 7, 5))
>Object.freeze : Symbol(ObjectConstructor.freeze, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
>freeze : Symbol(ObjectConstructor.freeze, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
a[0] = a[2].toString();
>a : Symbol(a, Decl(objectFreeze.ts, 7, 5))
>a[2].toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --))
>a : Symbol(a, Decl(objectFreeze.ts, 7, 5))
>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --))
const o = Object.freeze({ a: 1, b: "string" });
>o : Symbol(o, Decl(objectFreeze.ts, 10, 5))
>Object.freeze : Symbol(ObjectConstructor.freeze, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
>Object : Symbol(Object, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
>freeze : Symbol(ObjectConstructor.freeze, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --))
>a : Symbol(a, Decl(objectFreeze.ts, 10, 25))
>b : Symbol(b, Decl(objectFreeze.ts, 10, 31))
o.b = o.a.toString();
>o.b : Symbol(b, Decl(objectFreeze.ts, 10, 31))
>o : Symbol(o, Decl(objectFreeze.ts, 10, 5))
>b : Symbol(b, Decl(objectFreeze.ts, 10, 31))
>o.a.toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --))
>o.a : Symbol(a, Decl(objectFreeze.ts, 10, 25))
>o : Symbol(o, Decl(objectFreeze.ts, 10, 5))
>a : Symbol(a, Decl(objectFreeze.ts, 10, 25))
>toString : Symbol(Number.toString, Decl(lib.es5.d.ts, --, --))
|