Skip to content

Commit a7d10ba

Browse files
authored
BREAKING CHANGE: Refactor enum identifiers to TitleCase and apply some changes in AST nodes (#2501)
1 parent 0d39f0f commit a7d10ba

24 files changed

+4318
-4300
lines changed

Diff for: src/ast.ts

+243-235
Large diffs are not rendered by default.

Diff for: src/bindings/js.ts

+37-37
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ export class JSBuilder extends ExportsWalker {
136136
let sb = this.sb;
137137
let type = element.type;
138138
this.exports.push(name);
139-
if (!isPlainValue(type, Mode.EXPORT)) {
139+
if (!isPlainValue(type, Mode.Export)) {
140140
indent(sb, this.indentLevel);
141141
sb.push(name);
142142
sb.push(": {\n");
@@ -156,7 +156,7 @@ export class JSBuilder extends ExportsWalker {
156156
sb.push(";\n");
157157
indent(sb, --this.indentLevel);
158158
sb.push("}");
159-
if (!element.is(CommonFlags.CONST)) {
159+
if (!element.is(CommonFlags.Const)) {
160160
sb.push(",\n");
161161
indent(sb, this.indentLevel);
162162
sb.push("set value(value) {\n");
@@ -190,20 +190,20 @@ export class JSBuilder extends ExportsWalker {
190190
if (members) {
191191
for (let _values = Map_values(members), i = 0, k = _values.length; i < k; ++i) {
192192
let value = _values[i];
193-
if (value.kind != ElementKind.ENUMVALUE) continue;
193+
if (value.kind != ElementKind.EnumValue) continue;
194194
indent(sb, this.indentLevel);
195195
sb.push("values[values.");
196196
sb.push(value.name);
197-
if (value.is(CommonFlags.INLINED)) {
197+
if (value.is(CommonFlags.Inlined)) {
198198
sb.push(" = ");
199199
sb.push(i64_low((<EnumValue>value).constantIntegerValue).toString());
200200
} else {
201201
sb.push(" = exports[\"");
202-
sb.push(escapeString(name + "." + value.name, CharCode.DOUBLEQUOTE));
202+
sb.push(escapeString(name + "." + value.name, CharCode.DoubleQuote));
203203
sb.push("\"].valueOf()");
204204
}
205205
sb.push("] = \"");
206-
sb.push(escapeString(value.name, CharCode.DOUBLEQUOTE));
206+
sb.push(escapeString(value.name, CharCode.DoubleQuote));
207207
sb.push("\",\n");
208208
}
209209
}
@@ -222,11 +222,11 @@ export class JSBuilder extends ExportsWalker {
222222
sb.push(name);
223223
} else {
224224
sb.push("\"");
225-
sb.push(escapeString(name, CharCode.DOUBLEQUOTE));
225+
sb.push(escapeString(name, CharCode.DoubleQuote));
226226
sb.push("\": ");
227227
}
228228
let moduleId = this.ensureModuleId(moduleName);
229-
if (isPlainValue(type, Mode.IMPORT)) {
229+
if (isPlainValue(type, Mode.Import)) {
230230
sb.push("(\n");
231231
indent(sb, this.indentLevel + 1);
232232
sb.push("// ");
@@ -268,10 +268,10 @@ export class JSBuilder extends ExportsWalker {
268268
sb.push(name);
269269
} else {
270270
sb.push("\"");
271-
sb.push(escapeString(name, CharCode.DOUBLEQUOTE));
271+
sb.push(escapeString(name, CharCode.DoubleQuote));
272272
sb.push("\"");
273273
}
274-
if (isPlainFunction(signature, Mode.IMPORT) && !code) {
274+
if (isPlainFunction(signature, Mode.Import) && !code) {
275275
sb.push(": (\n");
276276
indent(sb, this.indentLevel + 1);
277277
sb.push("// ");
@@ -303,7 +303,7 @@ export class JSBuilder extends ExportsWalker {
303303
sb.push("\n");
304304
for (let i = 0, k = parameterTypes.length; i < k; ++i) {
305305
let type = parameterTypes[i];
306-
if (!isPlainValue(type, Mode.EXPORT)) {
306+
if (!isPlainValue(type, Mode.Export)) {
307307
let name = element.getParameterName(i);
308308
indent(sb, this.indentLevel);
309309
sb.push(name);
@@ -351,11 +351,11 @@ export class JSBuilder extends ExportsWalker {
351351
}
352352

353353
visitFunction(name: string, element: Function): void {
354-
if (element.is(CommonFlags.PRIVATE)) return;
354+
if (element.is(CommonFlags.Private)) return;
355355
let sb = this.sb;
356356
let signature = element.signature;
357357
this.exports.push(name);
358-
if (!isPlainFunction(signature, Mode.EXPORT)) {
358+
if (!isPlainFunction(signature, Mode.Export)) {
359359
indent(sb, this.indentLevel);
360360
sb.push(name);
361361
sb.push("(");
@@ -375,7 +375,7 @@ export class JSBuilder extends ExportsWalker {
375375
let releases = new Array<string>();
376376
for (let i = 0, k = parameterTypes.length; i < k; ++i) {
377377
let type = parameterTypes[i];
378-
if (!isPlainValue(type, Mode.IMPORT)) {
378+
if (!isPlainValue(type, Mode.Import)) {
379379
let name = element.getParameterName(i);
380380
indent(sb, this.indentLevel);
381381
sb.push(name);
@@ -465,17 +465,17 @@ export class JSBuilder extends ExportsWalker {
465465
}
466466

467467
getExternalCode(element: Function): string | null {
468-
let decorator = findDecorator(DecoratorKind.EXTERNAL_JS, element.decoratorNodes);
468+
let decorator = findDecorator(DecoratorKind.ExternalJs, element.decoratorNodes);
469469
if (decorator) {
470470
let args = decorator.args;
471471
if (args && args.length == 1) {
472472
let codeArg = args[0];
473-
if (codeArg.kind == NodeKind.LITERAL) {
473+
if (codeArg.kind == NodeKind.Literal) {
474474
let literal = <LiteralExpression>codeArg;
475-
if (literal.literalKind == LiteralKind.STRING) {
475+
if (literal.literalKind == LiteralKind.String) {
476476
return (<StringLiteralExpression>literal).value;
477477
}
478-
if (literal.literalKind == LiteralKind.TEMPLATE) {
478+
if (literal.literalKind == LiteralKind.Template) {
479479
let parts = (<TemplateLiteralExpression>literal).parts;
480480
if (parts.length == 1) {
481481
return parts[0];
@@ -514,7 +514,7 @@ export class JSBuilder extends ExportsWalker {
514514
sb.push(moduleName);
515515
} else {
516516
sb.push("\"");
517-
sb.push(escapeString(moduleName, CharCode.DOUBLEQUOTE));
517+
sb.push(escapeString(moduleName, CharCode.DoubleQuote));
518518
sb.push("\"");
519519
}
520520
let resetPos = sb.length;
@@ -535,16 +535,16 @@ export class JSBuilder extends ExportsWalker {
535535
for (let _keys2 = Map_keys(module), j = 0, l = _keys2.length; j < l; ++j) {
536536
let name = _keys2[j];
537537
let elem = assert(module.get(name));
538-
if (elem.kind == ElementKind.FUNCTION) {
538+
if (elem.kind == ElementKind.Function) {
539539
let func = <Function>elem;
540540
let code = this.getExternalCode(func);
541-
if (!isPlainFunction(func.signature, Mode.IMPORT) || !isIdentifier(name) || code) {
541+
if (!isPlainFunction(func.signature, Mode.Import) || !isIdentifier(name) || code) {
542542
this.makeFunctionImport(moduleName, name, <Function>elem, code);
543543
++numInstrumented;
544544
}
545-
} else if (elem.kind == ElementKind.GLOBAL) {
545+
} else if (elem.kind == ElementKind.Global) {
546546
let global = <Global>elem;
547-
if (!isPlainValue(global.type, Mode.IMPORT) || !isIdentifier(name)) {
547+
if (!isPlainValue(global.type, Mode.Import) || !isIdentifier(name)) {
548548
this.makeGlobalImport(moduleName, name, global);
549549
++numInstrumented;
550550
}
@@ -590,7 +590,7 @@ export class JSBuilder extends ExportsWalker {
590590
map.push(moduleName);
591591
} else {
592592
map.push("[\"");
593-
map.push(escapeString(moduleName, CharCode.DOUBLEQUOTE));
593+
map.push(escapeString(moduleName, CharCode.DoubleQuote));
594594
map.push("\"]");
595595
}
596596
map.push(";\n");
@@ -901,7 +901,7 @@ export class JSBuilder extends ExportsWalker {
901901
sb.push(moduleName);
902902
} else {
903903
sb.push("\"");
904-
sb.push(escapeString(moduleName, CharCode.DOUBLEQUOTE));
904+
sb.push(escapeString(moduleName, CharCode.DoubleQuote));
905905
sb.push("\"");
906906
}
907907
sb.push(": __maybeDefault(__import");
@@ -910,14 +910,14 @@ export class JSBuilder extends ExportsWalker {
910910
importExpr.push("import * as __import");
911911
importExpr.push(moduleId.toString());
912912
importExpr.push(" from \"");
913-
importExpr.push(escapeString(moduleName, CharCode.DOUBLEQUOTE));
913+
importExpr.push(escapeString(moduleName, CharCode.DoubleQuote));
914914
importExpr.push("\";\n");
915915
needsMaybeDefault = true;
916916
}
917917
}
918918
sb[0] = importExpr.join("");
919919
sb.push(` }
920-
))(new URL("${escapeString(options.basenameHint, CharCode.DOUBLEQUOTE)}.wasm", import.meta.url));
920+
))(new URL("${escapeString(options.basenameHint, CharCode.DoubleQuote)}.wasm", import.meta.url));
921921
`);
922922
if (needsMaybeDefault) {
923923
sb.push(`function __maybeDefault(module) {
@@ -1107,7 +1107,7 @@ export class JSBuilder extends ExportsWalker {
11071107
}
11081108
}
11091109
sb.push(")");
1110-
if (!type.is(TypeFlags.NULLABLE)) {
1110+
if (!type.is(TypeFlags.Nullable)) {
11111111
this.needsNotNull = true;
11121112
sb.push(" || __notnull()");
11131113
}
@@ -1241,7 +1241,7 @@ export class JSBuilder extends ExportsWalker {
12411241
for (let _keys = Map_keys(members), i = 0, k = _keys.length; i < k; ++i) {
12421242
let memberName = _keys[i];
12431243
let member = assert(members.get(memberName));
1244-
if (member.kind != ElementKind.FIELD) continue;
1244+
if (member.kind != ElementKind.Field) continue;
12451245
let field = <Field>member;
12461246
indent(sb, this.indentLevel);
12471247
sb.push(field.name);
@@ -1283,7 +1283,7 @@ export class JSBuilder extends ExportsWalker {
12831283
for (let _keys = Map_keys(members), i = 0, k = _keys.length; i < k; ++i) {
12841284
let memberName = _keys[i];
12851285
let member = assert(members.get(memberName));
1286-
if (member.kind != ElementKind.FIELD) continue;
1286+
if (member.kind != ElementKind.Field) continue;
12871287
let field = <Field>member;
12881288
indent(sb, this.indentLevel);
12891289
this.makeLowerToMemory(field.type, sb, "pointer + " + field.memoryOffset.toString(), "value." + memberName);
@@ -1303,12 +1303,12 @@ export class JSBuilder extends ExportsWalker {
13031303
// Helpers
13041304

13051305
enum Mode {
1306-
IMPORT,
1307-
EXPORT
1306+
Import,
1307+
Export
13081308
}
13091309

13101310
function isPlainValue(type: Type, kind: Mode): bool {
1311-
if (kind == Mode.IMPORT) {
1311+
if (kind == Mode.Import) {
13121312
// may be stored to an Uint8Array, make sure to store 1/0
13131313
if (type == Type.bool) return false;
13141314
// requires coercion of undefined to 0n
@@ -1325,7 +1325,7 @@ function isPlainValue(type: Type, kind: Mode): bool {
13251325

13261326
function isPlainFunction(signature: Signature, mode: Mode): bool {
13271327
let parameterTypes = signature.parameterTypes;
1328-
let inverseMode = mode == Mode.IMPORT ? Mode.EXPORT : Mode.IMPORT;
1328+
let inverseMode = mode == Mode.Import ? Mode.Export : Mode.Import;
13291329
if (!isPlainValue(signature.returnType, mode)) return false;
13301330
for (let i = 0, k = parameterTypes.length; i < k; ++i) {
13311331
if (!isPlainValue(parameterTypes[i], inverseMode)) return false;
@@ -1340,8 +1340,8 @@ function isPlainObject(clazz: Class): bool {
13401340
if (members) {
13411341
for (let _values = Map_values(members), i = 0, k = _values.length; i < k; ++i) {
13421342
let member = _values[i];
1343-
if (member.isAny(CommonFlags.PRIVATE | CommonFlags.PROTECTED)) return false;
1344-
if (member.is(CommonFlags.CONSTRUCTOR)) {
1343+
if (member.isAny(CommonFlags.Private | CommonFlags.Protected)) return false;
1344+
if (member.is(CommonFlags.Constructor)) {
13451345
// a generated constructor is ok
13461346
if (member.declaration.range != member.program.nativeRange) return false;
13471347
}
@@ -1355,7 +1355,7 @@ function indentText(text: string, indentLevel: i32, sb: string[], butFirst: bool
13551355
let length = text.length;
13561356
let pos = 0;
13571357
while (pos < length) {
1358-
if (text.charCodeAt(pos) == CharCode.LINEFEED) {
1358+
if (text.charCodeAt(pos) == CharCode.LineFeed) {
13591359
if (butFirst) butFirst = false;
13601360
else indent(sb, indentLevel);
13611361
sb.push(text.substring(lineStart, lineStart = pos + 1));

Diff for: src/bindings/tsd.ts

+8-8
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ export class TSDBuilder extends ExportsWalker {
7070
indent(sb, this.indentLevel);
7171
sb.push("get value(): ");
7272
sb.push(tsType);
73-
if (!element.is(CommonFlags.CONST)) {
73+
if (!element.is(CommonFlags.Const)) {
7474
sb.push(";\n");
7575
indent(sb, this.indentLevel);
7676
sb.push("set value(value: ");
@@ -101,7 +101,7 @@ export class TSDBuilder extends ExportsWalker {
101101
for (let _keys = Map_keys(members), i = 0, k = _keys.length; i < k; ++i) {
102102
let memberName = unchecked(_keys[i]);
103103
let member = assert(members.get(memberName));
104-
if (member.kind != ElementKind.ENUMVALUE) continue;
104+
if (member.kind != ElementKind.EnumValue) continue;
105105
indent(sb, this.indentLevel);
106106
sb.push("/** @type `i32` */\n");
107107
indent(sb, this.indentLevel);
@@ -218,7 +218,7 @@ export class TSDBuilder extends ExportsWalker {
218218
sb.push(moduleName);
219219
} else {
220220
sb.push("\"");
221-
sb.push(escapeString(moduleName, CharCode.DOUBLEQUOTE));
221+
sb.push(escapeString(moduleName, CharCode.DoubleQuote));
222222
sb.push("\"");
223223
}
224224
sb.push(": unknown,\n");
@@ -235,8 +235,8 @@ export class TSDBuilder extends ExportsWalker {
235235
if (members) {
236236
for (let _values = Map_values(members), i = 0, k = _values.length; i < k; ++i) {
237237
let member = _values[i];
238-
if (member.isAny(CommonFlags.PRIVATE | CommonFlags.PROTECTED)) return false;
239-
if (member.is(CommonFlags.CONSTRUCTOR)) {
238+
if (member.isAny(CommonFlags.Private | CommonFlags.Protected)) return false;
239+
if (member.is(CommonFlags.Constructor)) {
240240
// a generated constructor is ok
241241
if (member.declaration.range != this.program.nativeRange) return false;
242242
}
@@ -314,7 +314,7 @@ export class TSDBuilder extends ExportsWalker {
314314
}
315315
}
316316
}
317-
if (type.is(TypeFlags.NULLABLE)) {
317+
if (type.is(TypeFlags.Nullable)) {
318318
sb.push(" | null");
319319
}
320320
return sb.join("");
@@ -347,7 +347,7 @@ export class TSDBuilder extends ExportsWalker {
347347
for (let _keys = Map_keys(members), i = 0, k = _keys.length; i < k; ++i) {
348348
let memberName = _keys[i];
349349
let member = assert(members.get(memberName));
350-
if (member.kind != ElementKind.FIELD) continue;
350+
if (member.kind != ElementKind.Field) continue;
351351
let field = <Field>member;
352352
sb.push(" /** @type `");
353353
sb.push(field.type.toString());
@@ -367,7 +367,7 @@ export class TSDBuilder extends ExportsWalker {
367367

368368
fieldAcceptsUndefined(type: Type): bool {
369369
if (type.isInternalReference) {
370-
return type.is(TypeFlags.NULLABLE);
370+
return type.is(TypeFlags.Nullable);
371371
}
372372
return true;
373373
}

0 commit comments

Comments
 (0)