TypeScript/tests/baselines/reference/nullPropertyName.js
Wesley Wigham 08cb0b23e8
Serialize (noncontextual) keyword named namespace members with export declarations in both declaration emitters (#38982)
* fix(38750): create unique names for keywords and re-export them with original names

* Serialize (noncontextual) keyword named namespace members with export declarations in both declaration emitters

* Add exhaustive keyword emit test for js declaration emitter and fix it up

Co-authored-by: Alexander T <alexander.tarasyuk@outlook.com>
2020-06-10 14:42:49 -07:00

253 lines
5.3 KiB
TypeScript

//// [nullPropertyName.ts]
function foo() {}
// properties
foo.x = 1;
foo.y = 1;
// keywords
foo.break = 1;
foo.case = 1;
foo.catch = 1;
foo.class = 1;
foo.const = 1;
foo.continue = 1;
foo.debugger = 1;
foo.default = 1;
foo.delete = 1;
foo.do = 1;
foo.else = 1;
foo.enum = 1;
foo.export = 1;
foo.extends = 1;
foo.false = 1;
foo.finally = 1;
foo.for = 1;
foo.function = 1;
foo.if = 1;
foo.import = 1;
foo.in = 1;
foo.instanceof = 1;
foo.new = 1;
foo.null = 1;
foo.return = 1;
foo.super = 1;
foo.switch = 1;
foo.this = 1;
foo.throw = 1;
foo.true = 1;
foo.try = 1;
foo.typeof = 1;
foo.var = 1;
foo.void = 1;
foo.while = 1;
foo.with = 1;
foo.implements = 1;
foo.interface = 1;
foo.let = 1;
foo.package = 1;
foo.private = 1;
foo.protected = 1;
foo.public = 1;
foo.static = 1;
foo.yield = 1;
foo.abstract = 1;
foo.as = 1;
foo.asserts = 1;
foo.any = 1;
foo.async = 1;
foo.await = 1;
foo.boolean = 1;
foo.constructor = 1;
foo.declare = 1;
foo.get = 1;
foo.infer = 1;
foo.is = 1;
foo.keyof = 1;
foo.module = 1;
foo.namespace = 1;
foo.never = 1;
foo.readonly = 1;
foo.require = 1;
foo.number = 1;
foo.object = 1;
foo.set = 1;
foo.string = 1;
foo.symbol = 1;
foo.type = 1;
foo.undefined = 1;
foo.unique = 1;
foo.unknown = 1;
foo.from = 1;
foo.global = 1;
foo.bigint = 1;
foo.of = 1;
//// [nullPropertyName.js]
function foo() { }
// properties
foo.x = 1;
foo.y = 1;
// keywords
foo["break"] = 1;
foo["case"] = 1;
foo["catch"] = 1;
foo["class"] = 1;
foo["const"] = 1;
foo["continue"] = 1;
foo["debugger"] = 1;
foo["default"] = 1;
foo["delete"] = 1;
foo["do"] = 1;
foo["else"] = 1;
foo["enum"] = 1;
foo["export"] = 1;
foo["extends"] = 1;
foo["false"] = 1;
foo["finally"] = 1;
foo["for"] = 1;
foo["function"] = 1;
foo["if"] = 1;
foo["import"] = 1;
foo["in"] = 1;
foo["instanceof"] = 1;
foo["new"] = 1;
foo["null"] = 1;
foo["return"] = 1;
foo["super"] = 1;
foo["switch"] = 1;
foo["this"] = 1;
foo["throw"] = 1;
foo["true"] = 1;
foo["try"] = 1;
foo["typeof"] = 1;
foo["var"] = 1;
foo["void"] = 1;
foo["while"] = 1;
foo["with"] = 1;
foo.implements = 1;
foo.interface = 1;
foo.let = 1;
foo.package = 1;
foo.private = 1;
foo.protected = 1;
foo.public = 1;
foo.static = 1;
foo.yield = 1;
foo.abstract = 1;
foo.as = 1;
foo.asserts = 1;
foo.any = 1;
foo.async = 1;
foo.await = 1;
foo.boolean = 1;
foo.constructor = 1;
foo.declare = 1;
foo.get = 1;
foo.infer = 1;
foo.is = 1;
foo.keyof = 1;
foo.module = 1;
foo.namespace = 1;
foo.never = 1;
foo.readonly = 1;
foo.require = 1;
foo.number = 1;
foo.object = 1;
foo.set = 1;
foo.string = 1;
foo.symbol = 1;
foo.type = 1;
foo.undefined = 1;
foo.unique = 1;
foo.unknown = 1;
foo.from = 1;
foo.global = 1;
foo.bigint = 1;
foo.of = 1;
//// [nullPropertyName.d.ts]
declare function foo(): void;
declare namespace foo {
export var x: number;
export var y: number;
var _a: number;
var _b: number;
var _c: number;
var _d: number;
var _e: number;
var _f: number;
var _g: number;
var _h: number;
var _j: number;
var _k: number;
var _l: number;
var _m: number;
var _o: number;
var _p: number;
var _q: number;
var _r: number;
var _s: number;
var _t: number;
var _u: number;
var _v: number;
var _w: number;
var _x: number;
var _y: number;
var _z: number;
var _0: number;
var _1: number;
var _2: number;
var _3: number;
var _4: number;
var _5: number;
var _6: number;
var _7: number;
var _8: number;
var _9: number;
var _10: number;
var _11: number;
var _12: number;
var _13: number;
var _14: number;
var _15: number;
var _16: number;
var _17: number;
var _18: number;
var _19: number;
var _20: number;
export var abstract: number;
export var as: number;
export var asserts: number;
export var any: number;
export var async: number;
export var await: number;
export var boolean: number;
export var constructor: number;
export var declare: number;
export var get: number;
export var infer: number;
export var is: number;
export var keyof: number;
export var module: number;
export var namespace: number;
export var never: number;
export var readonly: number;
export var require: number;
export var number: number;
export var object: number;
export var set: number;
export var string: number;
export var symbol: number;
export var type: number;
export var undefined: number;
export var unique: number;
export var unknown: number;
export var from: number;
export var global: number;
export var bigint: number;
export var of: number;
export { _a as break, _b as case, _c as catch, _d as class, _e as const, _f as continue, _g as debugger, _h as default, _j as delete, _k as do, _l as else, _m as enum, _o as export, _p as extends, _q as false, _r as finally, _s as for, _t as function, _u as if, _v as import, _w as in, _x as instanceof, _y as new, _z as null, _0 as return, _1 as super, _2 as switch, _3 as this, _4 as throw, _5 as true, _6 as try, _7 as typeof, _8 as var, _9 as void, _10 as while, _11 as with, _12 as implements, _13 as interface, _14 as let, _15 as package, _16 as private, _17 as protected, _18 as public, _19 as static, _20 as yield };
}