* 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>
253 lines
5.3 KiB
TypeScript
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 };
|
|
}
|