export default function decorators() {
  console.group('ES-next: Stage-2: decorators');
  {
    console.log(`
      class Hoge {
        @decorator
        instance = 1;

        @decorator
        method() {
          console.log('Hoge.prototype.method()');
        }
      }

      function decorator(...args) {
        console.log('decorator()', ...args);
        return (target, key, descriptor) => {
          console.log('decorator(): target =>', target);
          console.log('decorator(): key =>', key);
          console.log('decorator(): descriptor =>', descriptor);
        };
      }
    `);

    class Hoge {
      @decorator
      instance = 1;

      @decorator
      method() {
        console.log('Hoge.prototype.method()');
      }
    }

    function decorator(...args) {
      console.log('decorator()', ...args);
      return (target, key, descriptor) => {
        console.log('decorator(): target =>', target);
        console.log('decorator(): key =>', key);
        console.log('decorator(): descriptor =>', descriptor);
      };
    }

    const hoge = new Hoge();
    hoge.method();
    hoge.instance;
  }
  console.groupEnd();
}

@@ -174,33 +174,35 @@
       @decorator
+()
 %0A
-
         method()
@@ -361,32 +361,40 @@
 %0A        return 
+function
 (target, key, de
@@ -394,35 +394,32 @@
 key, descriptor)
- =%3E
  %7B%0A          con
@@ -574,24 +574,53 @@
 escriptor);%0A
+          return descriptor;%0A
         %7D;%0A 
@@ -702,24 +702,26 @@
   @decorator
+()
 %0A      metho
@@ -1073,24 +1073,51 @@
 escriptor);%0A
+        return descriptor;%0A
       %7D;%0A   
@@ -1145,24 +1145,24 @@
 new Hoge();%0A
+
     hoge.met
@@ -1172,27 +1172,8 @@
 ();%0A
-    hoge.instance;%0A
   %7D%0A

add a code of decorators