Package jasm.lang

Provides core class for representing JVM class files, bytecodes, types and constants.

See:
          Description

Interface Summary
BytecodeAttribute  
BytecodeAttribute.Reader A BytecodeAttribute.Reader is an interface used for reading a given kind of BytecodeAttribute.
JvmType Represents types used in Java programs (e.g.
JvmType.Primitive The Primitive type abstracts all the primitive types.
JvmType.Reference The Reference type abstracts all the reference types, including class types, array types, variable and wildcard types.
Modifier A modifier represents a flag (e.g.
 

Class Summary
Bytecode  
Bytecode.ArrayLength Represents the arraylength bytecode
Bytecode.ArrayLoad Represents the arrayload bytecode.
Bytecode.ArrayStore Represents the arraystore bytecode.
Bytecode.BinOp This represents all binary operators involving two operands on the stack.
Bytecode.Branch This class abstracts different kinds of branching statements (e.g.
Bytecode.CheckCast Represents the check cast bytecode.
Bytecode.Cmp This represents the bytecodes fcmpl, fcmpg, dcmpl, dcmpg and lcmp
Bytecode.Conversion This represents the family of primitive conversion operations, such as i2f, d2f, l2i etc.
Bytecode.Dup Represents the dup and dup2 bytecodes
Bytecode.DupX1 Represents the dupx1 bytecode
Bytecode.DupX2 Represents the dupx2 bytecode
Bytecode.GetField This represents the getfield and getstatic bytecodes.
Bytecode.Goto This class abstracts the unconditional branch bytecode goto.
Bytecode.If This represents the bytecodes ifeq, ifne, iflt, ifge, ifgt, ifle.
Bytecode.IfCmp This represents the bytecodes ifacmp_XX and ificmp_xx
Bytecode.Iinc Represents the iinc bytecode for incrementing a local variable.
Bytecode.InstanceOf Represents the instanceof bytecode
Bytecode.Invoke This represents the invokevirtual, invokespecial, invokestatic and invokeinterface bytecodes
Bytecode.Label This does not actually correspond to a bytecode per se.
Bytecode.Load Represents all bytecodes for loading from a local variable, including iload, aload, lload etc.
Bytecode.LoadConst Represents all bytecodes for loading constants.
Bytecode.MonitorEnter Represents a monitorenter bytecode
Bytecode.MonitorExit Represents a monitorexit bytecode
Bytecode.Neg  
Bytecode.New Represents the new, newarray and anewarray, multinewarray bytecodes.
Bytecode.Nop Represents the nop bytecode.
Bytecode.Pop Represents the pop and pop2 bytecodes
Bytecode.PutField This represents the putfield and putstatic bytecodes.
Bytecode.Return Represents return bytecodes, including ireturn, areturn, etc.
Bytecode.Store Represents all bytecodes for storing to a local variable, including istore, astore, lstore etc.
Bytecode.Swap Represents the swap bytecode
Bytecode.Switch This represents the bytecodes tableswitch and lookupswitch
Bytecode.Throw Represents the athrow bytecode.
BytecodeAttribute.Fn  
BytecodeAttribute.Unknown Class for representing unknown attributes.
ClassFile  
ClassFile.Field  
ClassFile.Method  
ClassFile.Parameter  
Constant  
Constant.Class  
Constant.Double  
Constant.Dummy  
Constant.FieldRef  
Constant.Float  
Constant.Info  
Constant.Integer  
Constant.InterfaceMethodRef  
Constant.Long  
Constant.MethodRef  
Constant.NameType  
Constant.String  
Constant.Utf8  
JvmType.Array The Array type captures array types! The elementType gives the types of the elements held in the array.
JvmType.Bool Represents the Java type "boolean"
JvmType.Byte Represents the Java type "byte"
JvmType.Char Represents the Java type "char"
JvmType.Clazz This represents a reference to a class.
JvmType.Double Represents the Java type "double"
JvmType.Float Represents the Java type "float"
JvmType.Function Represents the type of a method.
JvmType.Int Represents the Java type "int"
JvmType.Intersection An intersection type represents a (unknown) type which known to be a subtype of several types.
JvmType.Long Represents the Java type "long"
JvmType.Null The Null type is a special type given to the null value.
JvmType.Short Represents the Java type "short"
JvmType.Variable Represents a Generic type variable.
JvmType.Void The Void type is used to represent "void" types, found in method declarations.
JvmType.Wildcard This represents the special "?" type.
JvmTypes  
Modifier.Abstract  
Modifier.AnnotationT  
Modifier.Bridge  
Modifier.Enum  
Modifier.Final  
Modifier.Interface  
Modifier.Native  
Modifier.Private  
Modifier.Protected  
Modifier.Public  
Modifier.Static  
Modifier.StrictFP  
Modifier.Super  
Modifier.Synchronized  
Modifier.Synthetic  
Modifier.Transient  
Modifier.VarArgs A varargs modifier is used to indicate that a method has variable-length arity.
Modifier.Volatile  
 

Enum Summary
Bytecode.FieldMode  
Bytecode.IfMode  
Bytecode.InvokeMode  
 

Package jasm.lang Description

Provides core class for representing JVM class files, bytecodes, types and constants.

Author:
David J. Pearce


Copyright © 2013 David J. Pearce. All Rights Reserved.