Home » openjdk-7 » com.sun.tools » javac » jvm » [javadoc | source]
com.sun.tools.javac.jvm
public class: ClassFile [javadoc | source]
java.lang.Object
   com.sun.tools.javac.jvm.ClassFile

Direct Known Subclasses:
    ClassWriter

A JVM class file.

Generic Java classfiles have one additional attribute for classes, methods and fields:

  "Signature" (u4 attr-length, u2 signature-index)
 

A signature gives the full Java type of a method or field. When used as a class attribute, it indicates type parameters, followed by supertype, followed by all interfaces.

    methodOrFieldSignature ::= type
    classSignature         ::= [ typeparams ] supertype { interfacetype }
 

The type syntax in signatures is extended as follows:

    type       ::= ... | classtype | methodtype | typevar
    classtype  ::= classsig { '.' classsig }
    classig    ::= 'L' name [typeargs] ';'
    methodtype ::= [ typeparams ] '(' { type } ')' type
    typevar    ::= 'T' name ';'
    typeargs   ::= '<' type { type } '>'
    typeparams ::= '<' typeparam { typeparam } '>'
    typeparam  ::= name ':' type
 

This class defines constants used in class files as well as routines to convert between internal ``.'' and external ``/'' separators in class names.

This is NOT part of any supported API. If you write code that depends on this, you do so at your own risk. This code and its internal interfaces are subject to change or deletion without notice.
Nested Class Summary:
public enum class  ClassFile.Version   
public static class  ClassFile.NameAndType  A class for the name-and-type signature of a method or field. 
Field Summary
public static final  int JAVA_MAGIC     
public static final  int CONSTANT_Utf8     
public static final  int CONSTANT_Unicode     
public static final  int CONSTANT_Integer     
public static final  int CONSTANT_Float     
public static final  int CONSTANT_Long     
public static final  int CONSTANT_Double     
public static final  int CONSTANT_Class     
public static final  int CONSTANT_String     
public static final  int CONSTANT_Fieldref     
public static final  int CONSTANT_Methodref     
public static final  int CONSTANT_InterfaceMethodref     
public static final  int CONSTANT_NameandType     
public static final  int CONSTANT_MethodHandle     
public static final  int CONSTANT_MethodType     
public static final  int CONSTANT_InvokeDynamic     
public static final  int MAX_PARAMETERS     
public static final  int MAX_DIMENSIONS     
public static final  int MAX_CODE     
public static final  int MAX_LOCALS     
public static final  int MAX_STACK     
Method from com.sun.tools.javac.jvm.ClassFile Summary:
externalize,   externalize,   internalize,   internalize
Methods from java.lang.Object:
clone,   equals,   finalize,   getClass,   hashCode,   notify,   notifyAll,   toString,   wait,   wait,   wait
Method from com.sun.tools.javac.jvm.ClassFile Detail:
 public static byte[] externalize(Name name) 
    Return external representation of given name, converting '/' to '.'.
 public static byte[] externalize(byte[] buf,
    int offset,
    int len) 
    Return external representation of buf[offset..offset+len-1], converting '.' to '/'.
 public static byte[] internalize(Name name) 
    Return internal representation of given name, converting '/' to '.'.
 public static byte[] internalize(byte[] buf,
    int offset,
    int len) 
    Return internal representation of buf[offset..offset+len-1], converting '/' to '.'.