META-INF/
META-INF/MANIFEST.MF
com/
com/claritysys/
com/claritysys/jvm/
com/claritysys/jvm/builder/
com/claritysys/jvm/builder/ArrayClassLoader.class
ArrayClassLoader.java
package com.claritysys.jvm.builder
public com.claritysys.jvm.builder.ArrayClassLoader extends java.lang.ClassLoader {
private final java.util.Map byteCache
private static final boolean ALWAYS_DISASSEMBLE
public void <init> ()
public void <init> (java.lang.ClassLoader)
ClassLoader parent
protected java.lang.Class findClass (java.lang.String) throws java.lang.ClassNotFoundException
Throwable e
String name
byte[] bytes
Class c
public void disassemble (java.lang.String)
String path
java.io.File tempDir
java.io.File file
byte[] bytes
java.io.File cfile
java.io.FileOutputStream fos
com.claritysys.jvm.classfile.ClassFile classFile
com.claritysys.jvm.disassembler.Disassembler disassembler
Exception e
String className
public void addCachedType (com.claritysys.jvm.classfile.ClassFile)
com.claritysys.jvm.classfile.ClassFile cf
byte[] bytes
public void addCachedType (java.lang.String, byte[])
String className
byte[] cfImage
static void <clinit> ()
}
com/claritysys/jvm/builder/BcUtils.class
BcUtils.java
package com.claritysys.jvm.builder
public com.claritysys.jvm.builder.BcUtils extends java.lang.Object implements com.claritysys.jvm.builder.Opcodes {
public void <init> ()
public static void pushClass (com.claritysys.jvm.builder.CodeBuilder, java.lang.Class)
com.claritysys.jvm.builder.CodeBuilder code
Class c
com.claritysys.jvm.classfile.ClassFile classFile
com.claritysys.jvm.classfile.ConstantPool constantPool
String cacheName
com.claritysys.jvm.classfile.CfField cacheField
com.claritysys.jvm.classfile.CfMethod class$Method
public static void writeClassDollar (com.claritysys.jvm.classfile.ClassFile)
com.claritysys.jvm.classfile.ClassFile classFile
com.claritysys.jvm.classfile.ConstantPool constantPool
com.claritysys.jvm.classfile.CfMethod method
com.claritysys.jvm.builder.CodeBuilder code
com.claritysys.jvm.classfile.LocalVariable eLocal
}
com/claritysys/jvm/builder/ByteArray.class
ByteArray.java
package com.claritysys.jvm.builder
public final com.claritysys.jvm.builder.ByteArray extends java.lang.Object implements com.claritysys.jvm.classfile.JVM {
private byte[] bytes
private int size
private boolean unreachable_here
private int stackPointer
private int maxStack
private boolean shared
public static final boolean[] UNREACHABLES
public void <init> ()
public void <init> (int)
int capacity
public void reset ()
public void reserve (int)
byte[] new_bytes
int increment
public void putOpcode (int)
int opcode
int stack
int consume
int produce
public void put1 (int)
int i
public void put2 (int)
int i
public void put2 (int, int)
int pc
int i
public void put4 (int)
int i
public int getI2 (int)
int pc
int i2
public byte[] getCode ()
byte[] code
public byte[] getBytes ()
public int getSize ()
public int getPC ()
public void adjustStack (int)
int delta
public int getMaxStack ()
public void setUnreachable (boolean)
boolean isUnreachable
public boolean isUnreachable ()
static void <clinit> ()
}
com/claritysys/jvm/builder/CatchBlock.class
CatchBlock.java
package com.claritysys.jvm.builder
public com.claritysys.jvm.builder.CatchBlock extends com.claritysys.jvm.builder.CodeBlock {
private com.claritysys.jvm.classfile.CpClass catchType
private com.claritysys.jvm.builder.TryBlock tryBlock
public void <init> (com.claritysys.jvm.builder.CodeBuilder, com.claritysys.jvm.builder.TryBlock, com.claritysys.jvm.classfile.CpClass)
com.claritysys.jvm.builder.CodeBuilder cb
com.claritysys.jvm.builder.TryBlock tryBlock
com.claritysys.jvm.classfile.CpClass catchType
public com.claritysys.jvm.builder.TryBlock getTryBlock ()
public void end ()
int startPC
int endPC
int handlerPC
com.claritysys.jvm.classfile.CfMethod method
}
com/claritysys/jvm/builder/CodeBlock.class
CodeBlock.java
package com.claritysys.jvm.builder
public com.claritysys.jvm.builder.CodeBlock extends java.lang.Object {
protected int startPC
protected int endPC
protected com.claritysys.jvm.builder.CodeBuilder codeBuilder
protected com.claritysys.jvm.builder.ByteArray code
protected com.claritysys.jvm.classfile.LocalVariable headVar
protected com.claritysys.jvm.builder.Label endLabel
protected com.claritysys.jvm.builder.CodeBlock surroundingBlock
protected com.claritysys.jvm.classfile.LocalVariable undeclaredLocals
public void <init> (com.claritysys.jvm.builder.CodeBuilder)
com.claritysys.jvm.builder.CodeBuilder cb
public void setCodeBuilder (com.claritysys.jvm.builder.CodeBuilder)
com.claritysys.jvm.builder.CodeBuilder cb
public com.claritysys.jvm.classfile.CfMethod getMethod ()
public com.claritysys.jvm.builder.CodeBlock getSurroundingBlock ()
public void setSurroundingBlock (com.claritysys.jvm.builder.CodeBlock)
com.claritysys.jvm.builder.CodeBlock sb
public com.claritysys.jvm.builder.Label getEndLabel ()
public void setEndLabel (com.claritysys.jvm.builder.Label)
com.claritysys.jvm.builder.Label end
public void clearEndLabel ()
public void start ()
public void end ()
com.claritysys.jvm.builder.Label lbl
public int getStartPC ()
public int getEndPC ()
public void addLocal (com.claritysys.jvm.classfile.LocalVariable)
com.claritysys.jvm.classfile.LocalVariable local
}
com/claritysys/jvm/builder/CodeBuilder.class
CodeBuilder.java
package com.claritysys.jvm.builder
public final com.claritysys.jvm.builder.CodeBuilder extends java.lang.Object implements com.claritysys.jvm.builder.Opcodes {
private com.claritysys.jvm.classfile.CfMethod cfMethod
private com.claritysys.jvm.classfile.ConstantPool constantPool
private final com.claritysys.jvm.builder.ByteArray code
private com.claritysys.jvm.builder.CodeBlock block
private int nextLocalIndex
private com.claritysys.jvm.classfile.LocalVariable undeclaredLocals
private boolean flushed
public void <init> (com.claritysys.jvm.classfile.CfMethod)
com.claritysys.jvm.classfile.CfMethod cfMethod
public void setMethod (com.claritysys.jvm.classfile.CfMethod)
com.claritysys.jvm.classfile.CfMethod method
public void init (com.claritysys.jvm.classfile.CfMethod)
com.claritysys.jvm.classfile.CfMethod cfMethod
public com.claritysys.jvm.builder.ByteArray getByteArray ()
public com.claritysys.jvm.classfile.LocalVariable getLocal (int)
com.claritysys.jvm.classfile.LocalVariable lv
int slot
com.claritysys.jvm.classfile.LocalVariable local
public com.claritysys.jvm.classfile.LocalVariable addLocal (java.lang.String, java.lang.String)
String sig
String name
com.claritysys.jvm.classfile.CpUtf8 nameCp
com.claritysys.jvm.classfile.CpUtf8 sigCp
com.claritysys.jvm.classfile.LocalVariable local
public com.claritysys.jvm.classfile.LocalVariable addLocal (java.lang.String)
String sig
public com.claritysys.jvm.classfile.LocalVariable addLocal (com.claritysys.jvm.classfile.CpClass)
com.claritysys.jvm.classfile.CpClass type
public com.claritysys.jvm.classfile.LocalVariable addLocal (com.claritysys.jvm.classfile.CpClass, java.lang.String)
com.claritysys.jvm.classfile.CpClass type
String name
String stringName
StringBuffer buf
public void setLineNumber (int)
int line
com.claritysys.jvm.classfile.LineNumber lineNumber
public com.claritysys.jvm.classfile.CfMethod getMethod ()
public int getMaxLocals ()
public int getMaxStack ()
public com.claritysys.jvm.builder.Label createLabel ()
public com.claritysys.jvm.builder.Label defineLabel ()
com.claritysys.jvm.builder.Label label
public void flush ()
public void defineLocals (com.claritysys.jvm.classfile.LocalVariable, int)
com.claritysys.jvm.classfile.LocalVariable local
com.claritysys.jvm.classfile.LocalVariable undeclaredLocals
int endPc
public java.lang.String addImport (java.lang.String)
String fqClassName
public void add (short)
short opcode
public void add (short, long)
com.claritysys.jvm.classfile.CpValue2 cpValue2
short opcode
long l
public void add (short, double)
com.claritysys.jvm.classfile.CpValue2 cpValue2
short opcode
double d
public void add (short, int)
short opcode
int i
short type
public void add (short, java.lang.Class)
short opcode
Class clas
public void add (short, com.claritysys.jvm.classfile.CpClass)
short opcode
com.claritysys.jvm.classfile.CpClass clas
public void add (short, java.lang.String)
com.claritysys.jvm.classfile.CpClass clas
com.claritysys.jvm.classfile.CpClass defaultClass
boolean isInterface
com.claritysys.jvm.classfile.CpRef methodRef
com.claritysys.jvm.classfile.CpString cpString
int index
short opcode
String s1
public void add (short, java.lang.String, int)
short opcode
String type
int count
com.claritysys.jvm.classfile.CpClass cpType
public void add (short, java.lang.String, java.lang.String)
short opcode
String s1
String s2
public void add (short, com.claritysys.jvm.builder.Label)
short opcode
com.claritysys.jvm.builder.Label f
int offset
public void add (short, java.lang.String, java.lang.String, java.lang.Class, java.lang.Class[])
short opcode
String className
String methodName
Class returnType
Class[] paramTypes
String vmSig
public void add (short, java.lang.String, java.lang.String, java.lang.String)
short opcode
String className
String methodName
String sig
public void add (short, com.claritysys.jvm.classfile.CfField)
short opcode
com.claritysys.jvm.classfile.CfField field
public void add (short, com.claritysys.jvm.classfile.CfMethod)
short opcode
com.claritysys.jvm.classfile.CfMethod method
public void add (short, com.claritysys.jvm.classfile.CpRef)
short opcode
com.claritysys.jvm.classfile.CpRef ref
int consume
int produce
public void add (short, com.claritysys.jvm.classfile.LocalVariable)
short opcode
com.claritysys.jvm.classfile.LocalVariable var
public void add (short, com.claritysys.jvm.classfile.LocalVariable, int)
short opcode
com.claritysys.jvm.classfile.LocalVariable var
int n
int slot
public void blockEnd ()
public void blockStart ()
public void blockIf (short)
short opcode
com.claritysys.jvm.builder.IfBlock block
public void blockIfEQ ()
public void blockIfNE ()
public void blockIfEQ (int)
int type
public void blockIfObjectsEQ ()
public void blockIfObjectsNE ()
public void blockIfNull ()
public void blockIfNotNull ()
public void blockIfFalse ()
public void blockIfTrue ()
public void blockElse ()
com.claritysys.jvm.builder.CodeBlock current
com.claritysys.jvm.builder.IfBlock ifBlock
com.claritysys.jvm.builder.ElseBlock elseBlock
public void blockTry ()
com.claritysys.jvm.builder.TryBlock block
public void blockCatch (com.claritysys.jvm.classfile.LocalVariable)
com.claritysys.jvm.classfile.LocalVariable catchAndStore
String s
public void blockCatch (java.lang.String)
com.claritysys.jvm.builder.TryBlock tryBlock
String exceptionType
com.claritysys.jvm.builder.CodeBlock current
com.claritysys.jvm.builder.CodeBlock tryOrCatchBlock
com.claritysys.jvm.builder.TryBlock tryBlock
com.claritysys.jvm.classfile.CpClass catchType
com.claritysys.jvm.builder.CatchBlock catchBlock
public void blockFinally ()
private void emitFieldOp (short, com.claritysys.jvm.classfile.CpRef)
short opcode
com.claritysys.jvm.classfile.CpRef f
private void emitPushInt (int)
int i
private void emitLoad (com.claritysys.jvm.classfile.LocalVariable)
com.claritysys.jvm.classfile.LocalVariable v
int index
int opcode
private void emitLoad (int, int)
int betterOpcode
int opcode
int index
private void emitLoadConstant (int)
int index
private void emitReturn ()
int opcode
private void emitStore (com.claritysys.jvm.classfile.LocalVariable)
com.claritysys.jvm.classfile.LocalVariable v
int opcode
private void emitStore (int, int)
int betterOpcode
int opcode
int index
private void checkParam (int, int)
int opcode
int paramType
int[] INTERP
private com.claritysys.jvm.builder.CodeBlock pushBlock (com.claritysys.jvm.builder.CodeBlock)
com.claritysys.jvm.builder.CodeBlock newBlock
private com.claritysys.jvm.builder.CodeBlock popBlock ()
}
com/claritysys/jvm/builder/ElseBlock.class
ElseBlock.java
package com.claritysys.jvm.builder
public com.claritysys.jvm.builder.ElseBlock extends com.claritysys.jvm.builder.CodeBlock {
public void <init> (com.claritysys.jvm.builder.CodeBuilder)
com.claritysys.jvm.builder.CodeBuilder cb
}
com/claritysys/jvm/builder/IfBlock.class
IfBlock.java
package com.claritysys.jvm.builder
public com.claritysys.jvm.builder.IfBlock extends com.claritysys.jvm.builder.CodeBlock {
public void <init> (com.claritysys.jvm.builder.CodeBuilder)
com.claritysys.jvm.builder.CodeBuilder cb
}
com/claritysys/jvm/builder/Label.class
Label.java
package com.claritysys.jvm.builder
public final com.claritysys.jvm.builder.Label extends java.lang.Object {
private int pc
private com.claritysys.jvm.builder.ByteArray code
private com.claritysys.jvm.builder.Label next
private int lastReference
public void <init> (com.claritysys.jvm.builder.ByteArray)
com.claritysys.jvm.builder.ByteArray code
public int getOffset (boolean)
int offset
boolean isWide
int previous
public boolean hasFixups ()
public com.claritysys.jvm.builder.Label next ()
public boolean isDefined ()
public void define ()
public void setPC (int)
int offset
int fixPC
int prior
int pc
}
com/claritysys/jvm/builder/Opcodes.class
Opcodes.java
package com.claritysys.jvm.builder
public abstract com.claritysys.jvm.builder.Opcodes extends java.lang.Object implements com.claritysys.jvm.classfile.JVM {
public static final short VOP_START
public static final short xLOAD
public static final short xSTORE
public static final short xRETURN
public static final short xIPUSH
public static final short xLCONST
public static final short xDCONST
}
com/claritysys/jvm/builder/TryBlock.class
TryBlock.java
package com.claritysys.jvm.builder
public com.claritysys.jvm.builder.TryBlock extends com.claritysys.jvm.builder.CodeBlock {
public void <init> (com.claritysys.jvm.builder.CodeBuilder)
com.claritysys.jvm.builder.CodeBuilder cb
}
com/claritysys/jvm/classfile/
com/claritysys/jvm/classfile/Assertions.class
Assertions.java
package com.claritysys.jvm.classfile
public final com.claritysys.jvm.classfile.Assertions extends java.lang.Object {
public static final boolean ON
public void <init> ()
public static void assertTrue (boolean, java.lang.Object)
boolean b
Object obj
static void <clinit> ()
}
com/claritysys/jvm/classfile/Attribute.class
Attribute.java
package com.claritysys.jvm.classfile
public com.claritysys.jvm.classfile.Attribute extends java.lang.Object {
private com.claritysys.jvm.classfile.Attribute next
private int nameIndex
private int length
private byte[] info
public void <init> (int, int, byte[])
int nameIndex
int length
byte[] info
public com.claritysys.jvm.classfile.Attribute getNext ()
public void setNext (com.claritysys.jvm.classfile.Attribute)
com.claritysys.jvm.classfile.Attribute next
public int getNameIndex ()
public void setNameIndex (int)
int nameIndex
public int getLength ()
public void setLength (int)
int length
public byte[] getInfo ()
public void setInfo (byte[])
byte[] info
public static com.claritysys.jvm.classfile.Attribute readTable (java.io.DataInputStream, com.claritysys.jvm.classfile.ConstantPool, com.claritysys.jvm.classfile.AttributeHandler) throws java.io.IOException com.claritysys.jvm.classfile.ClassFileFormatException
byte[] info
int nameIndex
String name
int length
com.claritysys.jvm.classfile.Attribute attribute
boolean done
int i
java.io.DataInputStream dataIn
com.claritysys.jvm.classfile.ConstantPool cpool
com.claritysys.jvm.classfile.AttributeHandler handler
com.claritysys.jvm.classfile.Attribute head
int count
public static void writeTable (java.io.DataOutput, com.claritysys.jvm.classfile.Attribute) throws java.io.IOException
byte[] info
com.claritysys.jvm.classfile.Attribute a
java.io.DataOutput dataOut
com.claritysys.jvm.classfile.Attribute head
public static void writeAttribute (java.io.DataOutput, com.claritysys.jvm.classfile.ConstantPool, java.lang.String, int, int) throws java.io.IOException
java.io.DataOutput dataOut
com.claritysys.jvm.classfile.ConstantPool cp
String name
int length
int data
int nameIndex
public static void writeAttribute (java.io.DataOutput, com.claritysys.jvm.classfile.ConstantPool, java.lang.String, int) throws java.io.IOException
java.io.DataOutput dout
com.claritysys.jvm.classfile.ConstantPool cp
String name
int length
int nameIndex
public static int getTotalSize (com.claritysys.jvm.classfile.Attribute)
com.claritysys.jvm.classfile.Attribute a
com.claritysys.jvm.classfile.Attribute attributes
int size
}
com/claritysys/jvm/classfile/AttributeHandler.class
AttributeHandler.java
package com.claritysys.jvm.classfile
public abstract com.claritysys.jvm.classfile.AttributeHandler extends java.lang.Object {
public abstract boolean handleAttribute (java.io.DataInputStream, java.lang.String, int) throws java.io.IOException com.claritysys.jvm.classfile.ClassFileFormatException
}
com/claritysys/jvm/classfile/CfEntry.class
CfEntry.java
package com.claritysys.jvm.classfile
public abstract com.claritysys.jvm.classfile.CfEntry extends java.lang.Object {
private int accessFlags
private boolean deprecated
private com.claritysys.jvm.classfile.Attribute attributes
public void <init> ()
public void <init> (int)
int accessFlags
public final int getAccessFlags ()
public final void setAccessFlags (int)
int accessFlags
private final void setFlag (int, boolean)
int flag
boolean set
public final void setPublic (boolean)
boolean flag
public final boolean isPublic ()
public final void setPrivate (boolean)
boolean flag
public final boolean isPrivate ()
public final void setProtected (boolean)
boolean flag
public final boolean isProtected ()
public final void setStatic (boolean)
boolean flag
public final boolean isStatic ()
public final void setFinal (boolean)
boolean flag
public final boolean isFinal ()
public final void setSynchronized (boolean)
boolean flag
public final boolean isSynchronized ()
public final void setVolatile (boolean)
boolean flag
public final boolean isVolatile ()
public final void setTransient (boolean)
boolean flag
public final boolean isTransient ()
public final void setNative (boolean)
boolean flag
public final boolean isNative ()
public final void setInterface (boolean)
boolean flag
public final boolean isInterface ()
public final void setAbstract (boolean)
boolean flag
public final boolean isAbstract ()
public final void setStrict (boolean)
boolean flag
public final boolean isStrict ()
public boolean isDeprecated ()
public void setDeprecated (boolean)
boolean deprecated
public com.claritysys.jvm.classfile.Attribute getAttributes ()
public void setAttributes (com.claritysys.jvm.classfile.Attribute)
com.claritysys.jvm.classfile.Attribute attributes
public int getAttributeCount ()
com.claritysys.jvm.classfile.Attribute a
int count
}
com/claritysys/jvm/classfile/CfField.class
CfField.java
package com.claritysys.jvm.classfile
public com.claritysys.jvm.classfile.CfField extends com.claritysys.jvm.classfile.CfFieldOrMethod implements com.claritysys.jvm.classfile.AttributeHandler {
private com.claritysys.jvm.classfile.CfField next
private com.claritysys.jvm.classfile.CpEntry constantValue
public void <init> (com.claritysys.jvm.classfile.ClassFile)
com.claritysys.jvm.classfile.ClassFile classFile
public com.claritysys.jvm.classfile.CfField getNext ()
public void setNext (com.claritysys.jvm.classfile.CfField)
com.claritysys.jvm.classfile.CfField next
public com.claritysys.jvm.classfile.CpEntry getConstantValue ()
public void setConstantValue (com.claritysys.jvm.classfile.CpEntry)
com.claritysys.jvm.classfile.CpEntry constantValue
public void read (java.io.DataInputStream) throws java.io.IOException com.claritysys.jvm.classfile.ClassFileFormatException
java.io.DataInputStream dataIn
public boolean handleAttribute (java.io.DataInputStream, java.lang.String, int) throws java.io.IOException com.claritysys.jvm.classfile.ClassFileFormatException
int index
java.io.DataInputStream dataIn
String name
int length
boolean processed
public void write (java.io.DataOutput) throws java.io.IOException
java.io.DataOutput dout
int attributeCount
com.claritysys.jvm.classfile.ConstantPool cp
public com.claritysys.jvm.classfile.CpRef getRef ()
int classCp
}
com/claritysys/jvm/classfile/CfFieldOrMethod.class
CfFieldOrMethod.java
package com.claritysys.jvm.classfile
public com.claritysys.jvm.classfile.CfFieldOrMethod extends com.claritysys.jvm.classfile.CfEntry {
com.claritysys.jvm.classfile.ClassFile classFile
int nameIndex
int descriptorIndex
boolean synthetic
public void <init> (com.claritysys.jvm.classfile.ClassFile)
com.claritysys.jvm.classfile.ClassFile classFile
public void read (java.io.DataInputStream) throws java.io.IOException com.claritysys.jvm.classfile.ClassFileFormatException
java.io.DataInputStream dataIn
public void write (java.io.DataOutput) throws java.io.IOException
java.io.DataOutput dout
public com.claritysys.jvm.classfile.ClassFile getClassFile ()
public com.claritysys.jvm.classfile.ConstantPool getConstantPool ()
public int getNameIndex ()
public void setNameIndex (int)
int nameIndex
public java.lang.String getName ()
public int getDescriptorIndex ()
public void setDescriptorIndex (int)
int descriptorIndex
public java.lang.String getSignature ()
public boolean isSynthetic ()
public void setSynthetic (boolean)
boolean synthetic
}
com/claritysys/jvm/classfile/CfMethod.class
CfMethod.java
package com.claritysys.jvm.classfile
public com.claritysys.jvm.classfile.CfMethod extends com.claritysys.jvm.classfile.CfFieldOrMethod implements com.claritysys.jvm.classfile.AttributeHandler {
private com.claritysys.jvm.classfile.CfMethod next
private int returnType
private int[] exceptionCps
private int maxStack
private int maxLocals
private static final byte[] EMPTY_CODE
private byte[] code
private int handlerCount
private com.claritysys.jvm.classfile.ExceptionHandler handlers
private com.claritysys.jvm.classfile.ExceptionHandler lastHandler
private int localsCount
private com.claritysys.jvm.classfile.LocalVariable locals
private com.claritysys.jvm.classfile.LocalVariable lastLocal
private int lineCount
private com.claritysys.jvm.classfile.LineNumber lines
private com.claritysys.jvm.classfile.LineNumber lastLine
private com.claritysys.jvm.classfile.Attribute codeAttributes
public void <init> (com.claritysys.jvm.classfile.ClassFile)
com.claritysys.jvm.classfile.ClassFile classFile
public com.claritysys.jvm.classfile.CfMethod getNext ()
public void setNext (com.claritysys.jvm.classfile.CfMethod)
com.claritysys.jvm.classfile.CfMethod next
public void read (java.io.DataInputStream) throws java.io.IOException com.claritysys.jvm.classfile.ClassFileFormatException
java.io.DataInputStream dataIn
com.claritysys.jvm.classfile.CpUtf8 descriptor
public boolean handleAttribute (java.io.DataInputStream, java.lang.String, int) throws java.io.IOException com.claritysys.jvm.classfile.ClassFileFormatException
com.claritysys.jvm.classfile.ExceptionHandler h
int i
int codeLength
int handlerCount
int i
int count
int startPc
int lineNumber
com.claritysys.jvm.classfile.LineNumber line
int i
int tableSize
int startPc
int lvLength
int lvNameIndex
int lvTypeIndex
int lvSlot
com.claritysys.jvm.classfile.ConstantPool constantPool
com.claritysys.jvm.classfile.CpUtf8 lvName
com.claritysys.jvm.classfile.CpUtf8 lvType
com.claritysys.jvm.classfile.LocalVariable local
int i
int tableSize
java.io.DataInputStream dataIn
String name
int length
boolean processed
public void write (java.io.DataOutput) throws java.io.IOException
int i
java.io.DataOutput dout
int attributeCount
com.claritysys.jvm.classfile.ConstantPool cp
private void writeCodeAttribute (java.io.DataOutput) throws java.io.IOException
com.claritysys.jvm.classfile.Attribute a
com.claritysys.jvm.classfile.LocalVariable local
com.claritysys.jvm.classfile.LineNumber line
int lineCount
java.io.DataOutput dout
int attributesLength
int codeAttrLength
int nameIndex
com.claritysys.jvm.classfile.ExceptionHandler h
int attributeCount
com.claritysys.jvm.classfile.Attribute codeAttributes
com.claritysys.jvm.classfile.ConstantPool cp
public void addLocal (com.claritysys.jvm.classfile.LocalVariable)
com.claritysys.jvm.classfile.LocalVariable local
public void addLine (com.claritysys.jvm.classfile.LineNumber)
com.claritysys.jvm.classfile.LineNumber line
public int getReturnType ()
void setReturnType (int)
int returnType
public com.claritysys.jvm.classfile.Attribute getCodeAttributes ()
public void setCodeAttributes (com.claritysys.jvm.classfile.Attribute)
com.claritysys.jvm.classfile.Attribute codeAttributes
public void addHandler (com.claritysys.jvm.classfile.ExceptionHandler)
com.claritysys.jvm.classfile.ExceptionHandler h
public void addHandler (int, int, int, com.claritysys.jvm.classfile.CpClass)
int startPc
int endPc
int handlerPc
com.claritysys.jvm.classfile.CpClass catchType
com.claritysys.jvm.classfile.ExceptionHandler handler
public int[] getExceptionCps ()
public void setExceptionCps (int[])
int[] exceptionCps
public void setExceptions (java.lang.Class[])
Class exception
int i
Class[] exceptions
int[] cps
public int getMaxStack ()
public void setMaxStack (int)
int maxStack
public int getMaxLocals ()
public void setMaxLocals (int)
int maxLocals
public byte[] getCode ()
public void setCode (byte[])
byte[] code
public int getHandlerCount ()
public void setHandlerCount (int)
int handlerCount
public com.claritysys.jvm.classfile.ExceptionHandler getHandlers ()
public void setHandlers (com.claritysys.jvm.classfile.ExceptionHandler)
com.claritysys.jvm.classfile.ExceptionHandler handlers
public com.claritysys.jvm.classfile.ExceptionHandler getLastHandler ()
public void setLastHandler (com.claritysys.jvm.classfile.ExceptionHandler)
com.claritysys.jvm.classfile.ExceptionHandler lastHandler
public int getLocalsCount ()
public void setLocalsCount (int)
int localsCount
public com.claritysys.jvm.classfile.LocalVariable getLocals ()
public void setLocals (com.claritysys.jvm.classfile.LocalVariable)
com.claritysys.jvm.classfile.LocalVariable locals
public void createLocalsFromSignature ()
String name
com.claritysys.jvm.classfile.CpUtf8 nameCp
String sig
com.claritysys.jvm.classfile.CpUtf8 sigCp
com.claritysys.jvm.classfile.LocalVariable local
String sig
String name
com.claritysys.jvm.classfile.CpUtf8 nameCp
com.claritysys.jvm.classfile.CpUtf8 sigCp
com.claritysys.jvm.classfile.LocalVariable local
int i
String vmMethodSig
int nextLocalIndex
String[] parameters
public com.claritysys.jvm.classfile.LocalVariable getLocal (int)
com.claritysys.jvm.classfile.LocalVariable lv
int index
public com.claritysys.jvm.classfile.LocalVariable getLastLocal ()
public void setLastLocal (com.claritysys.jvm.classfile.LocalVariable)
com.claritysys.jvm.classfile.LocalVariable lastLocal
public int getLineCount ()
public void setLineCount (int)
int lineCount
public com.claritysys.jvm.classfile.LineNumber getLines ()
public void setLines (com.claritysys.jvm.classfile.LineNumber)
com.claritysys.jvm.classfile.LineNumber lines
public com.claritysys.jvm.classfile.LineNumber getLastLine ()
public void setLastLine (com.claritysys.jvm.classfile.LineNumber)
com.claritysys.jvm.classfile.LineNumber lastLine
public com.claritysys.jvm.classfile.CpRef getRef ()
int classCp
public com.claritysys.jvm.builder.CodeBuilder getCodeBuilder ()
static void <clinit> ()
}
com/claritysys/jvm/classfile/ClassFile.class
ClassFile.java
package com.claritysys.jvm.classfile
public com.claritysys.jvm.classfile.ClassFile extends com.claritysys.jvm.classfile.CfEntry implements com.claritysys.jvm.classfile.AttributeHandler {
private int minor
private int major
private com.claritysys.jvm.classfile.ConstantPool constantPool
private int classIndex
private int superclassIndex
private int[] interfaces
private int fieldCount
private com.claritysys.jvm.classfile.CfField fields
private com.claritysys.jvm.classfile.CfField lastField
private int methodCount
private com.claritysys.jvm.classfile.CfMethod methods
private com.claritysys.jvm.classfile.CfMethod lastMethod
private int sourcefileCp
private com.claritysys.jvm.builder.CodeBuilder codeBuilder
private void <init> ()
public void <init> (java.lang.String, java.lang.String, java.lang.String)
String className
String superclassName
String sourceFile
public void <init> (com.claritysys.jvm.classfile.ConstantPool, java.lang.String, java.lang.String, java.lang.String)
com.claritysys.jvm.classfile.ConstantPool cpool
String className
String superclassName
String sourceFile
public static com.claritysys.jvm.classfile.ClassFile fromFile (java.lang.String) throws java.io.IOException com.claritysys.jvm.classfile.ClassFileFormatException
String path
com.claritysys.jvm.classfile.ClassFile cf
java.io.DataInputStream dataIn
public static com.claritysys.jvm.classfile.ClassFile fromArray (byte[]) throws com.claritysys.jvm.classfile.ClassFileFormatException
java.io.IOException e
java.io.IOException e
java.io.IOException e
java.io.IOException e
byte[] buffer
com.claritysys.jvm.classfile.ClassFile cf
java.io.DataInputStream dataIn
public void read (java.io.DataInputStream) throws java.io.IOException com.claritysys.jvm.classfile.ClassFileFormatException
int i
com.claritysys.jvm.classfile.CfField field
int i
com.claritysys.jvm.classfile.CfMethod method
int i
java.io.DataInputStream dataIn
int fileMagic
int icount
int count
com.claritysys.jvm.classfile.Attribute attributes
public boolean handleAttribute (java.io.DataInputStream, java.lang.String, int) throws java.io.IOException com.claritysys.jvm.classfile.ClassFileFormatException
java.io.DataInputStream dataIn
String name
int length
boolean processed
public void write (java.io.DataOutput) throws java.io.IOException
int i
com.claritysys.jvm.classfile.CfField field
com.claritysys.jvm.classfile.CfMethod method
java.io.DataOutput dout
int attributeCount
public void write (java.lang.String) throws java.io.IOException
String path
java.io.DataOutputStream dataOutput
public void write (java.io.OutputStream) throws java.io.IOException
java.io.OutputStream stream
java.io.DataOutputStream dataOut
public byte[] writeToArray ()
java.io.IOException e
java.io.ByteArrayOutputStream baos
java.io.DataOutputStream dataOut
private void addMethod (com.claritysys.jvm.classfile.CfMethod)
com.claritysys.jvm.classfile.CfMethod method
public int getMinor ()
public int getMajor ()
public com.claritysys.jvm.classfile.ConstantPool getConstantPool ()
public int getClassIndex ()
public com.claritysys.jvm.classfile.CpClass getClassCp ()
public java.lang.String getClassName ()
public void setClassName (java.lang.String)
String className
public int getSuperclassIndex ()
public com.claritysys.jvm.classfile.CpClass getSuperclassCp ()
public java.lang.String getSuperclassName ()
public int[] getInterfaces ()
public java.lang.String[] getInterfaceNames ()
int anInterface
int i
String[] names
public void addInterface (java.lang.String)
int[] newList
String className
int interfaceCp
int[] newList
public void addInterface (java.lang.Class)
Class clas
public int getFieldCount ()
public com.claritysys.jvm.classfile.CfField getFields ()
public int getMethodCount ()
public com.claritysys.jvm.classfile.CfMethod getMethods ()
public java.lang.String getSourcefile ()
String sourcefile
public void setSourcefile (java.lang.String)
String sourcefile
public int getSourcefileCp ()
public void setSourcefileCp (int)
int sourcefileCp
public java.lang.String getPackage ()
String className
int last
public com.claritysys.jvm.classfile.CfMethod addMethod (int, java.lang.String)
int accessFlags
String nameAndSignature
int leftParen
boolean shortForm
int nameStart
String name
String signature
public com.claritysys.jvm.classfile.CfMethod addMethod (int, java.lang.String, java.lang.String)
com.claritysys.jvm.classfile.SigConverter sigConverter
int accessFlags
String name
String signature
com.claritysys.jvm.classfile.CfMethod method
int maxLocals
public com.claritysys.jvm.classfile.CfMethod getMethod (java.lang.String, java.lang.String)
com.claritysys.jvm.classfile.CfMethod method
com.claritysys.jvm.classfile.CfMethod method
String name
String signature
com.claritysys.jvm.classfile.CfMethod found
private void addField (com.claritysys.jvm.classfile.CfField)
com.claritysys.jvm.classfile.CfField field
public com.claritysys.jvm.classfile.CfField addField (int, java.lang.String, java.lang.String)
int accessFlags
String name
String signature
int nameCp
int signatureCp
public com.claritysys.jvm.classfile.CfField addField (int, java.lang.String, java.lang.Class)
int accessFlags
String name
Class fieldClass
StringBuffer buf
String fieldSig
public com.claritysys.jvm.classfile.CfField addField (int, int, int)
int accessFlags
int nameCp
int signatureCp
com.claritysys.jvm.classfile.CfField field
public com.claritysys.jvm.classfile.CfField addField (int, java.lang.String, com.claritysys.jvm.classfile.CpClass)
int accessFlags
String name
com.claritysys.jvm.classfile.CpClass signature
int nameCp
String vmSignature
int signatureCp
public com.claritysys.jvm.classfile.CfField getField (java.lang.String)
com.claritysys.jvm.classfile.CfField field
String fieldName
com.claritysys.jvm.classfile.CfField found
public com.claritysys.jvm.builder.CodeBuilder getCodeBuilder (com.claritysys.jvm.classfile.CfMethod)
com.claritysys.jvm.builder.CodeBuilder builder
com.claritysys.jvm.classfile.CfMethod method
com.claritysys.jvm.builder.CodeBuilder builder
public void releaseCodeBuilder (com.claritysys.jvm.builder.CodeBuilder)
com.claritysys.jvm.builder.CodeBuilder builder
}
com/claritysys/jvm/classfile/ClassFileFormatException.class
ClassFileFormatException.java
package com.claritysys.jvm.classfile
public com.claritysys.jvm.classfile.ClassFileFormatException extends java.lang.Exception {
public void <init> ()
public void <init> (java.lang.String)
String s
}
com/claritysys/jvm/classfile/ConstantPool.class
ConstantPool.java
package com.claritysys.jvm.classfile
public final com.claritysys.jvm.classfile.ConstantPool extends java.lang.Object {
com.claritysys.jvm.classfile.CpEntry[] pool
int count
boolean locked
com.claritysys.jvm.classfile.CpEntry[] hashTable
private int rehashThreshold
private char[] utf8_chars
private byte[] utf8_bytes
private com.claritysys.jvm.classfile.SigConverter sigConverter
private boolean autoImport
private boolean verifyClassNames
public void <init> ()
public void <init> (boolean)
boolean autoImport
public void <init> (int)
int capacity
public void <init> (com.claritysys.jvm.classfile.ConstantPool)
com.claritysys.jvm.classfile.CpEntry cpEntry
com.claritysys.jvm.classfile.CpEntry copy
int i
com.claritysys.jvm.classfile.CpEntry cpEntry
int i
com.claritysys.jvm.classfile.CpEntry cpEntry
int i
com.claritysys.jvm.classfile.ConstantPool template
com.claritysys.jvm.classfile.CpEntry[] templatePool
com.claritysys.jvm.classfile.CpEntry[] poolCopy
com.claritysys.jvm.classfile.CpEntry[] templateHash
com.claritysys.jvm.classfile.CpEntry[] hash
public int getCount ()
public com.claritysys.jvm.classfile.CpEntry getPoolEntry (int)
int index
public java.lang.String getUtf8AsString (int)
int index
void rehash ()
com.claritysys.jvm.classfile.CpEntry entry
int i
com.claritysys.jvm.classfile.CpEntry entry
int i
com.claritysys.jvm.classfile.CpEntry[] pool
com.claritysys.jvm.classfile.CpEntry[] hashTable
void addToHashtable (com.claritysys.jvm.classfile.CpEntry)
com.claritysys.jvm.classfile.CpEntry entry
com.claritysys.jvm.classfile.CpEntry[] hashTable
int index
com.claritysys.jvm.classfile.CpEntry addEntry (com.claritysys.jvm.classfile.CpEntry)
int i
int oldSize
int newSize
com.claritysys.jvm.classfile.CpEntry[] newPool
int POOL_SIZE
com.claritysys.jvm.classfile.CpEntry entry
com.claritysys.jvm.classfile.CpEntry[] pool
int index
public com.claritysys.jvm.classfile.CpUtf8 addUtf8 (java.lang.String)
com.claritysys.jvm.classfile.CpUtf8 utf
com.claritysys.jvm.classfile.CpEntry entry
int index
String s
int hash
public com.claritysys.jvm.classfile.CpClass addClass (java.lang.Class)
Class cls
public com.claritysys.jvm.classfile.CpClass addJavaClass (java.lang.String)
String name
public com.claritysys.jvm.classfile.CpClass addClass (java.lang.String)
char ch
int i
int size
String name
public com.claritysys.jvm.classfile.CpClass addClass (com.claritysys.jvm.classfile.CpUtf8)
com.claritysys.jvm.classfile.CpClass clas
com.claritysys.jvm.classfile.CpEntry entry
int index
com.claritysys.jvm.classfile.CpUtf8 name
int h
com.claritysys.jvm.classfile.CpValue1 addValue1 (byte, int)
com.claritysys.jvm.classfile.CpValue1 val1
com.claritysys.jvm.classfile.CpEntry entry
int index
byte tag
int val
int h
com.claritysys.jvm.classfile.CpValue2 addValue2 (byte, long)
com.claritysys.jvm.classfile.CpValue2 val2
com.claritysys.jvm.classfile.CpEntry entry
int index
byte tag
long val
int h
public com.claritysys.jvm.classfile.CpValue1 addInteger (int)
int val
public com.claritysys.jvm.classfile.CpValue2 addLong (long)
long val
public com.claritysys.jvm.classfile.CpValue1 addFloat (float)
float val
public com.claritysys.jvm.classfile.CpValue2 addDouble (double)
double val
public com.claritysys.jvm.classfile.CpString addString (java.lang.String)
String string
public com.claritysys.jvm.classfile.CpString addString (com.claritysys.jvm.classfile.CpUtf8)
com.claritysys.jvm.classfile.CpString string
com.claritysys.jvm.classfile.CpEntry entry
int index
com.claritysys.jvm.classfile.CpUtf8 str
int h
public com.claritysys.jvm.classfile.CpNameAndType addNameAndType (com.claritysys.jvm.classfile.CpUtf8, com.claritysys.jvm.classfile.CpUtf8)
com.claritysys.jvm.classfile.CpNameAndType nat
com.claritysys.jvm.classfile.CpEntry entry
int index
com.claritysys.jvm.classfile.CpUtf8 name
com.claritysys.jvm.classfile.CpUtf8 type
int h
public com.claritysys.jvm.classfile.CpNameAndType addNameAndType (java.lang.String, java.lang.String)
String name
String type
public com.claritysys.jvm.classfile.CpRef addRef (byte, com.claritysys.jvm.classfile.CpClass, com.claritysys.jvm.classfile.CpNameAndType)
com.claritysys.jvm.classfile.CpRef ref
com.claritysys.jvm.classfile.CpEntry entry
int index
byte tag
com.claritysys.jvm.classfile.CpClass clas
com.claritysys.jvm.classfile.CpNameAndType nameAndType
int h
public com.claritysys.jvm.classfile.CpRef addMethodRef (boolean, java.lang.String, java.lang.String, java.lang.String)
boolean isInterface
String clasName
String name
String sig
com.claritysys.jvm.classfile.CpClass clas
public com.claritysys.jvm.classfile.CpRef addMethodRef (boolean, com.claritysys.jvm.classfile.CpClass, java.lang.String, java.lang.String)
boolean isInterface
com.claritysys.jvm.classfile.CpClass cpClass
String name
String sig
String vmSig
com.claritysys.jvm.classfile.CpNameAndType nameType
public com.claritysys.jvm.classfile.CpRef addMethodRef (boolean, com.claritysys.jvm.classfile.CpClass, java.lang.String)
com.claritysys.jvm.classfile.CpClass cpClass
int pos2
String shortClass
com.claritysys.jvm.classfile.SigConverter converter
String vmClass
boolean isInterface
com.claritysys.jvm.classfile.CpClass inClass
String jlSig
com.claritysys.jvm.classfile.CpClass cpClass
int pos
int pos2
String methodName
String shortSignature
com.claritysys.jvm.classfile.SigConverter converter
String vmSignature
com.claritysys.jvm.classfile.CpNameAndType nameType
public com.claritysys.jvm.classfile.CpRef addMethodRef (com.claritysys.jvm.classfile.CpClass, java.lang.String, java.lang.String)
com.claritysys.jvm.classfile.CpClass clas
String name
String sig
public com.claritysys.jvm.classfile.CpRef addMethodRef (int, int, int)
int cpClassIndex
int nameIndex
int descriptorIndex
com.claritysys.jvm.classfile.CpClass clas
com.claritysys.jvm.classfile.CpUtf8 name
com.claritysys.jvm.classfile.CpUtf8 descriptor
com.claritysys.jvm.classfile.CpNameAndType nameType
public com.claritysys.jvm.classfile.CpRef addIMethodRef (java.lang.String, java.lang.String, java.lang.String)
String className
String name
String sig
public com.claritysys.jvm.classfile.CpRef addIMethodRef (com.claritysys.jvm.classfile.CpClass, java.lang.String, java.lang.String)
com.claritysys.jvm.classfile.CpClass clas
String name
String sig
public com.claritysys.jvm.classfile.CpRef addFieldRef (java.lang.String, java.lang.String, java.lang.String)
String className
String name
String vmSig
com.claritysys.jvm.classfile.CpClass clas
com.claritysys.jvm.classfile.CpNameAndType nameType
public com.claritysys.jvm.classfile.CpRef addFieldRef (com.claritysys.jvm.classfile.CpClass, java.lang.String, java.lang.String)
com.claritysys.jvm.classfile.CpClass clas
String name
String vmSig
com.claritysys.jvm.classfile.CpNameAndType nameType
public com.claritysys.jvm.classfile.CpRef addFieldRef (int, int, int)
int cpClassIndex
int nameIndex
int descriptorIndex
com.claritysys.jvm.classfile.CpClass clas
com.claritysys.jvm.classfile.CpUtf8 name
com.claritysys.jvm.classfile.CpUtf8 descriptor
com.claritysys.jvm.classfile.CpNameAndType nameType
public com.claritysys.jvm.classfile.CpRef addFieldRefJL (java.lang.String, java.lang.String)
String jlSig
String classDotField
int pos
String shortClass
String fieldName
com.claritysys.jvm.classfile.SigConverter sigConverter
String vmSignature
String vmClass
public com.claritysys.jvm.classfile.SigConverter getSigConverter ()
com.claritysys.jvm.classfile.SigConverter converter
public java.lang.String addImport (java.lang.String)
String fqClassName
public java.lang.String addImport (java.lang.Class)
Class clas
public boolean isLocked ()
public void setLocked (boolean)
boolean locked
public void write (java.io.DataOutput) throws java.io.IOException
com.claritysys.jvm.classfile.CpEntry entry
int i
java.io.DataOutput dstr
public static com.claritysys.jvm.classfile.ConstantPool fromStream (java.io.DataInputStream) throws java.io.IOException com.claritysys.jvm.classfile.ClassFileFormatException
com.claritysys.jvm.classfile.CpUtf8 utf8
com.claritysys.jvm.classfile.CpValue1 value1
com.claritysys.jvm.classfile.CpValue2 value2
com.claritysys.jvm.classfile.CpClass cpClass
int classNameIndex
com.claritysys.jvm.classfile.CpUtf8 className
int stringIndex
com.claritysys.jvm.classfile.CpUtf8 string
com.claritysys.jvm.classfile.CpRef ref
com.claritysys.jvm.classfile.CpNameAndType nat
byte tag
com.claritysys.jvm.classfile.CpEntry entry
int index
com.claritysys.jvm.classfile.CpEntry entry
int index
java.io.DataInputStream dataIn
int size
com.claritysys.jvm.classfile.ConstantPool pool
com.claritysys.jvm.classfile.CpEntry[] entries
private com.claritysys.jvm.classfile.CpEntry getOrCreateEntry (int, byte) throws com.claritysys.jvm.classfile.ClassFileFormatException
int index
byte tag
com.claritysys.jvm.classfile.CpEntry entry
public java.lang.String toString ()
int i
StringBuffer buf
public void writeUTF (java.io.DataOutput, java.lang.String) throws java.io.IOException
byte[] bytes2
int c
int i
java.io.DataOutput out
String str
int strlen
char[] charr
int byteCount
byte[] bytearr
int count
int utflen
public boolean isVerifyClassNames ()
public void setVerifyClassNames (boolean)
boolean verifyClassNames
public boolean isAutoImport ()
public void setAutoImport (boolean)
boolean autoImport
}
com/claritysys/jvm/classfile/CpClass.class
CpClass.java
package com.claritysys.jvm.classfile
public final com.claritysys.jvm.classfile.CpClass extends com.claritysys.jvm.classfile.CpEntry {
com.claritysys.jvm.classfile.CpUtf8 name
void <init> (com.claritysys.jvm.classfile.ConstantPool, int, com.claritysys.jvm.classfile.CpUtf8)
com.claritysys.jvm.classfile.ConstantPool cpool
int hash
com.claritysys.jvm.classfile.CpUtf8 n
public void <init> (com.claritysys.jvm.classfile.ConstantPool)
com.claritysys.jvm.classfile.ConstantPool pool
public final com.claritysys.jvm.classfile.CpUtf8 getName ()
public final java.lang.String getStringName ()
void write (java.io.DataOutput) throws java.io.IOException
java.io.DataOutput dstr
public java.lang.String toString ()
static final int hashCode (com.claritysys.jvm.classfile.CpUtf8)
com.claritysys.jvm.classfile.CpUtf8 name
public void computeHash ()
void postClone ()
}
com/claritysys/jvm/classfile/CpEntry.class
CpEntry.java
package com.claritysys.jvm.classfile
public abstract com.claritysys.jvm.classfile.CpEntry extends java.lang.Object implements java.lang.Cloneable {
public static final byte TAG_CLASS
public static final byte TAG_FIELDREF
public static final byte TAG_METHODREF
public static final byte TAG_INTERFACE_METHODREF
public static final byte TAG_STRING
public static final byte TAG_INTEGER
public static final byte TAG_FLOAT
public static final byte TAG_LONG
public static final byte TAG_DOUBLE
public static final byte TAG_NAME_AND_TYPE
public static final byte TAG_UTF8
com.claritysys.jvm.classfile.ConstantPool pool
int hash
byte tag
int index
com.claritysys.jvm.classfile.CpEntry next
public void <init> (com.claritysys.jvm.classfile.ConstantPool, byte, int)
com.claritysys.jvm.classfile.ConstantPool pool
byte tag
int hash
public final int hashCode ()
public void computeHash ()
public final int getIndex ()
public final byte getTag ()
abstract void write (java.io.DataOutput) throws java.io.IOException
public java.lang.String toJavaString ()
public java.lang.Object clone ()
CloneNotSupportedException e
void postClone ()
com.claritysys.jvm.classfile.CpEntry ourNext
}
com/claritysys/jvm/classfile/CpNameAndType.class
CpNameAndType.java
package com.claritysys.jvm.classfile
public final com.claritysys.jvm.classfile.CpNameAndType extends com.claritysys.jvm.classfile.CpEntry {
com.claritysys.jvm.classfile.CpUtf8 name
com.claritysys.jvm.classfile.CpUtf8 type
void <init> (com.claritysys.jvm.classfile.ConstantPool, int, com.claritysys.jvm.classfile.CpUtf8, com.claritysys.jvm.classfile.CpUtf8)
com.claritysys.jvm.classfile.ConstantPool cpool
int hash
com.claritysys.jvm.classfile.CpUtf8 n
com.claritysys.jvm.classfile.CpUtf8 t
void <init> (com.claritysys.jvm.classfile.ConstantPool)
com.claritysys.jvm.classfile.ConstantPool cpool
public final com.claritysys.jvm.classfile.CpUtf8 getName ()
public final com.claritysys.jvm.classfile.CpUtf8 getType ()
static final int hashCode (com.claritysys.jvm.classfile.CpUtf8, com.claritysys.jvm.classfile.CpUtf8)
com.claritysys.jvm.classfile.CpUtf8 name
com.claritysys.jvm.classfile.CpUtf8 type
public void computeHash ()
void write (java.io.DataOutput) throws java.io.IOException
java.io.DataOutput dstr
public java.lang.String toString ()
void postClone ()
}
com/claritysys/jvm/classfile/CpRef.class
CpRef.java
package com.claritysys.jvm.classfile
public final com.claritysys.jvm.classfile.CpRef extends com.claritysys.jvm.classfile.CpEntry {
com.claritysys.jvm.classfile.CpClass clas
com.claritysys.jvm.classfile.CpNameAndType nameAndType
int stackSize
int nonStaticStackSize
public final com.claritysys.jvm.classfile.CpClass getCpClass ()
public final com.claritysys.jvm.classfile.CpNameAndType getNameAndType ()
void <init> (com.claritysys.jvm.classfile.ConstantPool, int, byte, com.claritysys.jvm.classfile.CpClass, com.claritysys.jvm.classfile.CpNameAndType)
com.claritysys.jvm.classfile.ConstantPool cpool
int hash
byte tag
com.claritysys.jvm.classfile.CpClass clas
com.claritysys.jvm.classfile.CpNameAndType nameAndType
void <init> (com.claritysys.jvm.classfile.ConstantPool, byte)
com.claritysys.jvm.classfile.ConstantPool cpool
byte tag
void write (java.io.DataOutput) throws java.io.IOException
java.io.DataOutput dstr
public int getStackSize ()
int size
public int getNonStaticStackSize ()
int size
public void computeHash ()
public java.lang.String toString ()
void postClone ()
}
com/claritysys/jvm/classfile/CpString.class
CpString.java
package com.claritysys.jvm.classfile
public final com.claritysys.jvm.classfile.CpString extends com.claritysys.jvm.classfile.CpEntry {
com.claritysys.jvm.classfile.CpUtf8 str
void <init> (com.claritysys.jvm.classfile.ConstantPool, int, com.claritysys.jvm.classfile.CpUtf8)
com.claritysys.jvm.classfile.ConstantPool cpool
int hash
com.claritysys.jvm.classfile.CpUtf8 str
void <init> (com.claritysys.jvm.classfile.ConstantPool)
com.claritysys.jvm.classfile.ConstantPool cpool
public final com.claritysys.jvm.classfile.CpUtf8 getString ()
static final int hashCode (com.claritysys.jvm.classfile.CpUtf8)
com.claritysys.jvm.classfile.CpUtf8 str
public void computeHash ()
void write (java.io.DataOutput) throws java.io.IOException
java.io.DataOutput dstr
public java.lang.String toJavaString ()
public java.lang.String toString ()
void postClone ()
}
com/claritysys/jvm/classfile/CpUtf8.class
CpUtf8.java
package com.claritysys.jvm.classfile
public final com.claritysys.jvm.classfile.CpUtf8 extends com.claritysys.jvm.classfile.CpEntry {
String string
void <init> (com.claritysys.jvm.classfile.ConstantPool, int, java.lang.String)
com.claritysys.jvm.classfile.ConstantPool cpool
int h
String s
public void <init> (com.claritysys.jvm.classfile.ConstantPool)
com.claritysys.jvm.classfile.ConstantPool pool
public java.lang.String getString ()
public void setString (java.lang.String)
String string
void write (java.io.DataOutput) throws java.io.IOException
java.io.DataOutput dstr
public java.lang.String toString ()
public void computeHash ()
void postClone ()
}
com/claritysys/jvm/classfile/CpValue1.class
CpValue1.java
package com.claritysys.jvm.classfile
public final com.claritysys.jvm.classfile.CpValue1 extends com.claritysys.jvm.classfile.CpEntry {
int value
void <init> (com.claritysys.jvm.classfile.ConstantPool, byte, int, int)
com.claritysys.jvm.classfile.ConstantPool cpool
byte tag
int hash
int value
void <init> (com.claritysys.jvm.classfile.ConstantPool, byte)
com.claritysys.jvm.classfile.ConstantPool cpool
byte tag
public final int getValue ()
public void setValue (int)
int value
static int hashCode (int)
int val
void write (java.io.DataOutput) throws java.io.IOException
java.io.DataOutput dstr
public java.lang.String toString ()
public void computeHash ()
public java.lang.String toJavaString ()
void postClone ()
}
com/claritysys/jvm/classfile/CpValue2.class
CpValue2.java
package com.claritysys.jvm.classfile
public final com.claritysys.jvm.classfile.CpValue2 extends com.claritysys.jvm.classfile.CpEntry {
long value
void <init> (com.claritysys.jvm.classfile.ConstantPool, byte, int, long)
com.claritysys.jvm.classfile.ConstantPool cpool
byte tag
int hash
long value
void <init> (com.claritysys.jvm.classfile.ConstantPool, byte)
com.claritysys.jvm.classfile.ConstantPool cpool
byte tag
public final long getValue ()
public void setValue (long)
long value
void write (java.io.DataOutput) throws java.io.IOException
java.io.DataOutput dstr
public java.lang.String toString ()
static int hashCode (long)
long val
public void computeHash ()
public java.lang.String toJavaString ()
void postClone ()
}
com/claritysys/jvm/classfile/ExceptionHandler.class
ExceptionHandler.java
package com.claritysys.jvm.classfile
public com.claritysys.jvm.classfile.ExceptionHandler extends java.lang.Object {
protected com.claritysys.jvm.classfile.CfMethod method
protected com.claritysys.jvm.classfile.ExceptionHandler next
protected int startPc
protected int endPc
protected int handlerPc
protected int exceptionClassIndex
public void <init> (com.claritysys.jvm.classfile.CfMethod, java.io.DataInputStream) throws java.io.IOException com.claritysys.jvm.classfile.ClassFileFormatException
com.claritysys.jvm.classfile.CfMethod method
java.io.DataInputStream dataIn
public void <init> (com.claritysys.jvm.classfile.CfMethod, int, int, int, int)
com.claritysys.jvm.classfile.CfMethod method
int startPc
int endPc
int handlerPc
int exceptionClassIndex
public com.claritysys.jvm.classfile.ExceptionHandler getNext ()
public void setNext (com.claritysys.jvm.classfile.ExceptionHandler)
com.claritysys.jvm.classfile.ExceptionHandler next
public int getStartPc ()
public void setStartPc (int)
int startPc
public int getEndPc ()
public void setEndPc (int)
int endPc
public int getHandlerPc ()
public void setHandlerPc (int)
int handlerPc
public int getExceptionClassIndex ()
public void setExceptionClassIndex (int)
int exceptionClassIndex
}
com/claritysys/jvm/classfile/JVM.class
JVM.java
package com.claritysys.jvm.classfile
public abstract com.claritysys.jvm.classfile.JVM extends java.lang.Object {
public static final short MAJOR_1_1
public static final short MINOR_1_1
public static final short MAJOR_1_2
public static final short MINOR_1_2
public static final short MAJOR_1_3
public static final short MINOR_1_3
public static final short MAJOR
public static final short MINOR
public static final int MAX_SHORT
public static final int MAX_BYTE
public static final short ACC_PUBLIC
public static final short ACC_PRIVATE
public static final short ACC_PROTECTED
public static final short ACC_STATIC
public static final short ACC_FINAL
public static final short ACC_SYNCHRONIZED
public static final short ACC_VOLATILE
public static final short ACC_TRANSIENT
public static final short ACC_NATIVE
public static final short ACC_INTERFACE
public static final short ACC_ABSTRACT
public static final short ACC_STRICT
public static final short ACC_SUPER
public static final short MAX_ACC_FLAG
public static final String[] ACCESS_NAMES
public static final byte CONSTANT_Utf8
public static final byte CONSTANT_Integer
public static final byte CONSTANT_Float
public static final byte CONSTANT_Long
public static final byte CONSTANT_Double
public static final byte CONSTANT_Class
public static final byte CONSTANT_Fieldref
public static final byte CONSTANT_String
public static final byte CONSTANT_Methodref
public static final byte CONSTANT_InterfaceMethodref
public static final byte CONSTANT_NameAndType
public static final String[] CONSTANT_NAMES
public static final String STATIC_INITIALIZER_NAME
public static final String CONSTRUCTOR_NAME
public static final String[] INTERFACES_IMPLEMENTED_BY_ARRAYS
public static final int MAX_CP_ENTRIES
public static final int MAX_CODE_SIZE
public static final short NOP
public static final short ACONST_NULL
public static final short ICONST_M1
public static final short ICONST_0
public static final short ICONST_1
public static final short ICONST_2
public static final short ICONST_3
public static final short ICONST_4
public static final short ICONST_5
public static final short LCONST_0
public static final short LCONST_1
public static final short FCONST_0
public static final short FCONST_1
public static final short FCONST_2
public static final short DCONST_0
public static final short DCONST_1
public static final short BIPUSH
public static final short SIPUSH
public static final short LDC
public static final short LDC_W
public static final short LDC2_W
public static final short ILOAD
public static final short LLOAD
public static final short FLOAD
public static final short DLOAD
public static final short ALOAD
public static final short ILOAD_0
public static final short ILOAD_1
public static final short ILOAD_2
public static final short ILOAD_3
public static final short LLOAD_0
public static final short LLOAD_1
public static final short LLOAD_2
public static final short LLOAD_3
public static final short FLOAD_0
public static final short FLOAD_1
public static final short FLOAD_2
public static final short FLOAD_3
public static final short DLOAD_0
public static final short DLOAD_1
public static final short DLOAD_2
public static final short DLOAD_3
public static final short ALOAD_0
public static final short ALOAD_1
public static final short ALOAD_2
public static final short ALOAD_3
public static final short IALOAD
public static final short LALOAD
public static final short FALOAD
public static final short DALOAD
public static final short AALOAD
public static final short BALOAD
public static final short CALOAD
public static final short SALOAD
public static final short ISTORE
public static final short LSTORE
public static final short FSTORE
public static final short DSTORE
public static final short ASTORE
public static final short ISTORE_0
public static final short ISTORE_1
public static final short ISTORE_2
public static final short ISTORE_3
public static final short LSTORE_0
public static final short LSTORE_1
public static final short LSTORE_2
public static final short LSTORE_3
public static final short FSTORE_0
public static final short FSTORE_1
public static final short FSTORE_2
public static final short FSTORE_3
public static final short DSTORE_0
public static final short DSTORE_1
public static final short DSTORE_2
public static final short DSTORE_3
public static final short ASTORE_0
public static final short ASTORE_1
public static final short ASTORE_2
public static final short ASTORE_3
public static final short IASTORE
public static final short LASTORE
public static final short FASTORE
public static final short DASTORE
public static final short AASTORE
public static final short BASTORE
public static final short CASTORE
public static final short SASTORE
public static final short POP
public static final short POP2
public static final short DUP
public static final short DUP_X1
public static final short DUP_X2
public static final short DUP2
public static final short DUP2_X1
public static final short DUP2_X2
public static final short SWAP
public static final short IADD
public static final short LADD
public static final short FADD
public static final short DADD
public static final short ISUB
public static final short LSUB
public static final short FSUB
public static final short DSUB
public static final short IMUL
public static final short LMUL
public static final short FMUL
public static final short DMUL
public static final short IDIV
public static final short LDIV
public static final short FDIV
public static final short DDIV
public static final short IREM
public static final short LREM
public static final short FREM
public static final short DREM
public static final short INEG
public static final short LNEG
public static final short FNEG
public static final short DNEG
public static final short ISHL
public static final short LSHL
public static final short ISHR
public static final short LSHR
public static final short IUSHR
public static final short LUSHR
public static final short IAND
public static final short LAND
public static final short IOR
public static final short LOR
public static final short IXOR
public static final short LXOR
public static final short IINC
public static final short I2L
public static final short I2F
public static final short I2D
public static final short L2I
public static final short L2F
public static final short L2D
public static final short F2I
public static final short F2L
public static final short F2D
public static final short D2I
public static final short D2L
public static final short D2F
public static final short I2B
public static final short INT2BYTE
public static final short I2C
public static final short INT2CHAR
public static final short I2S
public static final short INT2SHORT
public static final short LCMP
public static final short FCMPL
public static final short FCMPG
public static final short DCMPL
public static final short DCMPG
public static final short IFEQ
public static final short IFNE
public static final short IFLT
public static final short IFGE
public static final short IFGT
public static final short IFLE
public static final short IF_ICMPEQ
public static final short IF_ICMPNE
public static final short IF_ICMPLT
public static final short IF_ICMPGE
public static final short IF_ICMPGT
public static final short IF_ICMPLE
public static final short IF_ACMPEQ
public static final short IF_ACMPNE
public static final short GOTO
public static final short JSR
public static final short RET
public static final short TABLESWITCH
public static final short LOOKUPSWITCH
public static final short IRETURN
public static final short LRETURN
public static final short FRETURN
public static final short DRETURN
public static final short ARETURN
public static final short RETURN
public static final short GETSTATIC
public static final short PUTSTATIC
public static final short GETFIELD
public static final short PUTFIELD
public static final short INVOKEVIRTUAL
public static final short INVOKESPECIAL
public static final short INVOKENONVIRTUAL
public static final short INVOKESTATIC
public static final short INVOKEINTERFACE
public static final short NEW
public static final short NEWARRAY
public static final short ANEWARRAY
public static final short ARRAYLENGTH
public static final short ATHROW
public static final short CHECKCAST
public static final short INSTANCEOF
public static final short MONITORENTER
public static final short MONITOREXIT
public static final short WIDE
public static final short MULTIANEWARRAY
public static final short IFNULL
public static final short IFNONNULL
public static final short GOTO_W
public static final short JSR_W
public static final short BREAKPOINT
public static final short LDC_QUICK
public static final short LDC_W_QUICK
public static final short LDC2_W_QUICK
public static final short GETFIELD_QUICK
public static final short PUTFIELD_QUICK
public static final short GETFIELD2_QUICK
public static final short PUTFIELD2_QUICK
public static final short GETSTATIC_QUICK
public static final short PUTSTATIC_QUICK
public static final short GETSTATIC2_QUICK
public static final short PUTSTATIC2_QUICK
public static final short INVOKEVIRTUAL_QUICK
public static final short INVOKENONVIRTUAL_QUICK
public static final short INVOKESUPER_QUICK
public static final short INVOKESTATIC_QUICK
public static final short INVOKEINTERFACE_QUICK
public static final short INVOKEVIRTUALOBJECT_QUICK
public static final short NEW_QUICK
public static final short ANEWARRAY_QUICK
public static final short MULTIANEWARRAY_QUICK
public static final short CHECKCAST_QUICK
public static final short INSTANCEOF_QUICK
public static final short INVOKEVIRTUAL_QUICK_W
public static final short GETFIELD_QUICK_W
public static final short PUTFIELD_QUICK_W
public static final short IMPDEP1
public static final short IMPDEP2
public static final short PUSH
public static final short SWITCH
public static final short UNDEFINED
public static final short UNPREDICTABLE
public static final short RESERVED
public static final String ILLEGAL_OPCODE
public static final String ILLEGAL_TYPE
public static final byte T_BOOLEAN
public static final byte T_CHAR
public static final byte T_FLOAT
public static final byte T_DOUBLE
public static final byte T_BYTE
public static final byte T_SHORT
public static final byte T_INT
public static final byte T_LONG
public static final byte T_VOID
public static final byte T_ARRAY
public static final byte T_OBJECT
public static final byte T_REFERENCE
public static final byte T_UNKNOWN
public static final byte T_ADDRESS
public static final String[] TYPE_NAMES
public static final String[] SHORT_TYPE_NAMES
public static final short[] NO_OF_OPERANDS
public static final short[][] TYPE_OF_OPERANDS
public static final String[] OPCODE_NAMES
public static final int[] CONSUME_STACK
public static final int[] PRODUCE_STACK
public static final String ATTR_SYNTHETIC
public static final String ATTR_DEPRECATED
public static final String ATTR_CONSTANT_VALUE
public static final String ATTR_SOURCE_FILE
public static final String ATTR_CODE
public static final String ATTR_EXCEPTIONS
public static final String ATTR_LINE_NUMBER_TABLE
public static final String ATTR_LOCAL_VARIABLE_TABLE
static void <clinit> ()
}
com/claritysys/jvm/classfile/LineNumber.class
LineNumber.java
package com.claritysys.jvm.classfile
public com.claritysys.jvm.classfile.LineNumber extends java.lang.Object {
private com.claritysys.jvm.classfile.LineNumber next
private int pc
private int line
public void <init> (int, int)
int pc
int line
public int getPc ()
public void setPc (int)
int pc
public int getLine ()
public void setLine (int)
int line
public com.claritysys.jvm.classfile.LineNumber getNext ()
public void setNext (com.claritysys.jvm.classfile.LineNumber)
com.claritysys.jvm.classfile.LineNumber next
}
com/claritysys/jvm/classfile/LocalVariable.class
LocalVariable.java
package com.claritysys.jvm.classfile
public com.claritysys.jvm.classfile.LocalVariable extends java.lang.Object {
private com.claritysys.jvm.classfile.CfMethod method
private com.claritysys.jvm.classfile.LocalVariable next
private int type
private int startPc
private int length
private com.claritysys.jvm.classfile.CpUtf8 name
private com.claritysys.jvm.classfile.CpUtf8 descriptor
private int index
public void <init> (com.claritysys.jvm.classfile.CfMethod, int, int, com.claritysys.jvm.classfile.CpUtf8, com.claritysys.jvm.classfile.CpUtf8, int)
com.claritysys.jvm.classfile.CfMethod method
int startPc
int length
com.claritysys.jvm.classfile.CpUtf8 name
com.claritysys.jvm.classfile.CpUtf8 descriptor
int index
public int getStartPc ()
public int getLength ()
public com.claritysys.jvm.classfile.CpUtf8 getName ()
public com.claritysys.jvm.classfile.CpUtf8 getDescriptor ()
public int getIndex ()
public com.claritysys.jvm.classfile.LocalVariable getNext ()
public void setNext (com.claritysys.jvm.classfile.LocalVariable)
com.claritysys.jvm.classfile.LocalVariable next
public int getType ()
public com.claritysys.jvm.classfile.CfMethod getMethod ()
public void setStartPc (int)
int startPc
public void setLength (int)
int length
public void setIndex (int)
int index
public void setDescriptor (com.claritysys.jvm.classfile.CpUtf8)
com.claritysys.jvm.classfile.CpUtf8 descriptor
public void setName (com.claritysys.jvm.classfile.CpUtf8)
com.claritysys.jvm.classfile.CpUtf8 name
}
com/claritysys/jvm/classfile/SigConverter.class
SigConverter.java
package com.claritysys.jvm.classfile
public com.claritysys.jvm.classfile.SigConverter extends java.lang.Object {
private java.util.Map aliasToFull
private java.util.Map types
private static java.util.Map primitives
private static final String[] NO_ARGS
public void <init> ()
public void <init> (com.claritysys.jvm.classfile.SigConverter)
com.claritysys.jvm.classfile.SigConverter template
public java.lang.String addImport (java.lang.String)
String cls
String alias
public java.lang.String getFullName (java.lang.String)
String cls
String fqName
public java.lang.String toVmMethodSig (java.lang.String)
String jlSig
String rtype
String[] ptypes
public static java.lang.String toVmSig (java.lang.String, java.lang.String[])
int i
String rtype
String[] ptypes
StringBuffer b
public java.lang.String getType (java.lang.String)
String baseType
String fqCls
boolean isFq
String javaType
String type
int ch
int dim
public java.lang.String getReturnType (java.lang.String)
String sig
int pos
public java.lang.String[] getArgTypes (java.lang.String)
int i
String sig
int pos
String s
Object obj
String[] args
String[] argTypes
public void dumpAliases ()
java.util.Map$Entry entry
java.util.Iterator i
static void <clinit> ()
}
com/claritysys/jvm/classfile/Utils.class
Utils.java
package com.claritysys.jvm.classfile
public final com.claritysys.jvm.classfile.Utils extends java.lang.Object {
public void <init> ()
public static int parseType (java.lang.String)
IllegalArgumentException e
String vmSignature
int vmType
char ch
public static int getStackWords (java.lang.String)
String fieldType
int type
public static int getStackWords (int)
int type
public static int parseType (char)
char ch
int vmType
public static int getMethodReturnType (java.lang.String)
String vmSignature
int rpIndex
public static int getMethodStackWords (java.lang.String)
char nextCh
int j
char c
String vmMethodSig
int size
int i
int sigLength
public static java.lang.String[] getParameters (java.lang.String)
char nextCh
char c
String vmMethodSig
int sigLength
int i
int COUNT
String[] params
int parameter
int j
public static int getParameterCount (java.lang.String)
char nextCh
int j
char c
String vmMethodSig
int parameters
int i
int sigLength
}
com/claritysys/jvm/disassembler/
com/claritysys/jvm/disassembler/CodeIterator$LineMarker.class
CodeIterator.java
package com.claritysys.jvm.disassembler
public com.claritysys.jvm.disassembler.CodeIterator$LineMarker extends java.lang.Object implements java.util.Comparator {
public int pc
public String marker
public boolean isLabel
public void <init> ()
public int compare (java.lang.Object, java.lang.Object)
Object o1
Object o2
}
com/claritysys/jvm/disassembler/CodeIterator.class
CodeIterator.java
package com.claritysys.jvm.disassembler
public final com.claritysys.jvm.disassembler.CodeIterator extends java.lang.Object {
private com.claritysys.jvm.disassembler.Disassembler dis
private com.claritysys.jvm.classfile.CfMethod method
private int methodParameterCount
private byte[] bytes
private int pc
private int argPtr
private int nextPc
private int opcount
private boolean isWide
private int nextMarkerIndex
private java.util.ArrayList markers
public void <init> (com.claritysys.jvm.disassembler.Disassembler, com.claritysys.jvm.classfile.CfMethod, int)
com.claritysys.jvm.disassembler.Disassembler dis
com.claritysys.jvm.classfile.CfMethod method
int parameterCount
public void setMethod (com.claritysys.jvm.classfile.CfMethod, int)
com.claritysys.jvm.classfile.CfMethod method
int parameterCount
public void extractMarkers ()
public void reset ()
public boolean hasNext ()
public int nextOp ()
int savePtr
int lowRange
int highRange
int offsets
int savePtr
int pairs
int opcode
public int getArgPtr ()
public int getPc ()
public byte[] getBytes ()
public int getOpCount ()
public int nextU1 ()
public int nextU2 ()
int u2
public int nextI1 ()
public int nextI2 ()
int i2
public int nextI4 ()
int i4
public com.claritysys.jvm.disassembler.CodeIterator$LineMarker getMarker ()
com.claritysys.jvm.disassembler.CodeIterator$LineMarker current
public com.claritysys.jvm.disassembler.CodeIterator$LineMarker getNextMarker ()
public com.claritysys.jvm.disassembler.CodeIterator$LineMarker getMarkerAtOffset (int)
int offset
public com.claritysys.jvm.disassembler.CodeIterator$LineMarker getMarkerAtPC (int)
com.claritysys.jvm.disassembler.CodeIterator$LineMarker l
int i
int target
private void createLocals ()
String name
String type
com.claritysys.jvm.disassembler.CodeIterator$LineMarker l
com.claritysys.jvm.classfile.LocalVariable lv
private void createLabels ()
int value
int offset
int i
int skip
int defaultOffset
int pairs
int offset
int i
int skip
int defaultOffset
int lowRange
int highRange
int target
com.claritysys.jvm.disassembler.CodeIterator$LineMarker l
int target
int argNumber
int opcode
String type
int start
int end
int handler
int index
String type
com.claritysys.jvm.disassembler.CodeIterator$LineMarker l
com.claritysys.jvm.classfile.ExceptionHandler except
int[][] OPERAND_INTERPRETATION
short[] NO_OF_OPERANDS
private void createPcMarker (int)
com.claritysys.jvm.disassembler.CodeIterator$LineMarker l
int target
com.claritysys.jvm.disassembler.CodeIterator$LineMarker marker
private void createOffsetMarker (int)
com.claritysys.jvm.disassembler.CodeIterator$LineMarker l
int offset
com.claritysys.jvm.disassembler.CodeIterator$LineMarker marker
public static java.lang.String getLocalName (com.claritysys.jvm.classfile.CfMethod, int)
com.claritysys.jvm.classfile.CfMethod method
int localNumber
com.claritysys.jvm.classfile.LocalVariable lv
private void createLineNumbers ()
com.claritysys.jvm.disassembler.CodeIterator$LineMarker l
com.claritysys.jvm.classfile.LineNumber line
public java.lang.String getLocalName (int)
int lnum
}
com/claritysys/jvm/disassembler/Disassembler.class
Disassembler.java
package com.claritysys.jvm.disassembler
public com.claritysys.jvm.disassembler.Disassembler extends java.lang.Object implements com.claritysys.jvm.disassembler.Signature$TypeFormatter {
private com.claritysys.jvm.classfile.ClassFile cf
private com.claritysys.jvm.classfile.ConstantPool cpool
private String outputFileName
private com.claritysys.jvm.disassembler.IndentingWriter iw
private com.claritysys.jvm.disassembler.Signature sigParser
private java.util.HashMap fullToAlias
private java.util.HashMap aliasToFull
private String thisClassAlias
private String[] CPOOL_CACHE
private static final boolean PRINT_CODE_BYTES
private int methodArgCount
public static void main (java.lang.String[]) throws java.io.IOException com.claritysys.jvm.classfile.ClassFileFormatException
String[] args
com.claritysys.util.Stopwatch total
com.claritysys.util.Stopwatch watch
com.claritysys.jvm.classfile.ClassFile cf
String shortName
String toFile
com.claritysys.jvm.disassembler.Disassembler da
private static void statusPending (java.lang.String)
String msg
private static void statusComplete (java.lang.String)
String msg
public void <init> (com.claritysys.jvm.classfile.ClassFile, java.lang.String)
com.claritysys.jvm.classfile.ClassFile cf
String toFileName
public void <init> (com.claritysys.jvm.classfile.ClassFile, java.io.Writer)
com.claritysys.jvm.classfile.ClassFile cf
java.io.Writer writer
public boolean isThisClass (java.lang.String)
String alias
public void disassemble ()
java.io.IOException ioe
public void setClassFile (com.claritysys.jvm.classfile.ClassFile)
com.claritysys.jvm.classfile.ClassFile cf
public void setOutputFile (java.lang.String)
java.io.IOException ioe
String path
java.io.File file
public void setOutput (java.io.Writer)
java.io.Writer writer
private java.lang.String getAlias (java.lang.String)
String fullName
String alias
public java.lang.String getFormattedType (java.lang.String)
String type
private java.lang.String getMethodSig (com.claritysys.jvm.classfile.ConstantPool, int)
String signature
com.claritysys.jvm.classfile.ConstantPool cpool
int index
String[] cache
String niceSig
java.lang.String getTypeSig (com.claritysys.jvm.classfile.ConstantPool, int)
String signature
com.claritysys.jvm.classfile.ConstantPool cpool
int index
String[] cache
String niceSig
private java.lang.String getMethodTypeDeclaration (com.claritysys.jvm.classfile.CfMethod)
String type
String lvName
int i
int param
com.claritysys.jvm.classfile.CfMethod method
StringBuffer buf
int firstParam
private java.lang.String _niceMethodSigCall (java.lang.String)
String type
int i
String sig
StringBuffer buf
java.lang.String getCpClassName (com.claritysys.jvm.classfile.ConstantPool, int)
com.claritysys.jvm.classfile.ConstantPool cpool
int index
com.claritysys.jvm.classfile.CpClass conClass
private void ensureCacheCapacity (int)
int index
String[] cache
java.lang.String getAlias (com.claritysys.jvm.classfile.ConstantPool, int)
com.claritysys.jvm.classfile.ConstantPool cpool
int index
String[] cache
String alias
private java.lang.String getConstantAsString (com.claritysys.jvm.classfile.ConstantPool, int)
com.claritysys.jvm.classfile.ConstantPool cpool
int index
com.claritysys.jvm.classfile.CpEntry c
public void visitJavaClass (com.claritysys.jvm.classfile.ClassFile)
String className
String alias
com.claritysys.jvm.classfile.CpEntry con
int i
String className
int i
int i
com.claritysys.jvm.classfile.CfField field
com.claritysys.jvm.classfile.CfMethod method
com.claritysys.jvm.classfile.ClassFile obj
String sourceName
String packageName
java.util.ArrayList imports
com.claritysys.jvm.classfile.ConstantPool cpool
String superName
int[] interfaces
public void visitField (com.claritysys.jvm.classfile.CfField)
com.claritysys.jvm.classfile.CfField obj
String type
com.claritysys.jvm.classfile.CpEntry cv
public void visitMethod (com.claritysys.jvm.classfile.CfMethod)
int i
com.claritysys.jvm.classfile.CfMethod obj
int argCount
int[] enames
private void emitModifiers (com.claritysys.jvm.classfile.CfEntry)
com.claritysys.jvm.classfile.CfEntry obj
private void emitBytecode (com.claritysys.jvm.classfile.CfMethod, int)
int lnum
int pos
int index
int index
int index
int index
int offset
com.claritysys.jvm.disassembler.CodeIterator$LineMarker marker
int offset
com.claritysys.jvm.disassembler.CodeIterator$LineMarker marker
String format
int index
com.claritysys.jvm.classfile.CpRef c
com.claritysys.jvm.classfile.CpNameAndType cnt
String name
String cname
String cast
String memberType
String format
String format
int index
com.claritysys.jvm.classfile.CpRef c
com.claritysys.jvm.classfile.CpNameAndType cnt
String name
String cname
String memberType
String niceSig
String format
int index
String alias
int type
int i1
int argNumber
int value
int offset
com.claritysys.jvm.disassembler.CodeIterator$LineMarker marker
int i
int skip
int defaultOffset
int pairs
com.claritysys.jvm.disassembler.CodeIterator$LineMarker marker
int target
com.claritysys.jvm.disassembler.CodeIterator$LineMarker marker
int i
int skip
int defaultOffset
int lowRange
int highRange
com.claritysys.jvm.disassembler.CodeIterator$LineMarker marker
int opcode
com.claritysys.jvm.disassembler.CodeIterator$LineMarker nextMarker
boolean didBreak
boolean hadLocal
String mnemonic
String implicitLocal
com.claritysys.jvm.classfile.CfMethod method
int argCount
int[][] OPERAND_INTERPRETATION
byte[] LOCAL_ARGS_IMPLIED
String[] OPCODE_NAMES
com.claritysys.jvm.disassembler.CodeIterator ci
}
com/claritysys/jvm/disassembler/IndentingWriter.class
IndentingWriter.java
package com.claritysys.jvm.disassembler
public com.claritysys.jvm.disassembler.IndentingWriter extends java.io.FilterWriter {
private Exception error
private boolean newLine
private int indent
private static final String[] INDENT
public void <init> (java.io.Writer)
java.io.Writer writer
public void println (java.lang.String)
java.io.IOException ioe
String s
public void print (java.lang.String)
java.io.IOException ioe
String s
public void println ()
java.io.IOException ioe
public java.lang.Exception getError ()
public boolean hasError ()
public void indent (int)
int i
static void <clinit> ()
}
com/claritysys/jvm/disassembler/OpcodeInfo.class
OpcodeInfo.java
package com.claritysys.jvm.disassembler
public abstract com.claritysys.jvm.disassembler.OpcodeInfo extends java.lang.Object {
public static final byte NA
public static final int CONST_U1
public static final int CONST_I1
public static final int CONST_I2
public static final int CONST_INDEX_U1
public static final int CONST_INDEX_U2
public static final int CONST_INDEX_2U2
public static final int LOCAL_NUMBER
public static final int BRANCH
public static final int BRANCH_W
public static final int FIELD
public static final int METHOD
public static final int IGNORE
public static final int TYPE
public static final int PRIM_TYPE
public static final int[][] OPERAND_INTERPRETATION
public static final byte[] LOCAL_ARGS_IMPLIED
static void <clinit> ()
}
com/claritysys/jvm/disassembler/Signature$TypeFormatter.class
Signature.java
package com.claritysys.jvm.disassembler
public abstract com.claritysys.jvm.disassembler.Signature$TypeFormatter extends java.lang.Object {
public abstract java.lang.String getFormattedType (java.lang.String)
}
com/claritysys/jvm/disassembler/Signature.class
Signature.java
package com.claritysys.jvm.disassembler
public final com.claritysys.jvm.disassembler.Signature extends java.lang.Object {
private com.claritysys.jvm.disassembler.Signature$TypeFormatter formatter
private String signature
private int sigLength
private int parsePosition
private String type
private boolean isMethod
private java.util.ArrayList parameters
private int parameterCount
private final String[] ARRAYS
public void <init> (com.claritysys.jvm.disassembler.Signature$TypeFormatter)
com.claritysys.jvm.disassembler.Signature$TypeFormatter formatter
public void setSignature (java.lang.String)
String sig
public void parseType ()
public boolean hasMore ()
private java.lang.String nextType ()
int semiPos
char c
StringBuffer buf
String type
int arrays
int i
private java.lang.String getFormattedType (java.lang.String)
String type
private void parseMethod ()
String type
public boolean isMethod ()
public java.lang.String getType ()
public int getParameterCount ()
public java.lang.String getParameter (int)
int n
}
com/claritysys/jvm/sample/
com/claritysys/jvm/sample/SampleHelloWorld.class
SampleHelloWorld.java
package com.claritysys.jvm.sample
public final com.claritysys.jvm.sample.SampleHelloWorld extends java.lang.Object implements com.claritysys.jvm.classfile.JVM {
static Class array$Ljava$lang$String
public void <init> ()
public static void main (java.lang.String[]) throws com.claritysys.jvm.classfile.ClassFileFormatException
ClassNotFoundException e
java.lang.reflect.Method methodMain
Exception e
String[] args
com.claritysys.jvm.classfile.ClassFile cf
com.claritysys.jvm.classfile.CfMethod method
com.claritysys.jvm.builder.CodeBuilder code
com.claritysys.jvm.classfile.ClassFile cfCopy
java.io.Writer sysOut
com.claritysys.jvm.disassembler.Disassembler disassembler
com.claritysys.jvm.builder.ArrayClassLoader loader
Class helloClass
static java.lang.Class class$ (java.lang.String)
ClassNotFoundException x1
String x0
}