From 57fea22f70ef44e04179b50d50f34352a1e154ee Mon Sep 17 00:00:00 2001
From: jbhoosreddy <jbhoosreddy@bloomberg.net>
Date: Tue, 4 Sep 2018 00:09:35 -0400
Subject: [PATCH] add async function syntax

---
 .../async-class-decl-private-method.template  | 24 +++++++++++++++++++
 ...-class-decl-static-private-method.template | 24 +++++++++++++++++++
 .../async-class-expr-private-method.template  | 24 +++++++++++++++++++
 ...-class-expr-static-private-method.template | 24 +++++++++++++++++++
 .../async-class-decl-private-method.template  |  2 +-
 ...-class-decl-static-private-method.template |  2 +-
 .../async-class-expr-private-method.template  |  2 +-
 ...-class-expr-static-private-method.template |  2 +-
 .../class-decl-private-method.template        |  2 +-
 .../class-decl-static-private-method.template |  2 +-
 .../class-expr-private-method.template        |  2 +-
 .../class-expr-static-private-method.template |  2 +-
 12 files changed, 104 insertions(+), 8 deletions(-)
 create mode 100644 src/async-functions/syntax/async-class-decl-private-method.template
 create mode 100644 src/async-functions/syntax/async-class-decl-static-private-method.template
 create mode 100644 src/async-functions/syntax/async-class-expr-private-method.template
 create mode 100644 src/async-functions/syntax/async-class-expr-static-private-method.template

diff --git a/src/async-functions/syntax/async-class-decl-private-method.template b/src/async-functions/syntax/async-class-decl-private-method.template
new file mode 100644
index 0000000000..5a3949ab24
--- /dev/null
+++ b/src/async-functions/syntax/async-class-decl-private-method.template
@@ -0,0 +1,24 @@
+// Copyright (C) 2018 Bloomberg LP. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+path: language/statements/class/async-private-method-
+name: Async private method as a ClassDeclaration element
+esid: prod-AsyncMethod
+info: |
+  ClassElement :
+    PrivateMethodDefinition
+
+  MethodDefinition :
+    AsyncMethod
+
+  Async Function Definitions
+
+  AsyncMethod :
+    async [no LineTerminator here] # PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody }
+features: [async-functions, class-methods-private]
+---*/
+
+class C { async #method() {
+    /*{ body }*/
+}}
diff --git a/src/async-functions/syntax/async-class-decl-static-private-method.template b/src/async-functions/syntax/async-class-decl-static-private-method.template
new file mode 100644
index 0000000000..0bede5a459
--- /dev/null
+++ b/src/async-functions/syntax/async-class-decl-static-private-method.template
@@ -0,0 +1,24 @@
+// Copyright (C) 2018 Bloomberg LP. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+path: language/statements/class/async-private-method-static-
+name: Static async private method as a ClassDeclaration element
+esid: prod-AsyncMethod
+info: |
+  ClassElement :
+    static PrivateMethodDefinition
+
+  MethodDefinition :
+    AsyncMethod
+
+  Async Function Definitions
+
+  AsyncMethod :
+    async [no LineTerminator here] # PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody }
+features: [async-functions, class-methods-private]
+---*/
+
+class C { static async #method() {
+    /*{ body }*/
+}}
diff --git a/src/async-functions/syntax/async-class-expr-private-method.template b/src/async-functions/syntax/async-class-expr-private-method.template
new file mode 100644
index 0000000000..8f047f74d0
--- /dev/null
+++ b/src/async-functions/syntax/async-class-expr-private-method.template
@@ -0,0 +1,24 @@
+// Copyright (C) 2018 Bloomberg LP. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+path: language/expressions/class/async-private-method-
+name: Async private method as a ClassExpression element
+esid: prod-AsyncMethod
+info: |
+  ClassElement :
+    PrivateMethodDefinition
+
+  MethodDefinition :
+    AsyncMethod
+
+  Async Function Definitions
+
+  AsyncMethod :
+    async [no LineTerminator here] # PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody }
+features: [async-functions, class-methods-private]
+---*/
+
+var C = class { async #method() {
+    /*{ body }*/
+}};
diff --git a/src/async-functions/syntax/async-class-expr-static-private-method.template b/src/async-functions/syntax/async-class-expr-static-private-method.template
new file mode 100644
index 0000000000..ab154f12f5
--- /dev/null
+++ b/src/async-functions/syntax/async-class-expr-static-private-method.template
@@ -0,0 +1,24 @@
+// Copyright (C) 2018 Bloomberg LP. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+path: language/expressions/class/async-private-method-static-
+name: Static private async method as a ClassExpression element
+esid: prod-AsyncMethod
+info: |
+  ClassElement :
+    static PrivateMethodDefinition
+
+  MethodDefinition :
+    AsyncMethod
+
+  Async Function Definitions
+
+  AsyncMethod :
+    async [no LineTerminator here] # PropertyName ( UniqueFormalParameters ) { AsyncFunctionBody }
+features: [async-functions, class-methods-private]
+---*/
+
+var C = class { static async #method() {
+    /*{ body }*/
+}};
diff --git a/src/async-generators/default/async-class-decl-private-method.template b/src/async-generators/default/async-class-decl-private-method.template
index 48b7060370..44ff11ea49 100644
--- a/src/async-generators/default/async-class-decl-private-method.template
+++ b/src/async-generators/default/async-class-decl-private-method.template
@@ -1,4 +1,4 @@
-// Copyright (C) 2018 Jaideep Bhoosreddy. All rights reserved.
+// Copyright (C) 2018 Bloomberb LP. All rights reserved.
 // This code is governed by the BSD license found in the LICENSE file.
 
 /*---
diff --git a/src/async-generators/default/async-class-decl-static-private-method.template b/src/async-generators/default/async-class-decl-static-private-method.template
index ebb00653f5..9e4f7d5fc1 100644
--- a/src/async-generators/default/async-class-decl-static-private-method.template
+++ b/src/async-generators/default/async-class-decl-static-private-method.template
@@ -1,4 +1,4 @@
-// Copyright (C) 2018 Jaideep Bhoosreddy. All rights reserved.
+// Copyright (C) 2018 Bloomberg LP. All rights reserved.
 // This code is governed by the BSD license found in the LICENSE file.
 
 /*---
diff --git a/src/async-generators/default/async-class-expr-private-method.template b/src/async-generators/default/async-class-expr-private-method.template
index 8b329c11af..c2509020a5 100644
--- a/src/async-generators/default/async-class-expr-private-method.template
+++ b/src/async-generators/default/async-class-expr-private-method.template
@@ -1,4 +1,4 @@
-// Copyright (C) 2018 Jaideep Bhoosreddy. All rights reserved.
+// Copyright (C) 2018 Bloomberg LP. All rights reserved.
 // This code is governed by the BSD license found in the LICENSE file.
 
 /*---
diff --git a/src/async-generators/default/async-class-expr-static-private-method.template b/src/async-generators/default/async-class-expr-static-private-method.template
index 7a5743a64d..828930de22 100644
--- a/src/async-generators/default/async-class-expr-static-private-method.template
+++ b/src/async-generators/default/async-class-expr-static-private-method.template
@@ -1,4 +1,4 @@
-// Copyright (C) 2018 Jaideep Bhoosreddy. All rights reserved.
+// Copyright (C) 2018 Bloomberg L. All rights reserved.
 // This code is governed by the BSD license found in the LICENSE file.
 
 /*---
diff --git a/src/generators/default/class-decl-private-method.template b/src/generators/default/class-decl-private-method.template
index 7e86032a37..3d5c4f6916 100644
--- a/src/generators/default/class-decl-private-method.template
+++ b/src/generators/default/class-decl-private-method.template
@@ -1,4 +1,4 @@
-// Copyright (C) 2018 Jaideep Bhoosreddy. All rights reserved.
+// Copyright (C) 2018 Bloomberg LP. All rights reserved.
 // This code is governed by the BSD license found in the LICENSE file.
 /*---
 path: language/statements/class/gen-method-
diff --git a/src/generators/default/class-decl-static-private-method.template b/src/generators/default/class-decl-static-private-method.template
index d27b4c0586..4a5f38b801 100644
--- a/src/generators/default/class-decl-static-private-method.template
+++ b/src/generators/default/class-decl-static-private-method.template
@@ -1,4 +1,4 @@
-// Copyright (C) 2018 Jaideep Bhoosreddy. All rights reserved.
+// Copyright (C) 2018 Bloomberg LP. All rights reserved.
 // This code is governed by the BSD license found in the LICENSE file.
 /*---
 path: language/statements/class/gen-private-method-static-
diff --git a/src/generators/default/class-expr-private-method.template b/src/generators/default/class-expr-private-method.template
index 5cbde34f00..cede4ddfb0 100644
--- a/src/generators/default/class-expr-private-method.template
+++ b/src/generators/default/class-expr-private-method.template
@@ -1,4 +1,4 @@
-// Copyright (C) 2018 Jaideep Bhoosreddy. All rights reserved.
+// Copyright (C) 2018 Bloomberg LP. All rights reserved.
 // This code is governed by the BSD license found in the LICENSE file.
 /*---
 path: language/expressions/class/gen-private-method-
diff --git a/src/generators/default/class-expr-static-private-method.template b/src/generators/default/class-expr-static-private-method.template
index 7979b3e674..eb150dfcaf 100644
--- a/src/generators/default/class-expr-static-private-method.template
+++ b/src/generators/default/class-expr-static-private-method.template
@@ -1,4 +1,4 @@
-// Copyright (C) 2018 Jaideep Bhoosreddy. All rights reserved.
+// Copyright (C) 2018 Bloomberg LP. All rights reserved.
 // This code is governed by the BSD license found in the LICENSE file.
 /*---
 path: language/expressions/class/gen-private-method-static-
-- 
GitLab