2017-04-29 07:24:24 +02:00
|
|
|
// @target: esnext
|
2017-05-05 03:23:17 +02:00
|
|
|
// @module: commonjs
|
|
|
|
// @declaration: true
|
2017-04-29 07:24:24 +02:00
|
|
|
const c0 = "1";
|
|
|
|
const c1 = 1;
|
|
|
|
|
|
|
|
interface T0 {
|
|
|
|
[c0]: number;
|
|
|
|
1: number;
|
|
|
|
}
|
|
|
|
|
|
|
|
interface T1 {
|
|
|
|
[c0]: number;
|
|
|
|
}
|
|
|
|
|
|
|
|
interface T2 {
|
|
|
|
[c0]: string;
|
|
|
|
}
|
|
|
|
|
2017-05-01 07:27:31 +02:00
|
|
|
interface T3 {
|
|
|
|
[c0]: number;
|
|
|
|
[c1]: string;
|
|
|
|
}
|
|
|
|
|
2017-04-29 07:24:24 +02:00
|
|
|
let t1: T1;
|
|
|
|
let t2: T2;
|
|
|
|
t1 = t2;
|
2017-05-05 03:23:17 +02:00
|
|
|
t2 = t1;
|
|
|
|
|
2017-10-27 00:50:07 +02:00
|
|
|
const x = Symbol();
|
|
|
|
const y = Symbol();
|
|
|
|
const z = Symbol();
|
|
|
|
const w = Symbol();
|
|
|
|
|
|
|
|
export interface InterfaceMemberVisibility {
|
|
|
|
[x]: number;
|
|
|
|
[y](): number;
|
|
|
|
}
|
|
|
|
|
|
|
|
export class ClassMemberVisibility {
|
|
|
|
static [x]: number;
|
|
|
|
static [y](): number { return 0; }
|
|
|
|
static get [z](): number { return 0; }
|
|
|
|
static set [w](value: number) { }
|
|
|
|
|
|
|
|
[x]: number;
|
|
|
|
[y](): number { return 0; }
|
|
|
|
get [z](): number { return 0; }
|
|
|
|
set [w](value: number) { }
|
|
|
|
}
|
|
|
|
|
|
|
|
export type ObjectTypeVisibility = {
|
|
|
|
[x]: number;
|
|
|
|
[y](): number;
|
|
|
|
};
|
|
|
|
|
|
|
|
export const ObjectLiteralVisibility = {
|
|
|
|
[x]: 0,
|
|
|
|
[y](): number { return 0; },
|
|
|
|
get [z](): number { return 0; },
|
|
|
|
set [w](value: number) { },
|
|
|
|
};
|