From 669d1b480d19efc5dc19b811fac090786219d535 Mon Sep 17 00:00:00 2001 From: Tony Garnock-Jones Date: Tue, 25 May 2021 11:01:55 +0200 Subject: [PATCH] Name is already always supplied, no need to add it --- .../javascript/packages/schema/src/checker.ts | 2 +- .../packages/schema/src/compiler/genconverter.ts | 2 +- .../packages/schema/src/compiler/gentype.ts | 4 ++-- .../schema/src/compiler/genunconverter.ts | 2 +- .../javascript/packages/schema/src/meta.ts | 16 ---------------- 5 files changed, 5 insertions(+), 21 deletions(-) diff --git a/implementations/javascript/packages/schema/src/checker.ts b/implementations/javascript/packages/schema/src/checker.ts index f84f770..c7e7dfd 100644 --- a/implementations/javascript/packages/schema/src/checker.ts +++ b/implementations/javascript/packages/schema/src/checker.ts @@ -109,7 +109,7 @@ class Checker { p.entries.forEach((np, key) => this.checkNamedPattern( scope, - M.promoteNamedSimplePattern(M.addNameIfAbsent(np, key)), + M.promoteNamedSimplePattern(np), `entry ${key.asPreservesText()} in dictionary in ${context}`)); break; } diff --git a/implementations/javascript/packages/schema/src/compiler/genconverter.ts b/implementations/javascript/packages/schema/src/compiler/genconverter.ts index 43399ae..8341eb5 100644 --- a/implementations/javascript/packages/schema/src/compiler/genconverter.ts +++ b/implementations/javascript/packages/schema/src/compiler/genconverter.ts @@ -222,7 +222,7 @@ function converterForCompound( ctx.block(() => converterFor( ctx, - M.promoteNamedSimplePattern(M.addNameIfAbsent(n, k)), + M.promoteNamedSimplePattern(n), tmpSrc, () => loop(i + 1))))]; } else { diff --git a/implementations/javascript/packages/schema/src/compiler/gentype.ts b/implementations/javascript/packages/schema/src/compiler/gentype.ts index aae855a..ca49105 100644 --- a/implementations/javascript/packages/schema/src/compiler/gentype.ts +++ b/implementations/javascript/packages/schema/src/compiler/gentype.ts @@ -76,8 +76,8 @@ function compoundFields(fs: FieldMap, resolver: RefResolver, p: M.CompoundPatter gatherFields(fs, resolver, M.promoteNamedSimplePattern(p.variable)); break; case 'dict': - p.entries.forEach((n, k) => - gatherFields(fs, resolver, M.promoteNamedSimplePattern(M.addNameIfAbsent(n, k)))); + p.entries.forEach((n, _k) => + gatherFields(fs, resolver, M.promoteNamedSimplePattern(n))); break; default: ((_p: never) => {})(p); diff --git a/implementations/javascript/packages/schema/src/compiler/genunconverter.ts b/implementations/javascript/packages/schema/src/compiler/genunconverter.ts index 70ed0bd..6bc074f 100644 --- a/implementations/javascript/packages/schema/src/compiler/genunconverter.ts +++ b/implementations/javascript/packages/schema/src/compiler/genunconverter.ts @@ -101,7 +101,7 @@ function unconverterFor(ctx: FunctionContext, p: M.Pattern, src: string): Item { brackets(... Array.from(p.entries.entries()).map(([k, n]) => brackets( ctx.mod.literal(k), - unconverterForNamedSimple(ctx, M.addNameIfAbsent(n, k), src)))))); + unconverterForNamedSimple(ctx, n, src)))))); } })(p.value); } diff --git a/implementations/javascript/packages/schema/src/meta.ts b/implementations/javascript/packages/schema/src/meta.ts index 84b5a6e..87f4964 100644 --- a/implementations/javascript/packages/schema/src/meta.ts +++ b/implementations/javascript/packages/schema/src/meta.ts @@ -102,22 +102,6 @@ export function anonymousSimplePattern(p: M.SimplePattern): M.NamedPattern { return M.NamedPattern.anonymous(M.Pattern.SimplePattern(p)); } -export function addNameIfAbsent(p: M.NamedSimplePattern, k: M._val): M.NamedSimplePattern { - if (p._variant === 'named') { - return p; - } else { - const s = namelike(k); - if (s !== void 0) { - return M.NamedSimplePattern.named(M.NamedSimplePattern_({ - name: Symbol.for(s), - pattern: p.value - })); - } else { - return p; - } - } -} - export function namelike(x: Input): string | undefined { if (typeof x === 'string') return x; if (typeof x === 'symbol') return x.description!;