From f11568dbde862fda1404cfc49aae20cd1cc2a796 Mon Sep 17 00:00:00 2001 From: Katie Broida Date: Tue, 14 Aug 2018 15:44:09 -0400 Subject: [PATCH] Refactor templates --- .../default/cls-private-decl-inst.template | 47 +++++++++++++------ .../default/cls-private-decl-static.template | 6 +-- .../default/cls-private-expr-inst.template | 2 +- .../default/cls-private-expr-static.template | 5 +- 4 files changed, 38 insertions(+), 22 deletions(-) diff --git a/src/accessor-names/default/cls-private-decl-inst.template b/src/accessor-names/default/cls-private-decl-inst.template index ba8a7c25ea..7aaa72eca3 100644 --- a/src/accessor-names/default/cls-private-decl-inst.template +++ b/src/accessor-names/default/cls-private-decl-inst.template @@ -1,26 +1,45 @@ -// Copyright (C) 2017 Mike Pennisi. All rights reserved. +// Copyright (C) 2018 Katie Broida. All rights reserved. // This code is governed by the BSD license found in the LICENSE file. /*--- -path: language/statements/class/accessor-name-inst- -name: Class declaration, instance method -esid: sec-runtime-semantics-classdefinitionevaluation -es6id: 14.5.14 +path: language/statements/class/private-accessor-name-inst- +name: Class declaration, private instance method +esid: #prod-MethodDefinition info: | [...] - 21. For each ClassElement m in order from methods - a. If IsStatic of m is false, then - i. Let status be the result of performing PropertyDefinitionEvaluation - for m with arguments proto and false. + MethodDefinition[Yield, Await]: + PropertyNameClassElementName [?Yield, ?Await]( + UniqueFormalParameters [~Yield, ~Await] ) { + FunctionBody [~Yield, ~Await] } + AsyncMethod[?Yield, ?Await] + get PropertyName ClassElementName [?Yield, ?Await] (){ + FunctionBody [~Yield, ~Await] } + set PropertyNameClassElementName [?Yield, ?Await] ( + PropertySetParameterList ) { FunctionBody [~Yield, ~Await] } + AsyncMethod [Yield, Await]: + async [no LineTerminator here] PropertyName + ClassElementName[?Yield, ?Await]( + UniqueFormalParameters[~Yield, +Await] ) { AsyncFunctionBody } + ---*/ var stringSet; class C { - get /*{ declareWith }*/() { return 'get string'; } - set /*{ declareWith }*/(param) { stringSet = param; } -} + get #/*{ declareWith }*/() { return 'get string'; } + set #/*{ declareWith }*/(param) { stringSet = param; } -assert.sameValue(C.prototype[/*{ referenceWith }*/], 'get string'); + getPrivateReference() { + return this.#/*{ referenceWith }*/; + } -C.prototype[/*{ referenceWith }*/] = 'set string'; + setPrivateReference(value) { + this.#/*{ referenceWith }*/ = value; + } +}; + +var inst = C(); + +assert.sameValue(inst.getPrivateReference(), 'get string'); + +inst.setPrivateReference('set string'); assert.sameValue(stringSet, 'set string'); diff --git a/src/accessor-names/default/cls-private-decl-static.template b/src/accessor-names/default/cls-private-decl-static.template index bb7f71b3ae..1bc8fc926c 100644 --- a/src/accessor-names/default/cls-private-decl-static.template +++ b/src/accessor-names/default/cls-private-decl-static.template @@ -37,10 +37,8 @@ class C { } } -var inst = C(); +assert.sameValue(C.getPrivateReference(), 'get string'); -assert.sameValue(inst.getPrivateReference(), 'get string'); - -inst.setPrivateReference('set string'); +C.setPrivateReference('set string'); assert.sameValue(stringSet, 'set string'); diff --git a/src/accessor-names/default/cls-private-expr-inst.template b/src/accessor-names/default/cls-private-expr-inst.template index 1a14db69f1..ba7fc55a3c 100644 --- a/src/accessor-names/default/cls-private-expr-inst.template +++ b/src/accessor-names/default/cls-private-expr-inst.template @@ -13,7 +13,7 @@ info: | AsyncMethod[?Yield, ?Await] get PropertyName ClassElementName [?Yield, ?Await] (){ FunctionBody [~Yield, ~Await] } - set PropertyNameClassElementName [?Yield, ?Await] ( + set PropertyNameClassElementName [?Yield, ?Await] ( PropertySetParameterList ) { FunctionBody [~Yield, ~Await] } AsyncMethod [Yield, Await]: async [no LineTerminator here] PropertyName diff --git a/src/accessor-names/default/cls-private-expr-static.template b/src/accessor-names/default/cls-private-expr-static.template index e004113c28..5233cf13e8 100644 --- a/src/accessor-names/default/cls-private-expr-static.template +++ b/src/accessor-names/default/cls-private-expr-static.template @@ -37,9 +37,8 @@ var C = class { } }; -var inst = C(); -assert.sameValue(inst.getPrivateReference(), 'get string'); +assert.sameValue(C.getPrivateReference(), 'get string'); -inst.setPrivateReference('set string'); +C.setPrivateReference('set string'); assert.sameValue(stringSet, 'set string');