public void destroyClass() {
    { Stella_Class self = this;

      if (self.deletedP()) {
        return;
      }
      if (self.classType.homeContext == Stella.$STELLA_MODULE$) {
        Stella.STANDARD_WARNING.nativeStream.println("Warning: Can't delete STELLA class `" + Stella_Class.className(self) + "'.");
        return;
      }
      Stella_Class.unfinalizeClassAndSubclasses(self);
      self.unbindFromSurrogate();
      if (self.classTaxonomyNode != null) {
        TaxonomyGraph.removeTaxonomyNode(Stella.$CLASS_TAXONOMY_GRAPH$, self.classTaxonomyNode);
      }
      self.deletedPSetter(true);
      self.free();
    }
  }