class test {
        static isPrivate() {
          let callername;
          try {
            throw new Error();
          } catch (e) {
            /** @type {String[]} */
            let stack = e.stack.split("\n");
            let out = [];
            for (let i = 0; i < stack.length; i++) {
              if (i == 0 || i == stack.length - 1) continue;

              out.push(
                stack[i]
                  .replace("at", "")
                  .replace(/ *\([^)]*\) */g, "")
                  .trim()
              );
            }
            console.dir(out);
          }
        }

        static one() {
          this.isPrivate();
        }
        static two() {
          this.one();
        }
        static three() {
          this.two();
        }
        static four() {
          this.three();
        }
      }

      (initial = () => test.four())();