// Copyright (C) 2018 Rick Waldron. All rights reserved. // This code is governed by the BSD license found in the LICENSE file. /*--- desc: Valid Static AsyncGeneratorMethod PrivateName info: | ClassElement : MethodDefinition static MethodDefinition FieldDefinition ; static FieldDefinition ; ; MethodDefinition : AsyncGeneratorMethod AsyncGeneratorMethod : async [no LineTerminator here] * ClassElementName ( UniqueFormalParameters){ AsyncGeneratorBody } ClassElementName : PropertyName PrivateName PrivateName :: # IdentifierName IdentifierName :: IdentifierStart IdentifierName IdentifierPart IdentifierStart :: UnicodeIDStart $ _ \ UnicodeEscapeSequence IdentifierPart:: UnicodeIDContinue $ \ UnicodeEscapeSequence <ZWNJ> <ZWJ> UnicodeIDStart:: any Unicode code point with the Unicode property "ID_Start" UnicodeIDContinue:: any Unicode code point with the Unicode property "ID_Continue" NOTE 3 The sets of code points with Unicode properties "ID_Start" and "ID_Continue" include, respectively, the code points with Unicode properties "Other_ID_Start" and "Other_ID_Continue". template: productions flags: [async] features: [class-static-methods-private] ---*/ //- fields static async * #$(value) { yield await value; } static async * #_(value) { yield await value; } static async * #\u{6F}(value) { yield await value; } static async * #\u2118(value) { yield await value; } static async * #ZW_\u200C_NJ(value) { yield await value; } static async * #ZW_\u200D_J(value) { yield await value; } //- privateinspectionfunctions static async * $(value) { yield * await this.#$(value); } static async * _(value) { yield * await this.#_(value); } static async * \u{6F}(value) { yield * await this.#\u{6F}(value); } static async * \u2118(value) { yield * await this.#\u2118(value); } static async * ZW_\u200C_NJ(value) { yield * await this.#ZW_\u200C_NJ(value); } static async * ZW_\u200D_J(value) { yield * await this.#ZW_\u200D_J(value); } //- assertions Promise.all([ C.$(1).next(), C._(1).next(), C.\u{6F}(1).next(), C.\u2118(1).next(), C.ZW_\u200C_NJ(1).next(), C.ZW_\u200D_J(1).next(), ]).then(results => { assert.sameValue(results[0].value, 1); assert.sameValue(results[1].value, 1); assert.sameValue(results[2].value, 1); assert.sameValue(results[3].value, 1); assert.sameValue(results[4].value, 1); assert.sameValue(results[5].value, 1); }, $DONE).then($DONE, $DONE);