docs: @Override
      public ClassNode visitTypeDeclaration(TypeDeclarationContext ctx) {
          if (asBoolean(ctx.classDeclaration())) { // e.g. class A {}
              ctx.classDeclaration().putNodeMetaData(TYPE_DECLARATION_MODIFIERS, this.visitClassOrInterfaceModifiersOpt(ctx.classOrInterfaceModifiersOpt()));
              return configureAST(this.visitClassDeclaration(ctx.classDeclaration()), ctx);
          }
  
          throw createParsingFailedException("Unsupported type declaration: " + ctx.getText(), ctx);
      }