Class ClassPathTransform.Result.Entry

java.lang.Object
io.micronaut.aot.bytecode.ClassPathTransform.Result.Entry
Enclosing class:
ClassPathTransform.Result

@Internal public static final class ClassPathTransform.Result.Entry extends Object
What the steps did to one class path entry, a jar or a directory. Each step that ran over the entry counts every class of it once, as rewritten, unchanged or fallen back; a step that did not run over it, such as the strip step on an entry not named for it, counts nothing.
Since:
3.2.0
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    The static synthetic bridge methods that desugaring added to hosts below class-file version 55, which have no nestmates, so that a generated class can reach a private lambda body.
    long
    How many bytes smaller the stripped classes became, uncompressed.
    int
    The existing classes that desugaring rewrote: hosts whose call sites it rewrote, and nest hosts whose NestMembers gained the generated classes.
    int
    The classes that desugaring generated, each next to its host.
    int
    The classes written without their local-variable tables.
    int
    The classes the strip step left as they were: nothing to strip, a module-info, an attribute the JDK does not know, a rewrite that is not smaller, a class too large to read, or a jar left as it is (kept()).
    int
    The classes the strip step wrote without its change because it failed on them or their rewrite verified worse than the original.
    Why no class of the entry was rewritten, such as the jar is signed; empty when the steps ran over its classes.
    int
    The nests that desugaring planned and then wrote as they were, because a class of the nest failed or verified worse.
    One line per fallback, for the caller to log or write: tab-separated, the entry, the class or the nest of its nest host, the step and the first error.
    The entry, as the request's class path gave it.
    The lambda call sites that desugaring left as invokedynamic, by reason, in a fixed order of the reasons, without the reasons that have none.
    int
    The lambda and method-reference call sites that desugaring rewrote.
     

    Methods inherited from class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Method Details

    • path

      public Path path()
      The entry, as the request's class path gave it.
      Returns:
      the jar or directory
    • classesStripped

      public int classesStripped()
      The classes written without their local-variable tables.
      Returns:
      the number of classes stripped; 0 when the entry was not named for stripping
    • classesUnchanged

      public int classesUnchanged()
      The classes the strip step left as they were: nothing to strip, a module-info, an attribute the JDK does not know, a rewrite that is not smaller, a class too large to read, or a jar left as it is (kept()).
      Returns:
      the number of classes unchanged; 0 when the entry was not named for stripping
    • fallbacks

      public int fallbacks()
      The classes the strip step wrote without its change because it failed on them or their rewrite verified worse than the original. Each has a line in notes().
      Returns:
      the number of fallbacks; 0 when the entry was not named for stripping
    • bytesSaved

      public long bytesSaved()
      How many bytes smaller the stripped classes became, uncompressed. For a class that both steps rewrote, the difference includes desugaring's change.
      Returns:
      the bytes saved
    • classesDesugared

      public int classesDesugared()
      The existing classes that desugaring rewrote: hosts whose call sites it rewrote, and nest hosts whose NestMembers gained the generated classes. Micronaut Runner reports it in its transforms.txt.
      Returns:
      the number of classes desugared
    • sitesRewritten

      public int sitesRewritten()
      The lambda and method-reference call sites that desugaring rewrote.
      Returns:
      the number of sites rewritten
    • classesGenerated

      public int classesGenerated()
      The classes that desugaring generated, each next to its host. Sites of one host that share their functional interface, interface method and captured types share a class, so there may be fewer classes than sites.
      Returns:
      the number of classes generated
    • bridges

      public int bridges()
      The static synthetic bridge methods that desugaring added to hosts below class-file version 55, which have no nestmates, so that a generated class can reach a private lambda body. Micronaut Runner reports it in its transforms.txt.
      Returns:
      the number of bridges
    • nestFallbacks

      public int nestFallbacks()
      The nests that desugaring planned and then wrote as they were, because a class of the nest failed or verified worse. Each has a line in notes(), and its sites count under nestFallback in sitesLeft(). Micronaut Runner reports it in its transforms.txt.
      Returns:
      the number of nest fallbacks
    • sitesLeft

      public Map<String,Integer> sitesLeft()
      The lambda call sites that desugaring left as invokedynamic, by reason, in a fixed order of the reasons, without the reasons that have none. The reasons are altMetafactory, shadowedOrUncertain, multiRelease, signedJar, nest, superCall, ownerAccess, callerSensitive, unresolvedType, nameTaken, java8Interface, serialVersionUid, interfaceInit, shape and nestFallback; they are for display, and a release may add one.
      Returns:
      the sites left, by reason
    • kept

      public Optional<String> kept()
      Why no class of the entry was rewritten, such as the jar is signed; empty when the steps ran over its classes.
      Returns:
      the reason, if the entry was left as it is
    • notes

      public List<String> notes()
      One line per fallback, for the caller to log or write: tab-separated, the entry, the class or the nest of its nest host, the step and the first error.
      Returns:
      the notes, never null
    • toString

      public String toString()
      Overrides:
      toString in class Object