فهرست منبع

Support optional catch binding (#900)

Marko Lahma 4 سال پیش
والد
کامیت
b29573bdce
100فایلهای تغییر یافته به همراه487 افزوده شده و 103 حذف شده
  1. 15 0
      Jint.Tests.Test262/Language/Statements/TryTests.cs
  2. 1 1
      Jint.Tests.Test262/test/language/statements/try/S12.14_A16_T1.js
  3. 1 1
      Jint.Tests.Test262/test/language/statements/try/S12.14_A16_T10.js
  4. 1 1
      Jint.Tests.Test262/test/language/statements/try/S12.14_A16_T11.js
  5. 1 1
      Jint.Tests.Test262/test/language/statements/try/S12.14_A16_T12.js
  6. 1 1
      Jint.Tests.Test262/test/language/statements/try/S12.14_A16_T13.js
  7. 2 2
      Jint.Tests.Test262/test/language/statements/try/S12.14_A16_T14.js
  8. 2 2
      Jint.Tests.Test262/test/language/statements/try/S12.14_A16_T15.js
  9. 1 1
      Jint.Tests.Test262/test/language/statements/try/S12.14_A16_T2.js
  10. 1 1
      Jint.Tests.Test262/test/language/statements/try/S12.14_A16_T3.js
  11. 1 1
      Jint.Tests.Test262/test/language/statements/try/S12.14_A16_T5.js
  12. 1 1
      Jint.Tests.Test262/test/language/statements/try/S12.14_A16_T6.js
  13. 1 1
      Jint.Tests.Test262/test/language/statements/try/S12.14_A16_T7.js
  14. 1 1
      Jint.Tests.Test262/test/language/statements/try/S12.14_A16_T8.js
  15. 1 1
      Jint.Tests.Test262/test/language/statements/try/S12.14_A16_T9.js
  16. 1 1
      Jint.Tests.Test262/test/language/statements/try/catch-parameter-boundnames-restriction-arguments-negative-early.js
  17. 1 1
      Jint.Tests.Test262/test/language/statements/try/catch-parameter-boundnames-restriction-eval-negative-early.js
  18. 79 0
      Jint.Tests.Test262/test/language/statements/try/completion-values-fn-finally-abrupt.js
  19. 80 0
      Jint.Tests.Test262/test/language/statements/try/completion-values-fn-finally-normal.js
  20. 80 0
      Jint.Tests.Test262/test/language/statements/try/completion-values-fn-finally-return.js
  21. 65 0
      Jint.Tests.Test262/test/language/statements/try/completion-values.js
  22. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/ary-init-iter-close.js
  23. 40 0
      Jint.Tests.Test262/test/language/statements/try/dstr/ary-init-iter-get-err-array-prototype.js
  24. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/ary-init-iter-get-err.js
  25. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/ary-init-iter-no-close.js
  26. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/ary-name-iter-val.js
  27. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-ary-elem-init.js
  28. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-ary-elem-iter.js
  29. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-ary-elision-init.js
  30. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-ary-elision-iter.js
  31. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-ary-empty-init.js
  32. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-ary-empty-iter.js
  33. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-ary-rest-init.js
  34. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-ary-rest-iter.js
  35. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-ary-val-null.js
  36. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-id-init-exhausted.js
  37. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-id-init-fn-name-arrow.js
  38. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-id-init-fn-name-class.js
  39. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-id-init-fn-name-cover.js
  40. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-id-init-fn-name-fn.js
  41. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-id-init-fn-name-gen.js
  42. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-id-init-hole.js
  43. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-id-init-skipped.js
  44. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-id-init-throws.js
  45. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-id-init-undef.js
  46. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-id-init-unresolvable.js
  47. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-id-iter-complete.js
  48. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-id-iter-done.js
  49. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-id-iter-step-err.js
  50. 59 0
      Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-id-iter-val-array-prototype.js
  51. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-id-iter-val-err.js
  52. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-id-iter-val.js
  53. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-obj-id-init.js
  54. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-obj-id.js
  55. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-obj-prop-id-init.js
  56. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-obj-prop-id.js
  57. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-obj-val-null.js
  58. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-obj-val-undef.js
  59. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elision-exhausted.js
  60. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elision-step-err.js
  61. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elision.js
  62. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-empty.js
  63. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-rest-ary-elem.js
  64. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-rest-ary-elision.js
  65. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-rest-ary-empty.js
  66. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-rest-ary-rest.js
  67. 42 0
      Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-rest-id-direct.js
  68. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-rest-id-elision-next-err.js
  69. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-rest-id-elision.js
  70. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-rest-id-exhausted.js
  71. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-rest-id-iter-step-err.js
  72. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-rest-id-iter-val-err.js
  73. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-rest-id.js
  74. 2 3
      Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-rest-init-ary.js
  75. 2 3
      Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-rest-init-id.js
  76. 2 3
      Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-rest-init-obj.js
  77. 1 2
      Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-rest-not-final-ary.js
  78. 1 2
      Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-rest-not-final-id.js
  79. 1 2
      Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-rest-not-final-obj.js
  80. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-rest-obj-id.js
  81. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-rest-obj-prop-id.js
  82. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/obj-init-null.js
  83. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/obj-init-undefined.js
  84. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/obj-ptrn-empty.js
  85. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/obj-ptrn-id-get-value-err.js
  86. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/obj-ptrn-id-init-fn-name-arrow.js
  87. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/obj-ptrn-id-init-fn-name-class.js
  88. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/obj-ptrn-id-init-fn-name-cover.js
  89. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/obj-ptrn-id-init-fn-name-fn.js
  90. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/obj-ptrn-id-init-fn-name-gen.js
  91. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/obj-ptrn-id-init-skipped.js
  92. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/obj-ptrn-id-init-throws.js
  93. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/obj-ptrn-id-init-unresolvable.js
  94. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/obj-ptrn-id-trailing-comma.js
  95. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/obj-ptrn-list-err.js
  96. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/obj-ptrn-prop-ary-init.js
  97. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/obj-ptrn-prop-ary-trailing-comma.js
  98. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/obj-ptrn-prop-ary-value-null.js
  99. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/obj-ptrn-prop-ary.js
  100. 0 1
      Jint.Tests.Test262/test/language/statements/try/dstr/obj-ptrn-prop-eval-err.js

+ 15 - 0
Jint.Tests.Test262/Language/Statements/TryTests.cs

@@ -0,0 +1,15 @@
+using Xunit;
+
+namespace Jint.Tests.Test262.Language.Statements
+{
+    public class TryTests : Test262Test
+    {
+        [Theory(DisplayName = "language\\statements\\try")]
+        [MemberData(nameof(SourceFiles), "language\\statements\\try", false)]
+        [MemberData(nameof(SourceFiles), "language\\statements\\try", true, Skip = "Skipped")]
+        protected void For(SourceFile sourceFile)
+        {
+            RunTestInternal(sourceFile);
+        }
+    }
+}

+ 1 - 1
Jint.Tests.Test262/test/language/statements/try/S12.14_A16_T1.js

@@ -12,7 +12,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+$DONOTEVALUATE();
 
 // CHECK#1
 try

+ 1 - 1
Jint.Tests.Test262/test/language/statements/try/S12.14_A16_T10.js

@@ -12,7 +12,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+$DONOTEVALUATE();
 
 // CHECK#1
 try{}

+ 1 - 1
Jint.Tests.Test262/test/language/statements/try/S12.14_A16_T11.js

@@ -14,7 +14,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+$DONOTEVALUATE();
 
 // CHECK#1
 try{

+ 1 - 1
Jint.Tests.Test262/test/language/statements/try/S12.14_A16_T12.js

@@ -12,7 +12,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+$DONOTEVALUATE();
 
 // CHECK#1
 try

+ 1 - 1
Jint.Tests.Test262/test/language/statements/try/S12.14_A16_T13.js

@@ -14,7 +14,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+$DONOTEVALUATE();
 
 // CHECK#1
 try

+ 2 - 2
Jint.Tests.Test262/test/language/statements/try/S12.14_A16_T14.js

@@ -12,9 +12,9 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+$DONOTEVALUATE();
 
 // CHECK#1
-try(e1){	
+try(e1){
 }
 catch(e){}

+ 2 - 2
Jint.Tests.Test262/test/language/statements/try/S12.14_A16_T15.js

@@ -14,9 +14,9 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+$DONOTEVALUATE();
 
 // CHECK#1
-try{	
+try{
 }
 finally(e){}

+ 1 - 1
Jint.Tests.Test262/test/language/statements/try/S12.14_A16_T2.js

@@ -12,7 +12,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+$DONOTEVALUATE();
 
 // CHECK#1
 catch

+ 1 - 1
Jint.Tests.Test262/test/language/statements/try/S12.14_A16_T3.js

@@ -12,7 +12,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+$DONOTEVALUATE();
 
 // CHECK#1
 finally

+ 1 - 1
Jint.Tests.Test262/test/language/statements/try/S12.14_A16_T5.js

@@ -14,7 +14,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+$DONOTEVALUATE();
 
 // CHECK#1
 try{}

+ 1 - 1
Jint.Tests.Test262/test/language/statements/try/S12.14_A16_T6.js

@@ -14,7 +14,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+$DONOTEVALUATE();
 
 // CHECK#1
 try{

+ 1 - 1
Jint.Tests.Test262/test/language/statements/try/S12.14_A16_T7.js

@@ -14,7 +14,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+$DONOTEVALUATE();
 
 // CHECK#1
 try{}

+ 1 - 1
Jint.Tests.Test262/test/language/statements/try/S12.14_A16_T8.js

@@ -14,7 +14,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+$DONOTEVALUATE();
 
 // CHECK#1
 try{}

+ 1 - 1
Jint.Tests.Test262/test/language/statements/try/S12.14_A16_T9.js

@@ -12,7 +12,7 @@ negative:
   type: SyntaxError
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+$DONOTEVALUATE();
 
 // CHECK#1
 catch(){}

+ 1 - 1
Jint.Tests.Test262/test/language/statements/try/catch-parameter-boundnames-restriction-arguments-negative-early.js

@@ -11,6 +11,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+$DONOTEVALUATE();
 
 try { } catch (arguments) { }

+ 1 - 1
Jint.Tests.Test262/test/language/statements/try/catch-parameter-boundnames-restriction-eval-negative-early.js

@@ -11,6 +11,6 @@ negative:
 flags: [onlyStrict]
 ---*/
 
-throw "Test262: This statement should not be evaluated.";
+$DONOTEVALUATE();
 
 try { } catch (eval) { }

+ 79 - 0
Jint.Tests.Test262/test/language/statements/try/completion-values-fn-finally-abrupt.js

@@ -0,0 +1,79 @@
+// Copyright (C) 2020 Salesforce.com. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-try-statement-runtime-semantics-evaluation
+description: >
+  Returns the correct completion values of try-catch-finally(Abrupt) in functions
+info: |
+  TryStatement : try Block Catch Finally
+
+    Let B be the result of evaluating Block.
+    If B.[[Type]] is throw, let C be CatchClauseEvaluation of Catch with argument B.[[Value]].
+    Else, let C be B.
+    Let F be the result of evaluating Finally.
+    If F.[[Type]] is normal, set F to C.
+    Return Completion(UpdateEmpty(F, undefined)).
+---*/
+
+var fn, count = {};
+
+// 1: try Abrupt, catch Abrupt, finally Abrupt; Completion: finally
+count.catch = 0;
+count.finally = 0;
+fn = function() {
+  try {
+    throw 'try';
+  } catch(e) {
+    count.catch += 1;
+    throw 'catch';
+  } finally {
+    count.finally += 1;
+    throw new Test262Error('finally'); // If F.[[Type]] is normal, set F to C.
+  }
+  return 'wat';
+};
+
+assert.throws(Test262Error, fn, '1: try Abrupt, catch Abrupt, finally Abrupt; Completion: finally');
+assert.sameValue(count.catch, 1, '1: catch count');
+assert.sameValue(count.finally, 1, '1: finally count');
+
+// 2: try Abrupt, catch Return, finally Abrupt; Completion: finally
+count.catch = 0;
+count.finally = 0;
+fn = function() {
+  try {
+    throw 'try';
+  } catch(e) {
+    count.catch += 1;
+    return 'catch';
+  } finally {
+    count.finally += 1;
+    throw new Test262Error('finally'); // If F.[[Type]] is normal, set F to C.
+  }
+  return 'wat';
+};
+
+assert.throws(Test262Error, fn, '2: try Abrupt, catch Return, finally Abrupt; Completion: finally');
+assert.sameValue(count.catch, 1, '2: catch count');
+assert.sameValue(count.finally, 1, '2: fiinally count');
+
+// 3: try Return, catch Return, finally Abrupt; Completion: finally
+count.catch = 0;
+count.finally = 0;
+fn = function() {
+  try {
+    return 'try';
+  } catch(e) {
+    count.catch += 1;
+    return 'catch';
+  } finally {
+    count.finally += 1;
+    throw new Test262Error('finally'); // If F.[[Type]] is normal, set F to C.
+  }
+  return 'wat';
+};
+
+assert.throws(Test262Error, fn, '3: try Normal, catch Normal, finally Abrupt; Completion: finally');
+assert.sameValue(count.catch, 0, '3: catch count');
+assert.sameValue(count.finally, 1, '3: fiinally count');

+ 80 - 0
Jint.Tests.Test262/test/language/statements/try/completion-values-fn-finally-normal.js

@@ -0,0 +1,80 @@
+// Copyright (C) 2020 Salesforce.com. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-try-statement-runtime-semantics-evaluation
+description: >
+  Returns the correct completion values of try-catch-finally(Normal) in functions
+info: |
+  TryStatement : try Block Catch Finally
+
+    Let B be the result of evaluating Block.
+    If B.[[Type]] is throw, let C be CatchClauseEvaluation of Catch with argument B.[[Value]].
+    Else, let C be B.
+    Let F be the result of evaluating Finally.
+    If F.[[Type]] is normal, set F to C.
+    Return Completion(UpdateEmpty(F, undefined)).
+---*/
+
+// 1: try Return, catch Return, finally Normal; Completion: try
+var count = {
+  catch: 0,
+  finally: 0
+};
+
+var fn = function() {
+  try {
+    return 'try';
+  } catch(e) {
+    count.catch += 1;
+    return 'catch';
+  } finally {
+    count.finally += 1;
+    'normal';
+  }
+  return 'wat';
+};
+
+assert.sameValue(fn(), 'try', '1: try Return, catch Return, finally Normal; Completion: try');
+assert.sameValue(count.catch, 0, '1');
+assert.sameValue(count.finally, 1, '1');
+
+// 2: try Abrupt, catch Return, finally Normal; Completion: catch
+count.catch = 0;
+count.finally = 0;
+fn = function() {
+  try {
+    throw 'try';
+  } catch(e) {
+    count.catch += 1;
+    return 'catch';
+  } finally {
+    count.finally += 1;
+    'finally';
+  }
+  return 'wat';
+};
+
+assert.sameValue(fn(), 'catch', '2: try Abrupt, catch Return, finally Normal; Completion: catch');
+assert.sameValue(count.catch, 1, '2: catch count');
+assert.sameValue(count.finally, 1, '2: fiinally count');
+
+// 3: try Abrupt, catch Abrupt, finally Normal; Completion: catch
+count.catch = 0;
+count.finally = 0;
+fn = function() {
+  try {
+    throw 'try';
+  } catch(e) {
+    count.catch += 1;
+    throw new Test262Error('catch');
+  } finally {
+    count.finally += 1;
+    'finally';
+  }
+  return 'wat';
+};
+
+assert.throws(Test262Error, fn, '3: try Abrupt, catch Abrupt, finally Normal; Completion: catch');
+assert.sameValue(count.catch, 1, '3: catch count');
+assert.sameValue(count.finally, 1, '3: fiinally count');

+ 80 - 0
Jint.Tests.Test262/test/language/statements/try/completion-values-fn-finally-return.js

@@ -0,0 +1,80 @@
+// Copyright (C) 2020 Salesforce.com. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+
+/*---
+esid: sec-try-statement-runtime-semantics-evaluation
+description: >
+  Returns the correct completion values of try-catch-finally(Return) in functions
+info: |
+  TryStatement : try Block Catch Finally
+
+    Let B be the result of evaluating Block.
+    If B.[[Type]] is throw, let C be CatchClauseEvaluation of Catch with argument B.[[Value]].
+    Else, let C be B.
+    Let F be the result of evaluating Finally.
+    If F.[[Type]] is normal, set F to C.
+    Return Completion(UpdateEmpty(F, undefined)).
+---*/
+
+// 1: try Return, catch Return, finally Return; Completion: finally
+var count = {
+  catch: 0,
+  finally: 0
+};
+
+var fn = function() {
+  try {
+    return 'try';
+  } catch(e) {
+    count.catch += 1;
+    return 'catch';
+  } finally {
+    count.finally += 1;
+    return 'finally';
+  }
+  return 'wat';
+};
+
+assert.sameValue(fn(), 'finally', '1: try Return, catch Return, finally Return; Completion: finally');
+assert.sameValue(count.catch, 0, '1');
+assert.sameValue(count.finally, 1, '1');
+
+// 2: try Abrupt, catch Return, finally Return; Completion: finally
+count.catch = 0;
+count.finally = 0;
+fn = function() {
+  try {
+    throw 'try';
+  } catch(e) {
+    count.catch += 1;
+    return 'catch';
+  } finally {
+    count.finally += 1;
+    return 'finally';
+  }
+  return 'wat';
+};
+
+assert.sameValue(fn(), 'finally', '2: try Abrupt, catch Return, finally Return; Completion: finally');
+assert.sameValue(count.catch, 1, '2: catch count');
+assert.sameValue(count.finally, 1, '2: fiinally count');
+
+// 3: try Abrupt, catch Abrupt, finally Normal; Completion: finally
+count.catch = 0;
+count.finally = 0;
+fn = function() {
+  try {
+    throw 'try';
+  } catch(e) {
+    count.catch += 1;
+    throw 'catch';
+  } finally {
+    count.finally += 1;
+    return 'finally';
+  }
+  return 'wat';
+};
+
+assert.sameValue(fn(), 'finally', fn, '3: try Abrupt, catch Abrupt, finally Normal; Completion: finally');
+assert.sameValue(count.catch, 1, '3: catch count');
+assert.sameValue(count.finally, 1, '3: fiinally count');

+ 65 - 0
Jint.Tests.Test262/test/language/statements/try/completion-values.js

@@ -0,0 +1,65 @@
+// Copyright (C) 2020 Rick Waldron. All rights reserved.
+// This code is governed by the BSD license found in the LICENSE file.
+/*---
+esid: sec-try-statement-runtime-semantics-evaluation
+description: >
+  Direct eval try/catch/finally for completion value
+info: |
+  TryStatement : try Block Catch Finally
+
+    Let B be the result of evaluating Block.
+    If B.[[Type]] is throw, let C be CatchClauseEvaluation of Catch with argument B.[[Value]].
+    Else, let C be B.
+    Let F be the result of evaluating Finally.
+    If F.[[Type]] is normal, set F to C.
+    Return Completion(UpdateEmpty(F, undefined)).
+---*/
+
+assert.sameValue(
+  eval('99; do { -99; try { 39 } catch (e) { -1 } finally { 42; break; -2 }; } while (false);'),
+  42
+);
+assert.sameValue(
+  eval('99; do { -99; try { [].x.x } catch (e) { -1; } finally { 42; break; -3 }; } while (false);'),
+  42
+);
+assert.sameValue(
+  eval('99; do { -99; try { 39 } catch (e) { -1 } finally { break; -2 }; } while (false);'),
+  undefined
+);
+assert.sameValue(
+  eval('99; do { -99; try { [].x.x } catch (e) { -1; } finally { break; -3 }; } while (false);'),
+  undefined
+);
+assert.sameValue(
+  eval('99; do { -99; try { 39 } catch (e) { -1 } finally { 42; break; -3 }; -77 } while (false);'),
+  42
+);
+assert.sameValue(
+  eval('99; do { -99; try { [].x.x } catch (e) { -1; } finally { 42; break; -3 }; -77 } while (false);'),
+  42
+);
+assert.sameValue(
+  eval('99; do { -99; try { 39 } catch (e) { -1 } finally { break; -3 }; -77 } while (false);'),
+  undefined
+);
+assert.sameValue(
+  eval('99; do { -99; try { [].x.x } catch (e) { -1; } finally { break; -3 }; -77 } while (false);'),
+  undefined
+);
+assert.sameValue(
+  eval('99; do { -99; try { 39 } catch (e) { -1 } finally { 42; continue; -3 }; } while (false);'),
+  42
+);
+assert.sameValue(
+  eval('99; do { -99; try { [].x.x } catch (e) { -1; } finally { 42; continue; -3 }; } while (false);'),
+  42
+);
+assert.sameValue(
+  eval('99; do { -99; try { 39 } catch (e) { -1 } finally { 42; continue; -3 }; -77 } while (false);'),
+  42
+);
+assert.sameValue(
+  eval('99; do { -99; try { [].x.x } catch (e) { -1 } finally { 42; continue; -3 }; -77 } while (false);'),
+  42
+);

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-ary-init-iter-close.js → Jint.Tests.Test262/test/language/statements/try/dstr/ary-init-iter-close.js

@@ -4,7 +4,6 @@
 /*---
 description: Iterator is closed when not exhausted by pattern evaluation (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [Symbol.iterator, destructuring-binding]
 flags: [generated]
 info: |

+ 40 - 0
Jint.Tests.Test262/test/language/statements/try/dstr/ary-init-iter-get-err-array-prototype.js

@@ -0,0 +1,40 @@
+// This file was procedurally generated from the following sources:
+// - src/dstr-binding/ary-init-iter-get-err-array-prototype.case
+// - src/dstr-binding/error/try.template
+/*---
+description: Abrupt completion returned by GetIterator (try statement)
+esid: sec-runtime-semantics-catchclauseevaluation
+features: [Symbol.iterator, destructuring-binding]
+flags: [generated]
+info: |
+    Catch : catch ( CatchParameter ) Block
+
+    [...]
+    5. Let status be the result of performing BindingInitialization for
+       CatchParameter passing thrownValue and catchEnv as arguments.
+    [...]
+
+    Runtime Semantics: BindingInitialization
+
+    BindingPattern : ArrayBindingPattern
+
+    1. Let iteratorRecord be ? GetIterator(value).
+
+    GetIterator ( obj [ , hint [ , method ] ] )
+
+    [...]
+    4. Let iterator be ? Call(method, obj).
+
+    Call ( F, V [ , argumentsList ] )
+
+    [...]
+    2. If IsCallable(F) is false, throw a TypeError exception.
+
+---*/
+delete Array.prototype[Symbol.iterator];
+
+assert.throws(TypeError, function() {
+  try {
+    throw [1, 2, 3];
+  } catch ([x, y, z]) {}
+});

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-ary-init-iter-get-err.js → Jint.Tests.Test262/test/language/statements/try/dstr/ary-init-iter-get-err.js

@@ -4,7 +4,6 @@
 /*---
 description: Abrupt completion returned by GetIterator (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [Symbol.iterator, destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-ary-init-iter-no-close.js → Jint.Tests.Test262/test/language/statements/try/dstr/ary-init-iter-no-close.js

@@ -4,7 +4,6 @@
 /*---
 description: Iterator is not closed when exhausted by pattern evaluation (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [Symbol.iterator, destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-ary-name-iter-val.js → Jint.Tests.Test262/test/language/statements/try/dstr/ary-name-iter-val.js

@@ -4,7 +4,6 @@
 /*---
 description: SingleNameBinding with normal value iteration (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-ary-ptrn-elem-ary-elem-init.js → Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-ary-elem-init.js

@@ -4,7 +4,6 @@
 /*---
 description: BindingElement with array binding pattern and initializer is used (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-ary-ptrn-elem-ary-elem-iter.js → Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-ary-elem-iter.js

@@ -4,7 +4,6 @@
 /*---
 description: BindingElement with array binding pattern and initializer is not used (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-ary-ptrn-elem-ary-elision-init.js → Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-ary-elision-init.js

@@ -4,7 +4,6 @@
 /*---
 description: BindingElement with array binding pattern and initializer is used (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [generators, destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-ary-ptrn-elem-ary-elision-iter.js → Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-ary-elision-iter.js

@@ -4,7 +4,6 @@
 /*---
 description: BindingElement with array binding pattern and initializer is not used (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [generators, destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-ary-ptrn-elem-ary-empty-init.js → Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-ary-empty-init.js

@@ -4,7 +4,6 @@
 /*---
 description: BindingElement with array binding pattern and initializer is used (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [generators, destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-ary-ptrn-elem-ary-empty-iter.js → Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-ary-empty-iter.js

@@ -4,7 +4,6 @@
 /*---
 description: BindingElement with array binding pattern and initializer is not used (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-ary-ptrn-elem-ary-rest-init.js → Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-ary-rest-init.js

@@ -4,7 +4,6 @@
 /*---
 description: BindingElement with array binding pattern and initializer is used (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-ary-ptrn-elem-ary-rest-iter.js → Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-ary-rest-iter.js

@@ -4,7 +4,6 @@
 /*---
 description: BindingElement with array binding pattern and initializer is not used (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-ary-ptrn-elem-ary-val-null.js → Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-ary-val-null.js

@@ -4,7 +4,6 @@
 /*---
 description: Nested array destructuring with a null value (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-ary-ptrn-elem-id-init-exhausted.js → Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-id-init-exhausted.js

@@ -4,7 +4,6 @@
 /*---
 description: Destructuring initializer with an exhausted iterator (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-ary-ptrn-elem-id-init-fn-name-arrow.js → Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-id-init-fn-name-arrow.js

@@ -4,7 +4,6 @@
 /*---
 description: SingleNameBinding does assign name to arrow functions (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-ary-ptrn-elem-id-init-fn-name-class.js → Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-id-init-fn-name-class.js

@@ -4,7 +4,6 @@
 /*---
 description: SingleNameBinding assigns `name` to "anonymous" classes (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-ary-ptrn-elem-id-init-fn-name-cover.js → Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-id-init-fn-name-cover.js

@@ -4,7 +4,6 @@
 /*---
 description: SingleNameBinding does assign name to "anonymous" functions "through" cover grammar (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-ary-ptrn-elem-id-init-fn-name-fn.js → Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-id-init-fn-name-fn.js

@@ -4,7 +4,6 @@
 /*---
 description: SingleNameBinding assigns name to "anonymous" functions (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-ary-ptrn-elem-id-init-fn-name-gen.js → Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-id-init-fn-name-gen.js

@@ -4,7 +4,6 @@
 /*---
 description: SingleNameBinding assigns name to "anonymous" generator functions (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [generators, destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-ary-ptrn-elem-id-init-hole.js → Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-id-init-hole.js

@@ -4,7 +4,6 @@
 /*---
 description: Destructuring initializer with a "hole" (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-ary-ptrn-elem-id-init-skipped.js → Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-id-init-skipped.js

@@ -4,7 +4,6 @@
 /*---
 description: Destructuring initializer is not evaluated when value is not `undefined` (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-ary-ptrn-elem-id-init-throws.js → Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-id-init-throws.js

@@ -4,7 +4,6 @@
 /*---
 description: Destructuring initializer returns an abrupt completion (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-ary-ptrn-elem-id-init-undef.js → Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-id-init-undef.js

@@ -4,7 +4,6 @@
 /*---
 description: Destructuring initializer with an undefined value (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-ary-ptrn-elem-id-init-unresolvable.js → Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-id-init-unresolvable.js

@@ -4,7 +4,6 @@
 /*---
 description: Destructuring initializer is an unresolvable reference (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-ary-ptrn-elem-id-iter-complete.js → Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-id-iter-complete.js

@@ -4,7 +4,6 @@
 /*---
 description: SingleNameBinding when value iteration completes (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-ary-ptrn-elem-id-iter-done.js → Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-id-iter-done.js

@@ -4,7 +4,6 @@
 /*---
 description: SingleNameBinding when value iteration was completed previously (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-ary-ptrn-elem-id-iter-step-err.js → Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-id-iter-step-err.js

@@ -4,7 +4,6 @@
 /*---
 description: Error forwarding when IteratorStep returns an abrupt completion (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [Symbol.iterator, destructuring-binding]
 flags: [generated]
 info: |

+ 59 - 0
Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-id-iter-val-array-prototype.js

@@ -0,0 +1,59 @@
+// This file was procedurally generated from the following sources:
+// - src/dstr-binding/ary-ptrn-elem-id-iter-val-array-prototype.case
+// - src/dstr-binding/default/try.template
+/*---
+description: Array destructuring uses overriden Array.prototype[Symbol.iterator] (try statement)
+esid: sec-runtime-semantics-catchclauseevaluation
+features: [Symbol.iterator, generators, destructuring-binding]
+flags: [generated]
+info: |
+    Catch : catch ( CatchParameter ) Block
+
+    [...]
+    5. Let status be the result of performing BindingInitialization for
+       CatchParameter passing thrownValue and catchEnv as arguments.
+    [...]
+
+    Runtime Semantics: IteratorBindingInitialization
+
+    SingleNameBinding : BindingIdentifier Initializer_opt
+
+    1. Let bindingId be StringValue of BindingIdentifier.
+    2. Let lhs be ? ResolveBinding(bindingId, environment).
+    3. If iteratorRecord.[[Done]] is false, then
+        a. Let next be IteratorStep(iteratorRecord).
+        b. If next is an abrupt completion, set iteratorRecord.[[Done]] to true.
+        c. ReturnIfAbrupt(next).
+        d. If next is false, set iteratorRecord.[[Done]] to true.
+        e. Else,
+            i. Let v be IteratorValue(next).
+            ii. If v is an abrupt completion, set iteratorRecord.[[Done]] to true.
+            iii. ReturnIfAbrupt(v).
+    [...]
+    7. Return InitializeReferencedBinding(lhs, v).
+
+---*/
+Array.prototype[Symbol.iterator] = function* () {
+    if (this.length > 0) {
+        yield this[0];
+    }
+    if (this.length > 1) {
+        yield this[1];
+    }
+    if (this.length > 2) {
+        yield 42;
+    }
+};
+
+var ranCatch = false;
+
+try {
+  throw [1, 2, 3];
+} catch ([x, y, z]) {
+  assert.sameValue(x, 1);
+  assert.sameValue(y, 2);
+  assert.sameValue(z, 42);
+  ranCatch = true;
+}
+
+assert(ranCatch, 'executed `catch` block');

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-ary-ptrn-elem-id-iter-val-err.js → Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-id-iter-val-err.js

@@ -4,7 +4,6 @@
 /*---
 description: Error forwarding when IteratorValue returns an abrupt completion (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [Symbol.iterator, destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-ary-ptrn-elem-id-iter-val.js → Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-id-iter-val.js

@@ -4,7 +4,6 @@
 /*---
 description: SingleNameBinding when value iteration was completed previously (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-ary-ptrn-elem-obj-id-init.js → Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-obj-id-init.js

@@ -4,7 +4,6 @@
 /*---
 description: BindingElement with object binding pattern and initializer is used (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-ary-ptrn-elem-obj-id.js → Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-obj-id.js

@@ -4,7 +4,6 @@
 /*---
 description: BindingElement with object binding pattern and initializer is not used (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-ary-ptrn-elem-obj-prop-id-init.js → Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-obj-prop-id-init.js

@@ -4,7 +4,6 @@
 /*---
 description: BindingElement with object binding pattern and initializer is used (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-ary-ptrn-elem-obj-prop-id.js → Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-obj-prop-id.js

@@ -4,7 +4,6 @@
 /*---
 description: BindingElement with object binding pattern and initializer is not used (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-ary-ptrn-elem-obj-val-null.js → Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-obj-val-null.js

@@ -4,7 +4,6 @@
 /*---
 description: Nested object destructuring with a null value (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-ary-ptrn-elem-obj-val-undef.js → Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elem-obj-val-undef.js

@@ -4,7 +4,6 @@
 /*---
 description: Nested object destructuring with a value of `undefined` (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-ary-ptrn-elision-exhausted.js → Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elision-exhausted.js

@@ -4,7 +4,6 @@
 /*---
 description: Elision accepts exhausted iterator (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [generators, destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-ary-ptrn-elision-step-err.js → Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elision-step-err.js

@@ -4,7 +4,6 @@
 /*---
 description: Elision advances iterator and forwards abrupt completions (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [generators, destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-ary-ptrn-elision.js → Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-elision.js

@@ -4,7 +4,6 @@
 /*---
 description: Elision advances iterator (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [generators, destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-ary-ptrn-empty.js → Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-empty.js

@@ -4,7 +4,6 @@
 /*---
 description: No iteration occurs for an "empty" array binding pattern (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [generators, destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-ary-ptrn-rest-ary-elem.js → Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-rest-ary-elem.js

@@ -4,7 +4,6 @@
 /*---
 description: Rest element containing an array BindingElementList pattern (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-ary-ptrn-rest-ary-elision.js → Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-rest-ary-elision.js

@@ -4,7 +4,6 @@
 /*---
 description: Rest element containing an elision (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [generators, destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-ary-ptrn-rest-ary-empty.js → Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-rest-ary-empty.js

@@ -4,7 +4,6 @@
 /*---
 description: Rest element containing an "empty" array pattern (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [generators, destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-ary-ptrn-rest-ary-rest.js → Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-rest-ary-rest.js

@@ -4,7 +4,6 @@
 /*---
 description: Rest element containing a rest element (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [destructuring-binding]
 flags: [generated]
 info: |

+ 42 - 0
Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-rest-id-direct.js

@@ -0,0 +1,42 @@
+// This file was procedurally generated from the following sources:
+// - src/dstr-binding/ary-ptrn-rest-id-direct.case
+// - src/dstr-binding/default/try.template
+/*---
+description: Lone rest element (direct binding) (try statement)
+esid: sec-runtime-semantics-catchclauseevaluation
+features: [destructuring-binding]
+flags: [generated]
+includes: [compareArray.js]
+info: |
+    Catch : catch ( CatchParameter ) Block
+
+    [...]
+    5. Let status be the result of performing BindingInitialization for
+       CatchParameter passing thrownValue and catchEnv as arguments.
+    [...]
+
+    Runtime Semantics: IteratorBindingInitialization
+
+    BindingRestElement : ... BindingIdentifier
+
+    [...]
+    2. Let A be ! ArrayCreate(0).
+    3. Let n be 0.
+    4. Repeat,
+        [...]
+        f. Perform ! CreateDataPropertyOrThrow(A, ! ToString(n), nextValue).
+        g. Set n to n + 1.
+
+---*/
+
+var ranCatch = false;
+
+try {
+  throw [1];
+} catch ([...x]) {
+  assert(Array.isArray(x));
+  assert.compareArray(x, [1]);
+  ranCatch = true;
+}
+
+assert(ranCatch, 'executed `catch` block');

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-ary-ptrn-rest-id-elision-next-err.js → Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-rest-id-elision-next-err.js

@@ -4,7 +4,6 @@
 /*---
 description: Rest element following elision elements (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [generators, destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-ary-ptrn-rest-id-elision.js → Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-rest-id-elision.js

@@ -4,7 +4,6 @@
 /*---
 description: Rest element following elision elements (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-ary-ptrn-rest-id-exhausted.js → Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-rest-id-exhausted.js

@@ -4,7 +4,6 @@
 /*---
 description: RestElement applied to an exhausted iterator (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [Symbol.iterator, destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-ary-ptrn-rest-id-iter-step-err.js → Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-rest-id-iter-step-err.js

@@ -4,7 +4,6 @@
 /*---
 description: Error forwarding when IteratorStep returns an abrupt completion (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [generators, destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-ary-ptrn-rest-id-iter-val-err.js → Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-rest-id-iter-val-err.js

@@ -4,7 +4,6 @@
 /*---
 description: Error forwarding when IteratorValue returns an abrupt completion (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [Symbol.iterator, destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-ary-ptrn-rest-id.js → Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-rest-id.js

@@ -4,7 +4,6 @@
 /*---
 description: Lone rest element (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [destructuring-binding]
 flags: [generated]
 info: |

+ 2 - 3
Jint.Tests.Test262/test/language/statements/try/dstr-ary-ptrn-rest-init-ary.js → Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-rest-init-ary.js

@@ -2,9 +2,8 @@
 // - src/dstr-binding/ary-ptrn-rest-init-ary.case
 // - src/dstr-binding/default/try.template
 /*---
-description: Reset element (nested array pattern) does not support initializer (try statement)
+description: Rest element (nested array pattern) does not support initializer (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [destructuring-binding]
 flags: [generated]
 negative:
@@ -24,7 +23,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+$DONOTEVALUATE();
 
 var ranCatch = false;
 

+ 2 - 3
Jint.Tests.Test262/test/language/statements/try/dstr-ary-ptrn-rest-init-id.js → Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-rest-init-id.js

@@ -2,9 +2,8 @@
 // - src/dstr-binding/ary-ptrn-rest-init-id.case
 // - src/dstr-binding/default/try.template
 /*---
-description: Reset element (identifier) does not support initializer (try statement)
+description: Rest element (identifier) does not support initializer (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [destructuring-binding]
 flags: [generated]
 negative:
@@ -24,7 +23,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+$DONOTEVALUATE();
 
 var ranCatch = false;
 

+ 2 - 3
Jint.Tests.Test262/test/language/statements/try/dstr-ary-ptrn-rest-init-obj.js → Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-rest-init-obj.js

@@ -2,9 +2,8 @@
 // - src/dstr-binding/ary-ptrn-rest-init-obj.case
 // - src/dstr-binding/default/try.template
 /*---
-description: Reset element (nested object pattern) does not support initializer (try statement)
+description: Rest element (nested object pattern) does not support initializer (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [destructuring-binding]
 flags: [generated]
 negative:
@@ -24,7 +23,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+$DONOTEVALUATE();
 
 var ranCatch = false;
 

+ 1 - 2
Jint.Tests.Test262/test/language/statements/try/dstr-ary-ptrn-rest-not-final-ary.js → Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-rest-not-final-ary.js

@@ -4,7 +4,6 @@
 /*---
 description: Rest element (array binding pattern) may not be followed by any element (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [destructuring-binding]
 flags: [generated]
 negative:
@@ -24,7 +23,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+$DONOTEVALUATE();
 
 var ranCatch = false;
 

+ 1 - 2
Jint.Tests.Test262/test/language/statements/try/dstr-ary-ptrn-rest-not-final-id.js → Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-rest-not-final-id.js

@@ -4,7 +4,6 @@
 /*---
 description: Rest element (identifier) may not be followed by any element (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [destructuring-binding]
 flags: [generated]
 negative:
@@ -24,7 +23,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+$DONOTEVALUATE();
 
 var ranCatch = false;
 

+ 1 - 2
Jint.Tests.Test262/test/language/statements/try/dstr-ary-ptrn-rest-not-final-obj.js → Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-rest-not-final-obj.js

@@ -4,7 +4,6 @@
 /*---
 description: Rest element (object binding pattern) may not be followed by any element (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [destructuring-binding]
 flags: [generated]
 negative:
@@ -24,7 +23,7 @@ info: |
         [ BindingElementList[?Yield] ]
         [ BindingElementList[?Yield] , Elisionopt BindingRestElement[?Yield]opt ]
 ---*/
-throw "Test262: This statement should not be evaluated.";
+$DONOTEVALUATE();
 
 var ranCatch = false;
 

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-ary-ptrn-rest-obj-id.js → Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-rest-obj-id.js

@@ -4,7 +4,6 @@
 /*---
 description: Rest element containing an object binding pattern (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-ary-ptrn-rest-obj-prop-id.js → Jint.Tests.Test262/test/language/statements/try/dstr/ary-ptrn-rest-obj-prop-id.js

@@ -4,7 +4,6 @@
 /*---
 description: Rest element containing an object binding pattern (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-obj-init-null.js → Jint.Tests.Test262/test/language/statements/try/dstr/obj-init-null.js

@@ -4,7 +4,6 @@
 /*---
 description: Value specifed for object binding pattern must be object coercible (null) (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-obj-init-undefined.js → Jint.Tests.Test262/test/language/statements/try/dstr/obj-init-undefined.js

@@ -4,7 +4,6 @@
 /*---
 description: Value specifed for object binding pattern must be object coercible (undefined) (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-obj-ptrn-empty.js → Jint.Tests.Test262/test/language/statements/try/dstr/obj-ptrn-empty.js

@@ -4,7 +4,6 @@
 /*---
 description: No property access occurs for an "empty" object binding pattern (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-obj-ptrn-id-get-value-err.js → Jint.Tests.Test262/test/language/statements/try/dstr/obj-ptrn-id-get-value-err.js

@@ -4,7 +4,6 @@
 /*---
 description: Error thrown when accessing the corresponding property of the value object (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-obj-ptrn-id-init-fn-name-arrow.js → Jint.Tests.Test262/test/language/statements/try/dstr/obj-ptrn-id-init-fn-name-arrow.js

@@ -4,7 +4,6 @@
 /*---
 description: SingleNameBinding assigns `name` to arrow functions (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-obj-ptrn-id-init-fn-name-class.js → Jint.Tests.Test262/test/language/statements/try/dstr/obj-ptrn-id-init-fn-name-class.js

@@ -4,7 +4,6 @@
 /*---
 description: SingleNameBinding assigns `name` to "anonymous" classes (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-obj-ptrn-id-init-fn-name-cover.js → Jint.Tests.Test262/test/language/statements/try/dstr/obj-ptrn-id-init-fn-name-cover.js

@@ -4,7 +4,6 @@
 /*---
 description: SingleNameBinding assigns `name` to "anonymous" functions "through" cover grammar (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-obj-ptrn-id-init-fn-name-fn.js → Jint.Tests.Test262/test/language/statements/try/dstr/obj-ptrn-id-init-fn-name-fn.js

@@ -4,7 +4,6 @@
 /*---
 description: SingleNameBinding assigns name to "anonymous" functions (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-obj-ptrn-id-init-fn-name-gen.js → Jint.Tests.Test262/test/language/statements/try/dstr/obj-ptrn-id-init-fn-name-gen.js

@@ -4,7 +4,6 @@
 /*---
 description: SingleNameBinding assigns name to "anonymous" generator functions (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [generators, destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-obj-ptrn-id-init-skipped.js → Jint.Tests.Test262/test/language/statements/try/dstr/obj-ptrn-id-init-skipped.js

@@ -4,7 +4,6 @@
 /*---
 description: Destructuring initializer is not evaluated when value is not `undefined` (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-obj-ptrn-id-init-throws.js → Jint.Tests.Test262/test/language/statements/try/dstr/obj-ptrn-id-init-throws.js

@@ -4,7 +4,6 @@
 /*---
 description: Error thrown when evaluating the initializer (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-obj-ptrn-id-init-unresolvable.js → Jint.Tests.Test262/test/language/statements/try/dstr/obj-ptrn-id-init-unresolvable.js

@@ -4,7 +4,6 @@
 /*---
 description: Destructuring initializer is an unresolvable reference (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-obj-ptrn-id-trailing-comma.js → Jint.Tests.Test262/test/language/statements/try/dstr/obj-ptrn-id-trailing-comma.js

@@ -4,7 +4,6 @@
 /*---
 description: Trailing comma is allowed following BindingPropertyList (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-obj-ptrn-list-err.js → Jint.Tests.Test262/test/language/statements/try/dstr/obj-ptrn-list-err.js

@@ -4,7 +4,6 @@
 /*---
 description: Binding property list evaluation is interrupted by an abrupt completion (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-obj-ptrn-prop-ary-init.js → Jint.Tests.Test262/test/language/statements/try/dstr/obj-ptrn-prop-ary-init.js

@@ -4,7 +4,6 @@
 /*---
 description: Object binding pattern with "nested" array binding pattern using initializer (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-obj-ptrn-prop-ary-trailing-comma.js → Jint.Tests.Test262/test/language/statements/try/dstr/obj-ptrn-prop-ary-trailing-comma.js

@@ -4,7 +4,6 @@
 /*---
 description: Trailing comma is allowed following BindingPropertyList (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-obj-ptrn-prop-ary-value-null.js → Jint.Tests.Test262/test/language/statements/try/dstr/obj-ptrn-prop-ary-value-null.js

@@ -4,7 +4,6 @@
 /*---
 description: Object binding pattern with "nested" array binding pattern taking the `null` value (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-obj-ptrn-prop-ary.js → Jint.Tests.Test262/test/language/statements/try/dstr/obj-ptrn-prop-ary.js

@@ -4,7 +4,6 @@
 /*---
 description: Object binding pattern with "nested" array binding pattern not using initializer (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [destructuring-binding]
 flags: [generated]
 info: |

+ 0 - 1
Jint.Tests.Test262/test/language/statements/try/dstr-obj-ptrn-prop-eval-err.js → Jint.Tests.Test262/test/language/statements/try/dstr/obj-ptrn-prop-eval-err.js

@@ -4,7 +4,6 @@
 /*---
 description: Evaluation of property name returns an abrupt completion (try statement)
 esid: sec-runtime-semantics-catchclauseevaluation
-es6id: 13.15.7
 features: [destructuring-binding]
 flags: [generated]
 info: |

برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است