All Downloads are FREE. Search and download functionalities are using the official Maven repository.

mockit.asm.classes.ClassInfo Maven / Gradle / Ivy

package mockit.asm.classes;

import javax.annotation.*;

/**
 * Holds additional information about a classfile: {@link #signature}, {@link #superName}, {@link #interfaces}, {@link #hostClassName}.
 */
public final class ClassInfo
{
   private static final String[] NO_INTERFACES = {};

   /**
    * The internal names of the class's interfaces, if any.
    */
   @Nonnull public String[] interfaces = NO_INTERFACES;

   /**
    * The internal name of the super class. For interfaces, the super class is {@link Object}.
    * Is null only for the {@link Object} class.
    */
   @Nullable public String superName;

   /**
    * The generic signature of the class.
    * Is null when the class is not a generic one, and does not extend or implement generic classes or interfaces.
    */
   @Nullable public String signature;

   /**
    * The name of the source file from which the class was compiled, if available.
    */
   @Nullable public String sourceFileName;

   /**
    * The internal name of the host class, if the class is part of a nest (Java 11+ only).
    */
   @Nullable String hostClassName;

   /**
    * The names of the classes that are members of the nest defined by the nest host class, if any (Java 11+ only).
    */
   @Nullable String[] nestMembers;
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy