net.janino
Class Java.Atom

java.lang.Object
  |
  +--net.janino.Java.Located
        |
        +--net.janino.Java.Atom
All Implemented Interfaces:
Java.Locatable
Direct Known Subclasses:
Java.Rvalue, Java.Type
Enclosing class:
Java

public abstract static class Java.Atom
extends net.janino.Java.Located

Abstract base class for Java.Type, Java.Rvalue and Java.Lvalue.


Constructor Summary
Java.Atom(Scanner.Location location)
           
 
Method Summary
 short addConstantFloatInfo(float value)
           
 short addConstantIntegerInfo(int value)
           
 short addConstantStringInfo(java.lang.String value)
           
 short allocateLocalVariable(short size)
           
 void compileError(java.lang.String message)
           
 ClassFile.CodeAttribute createDummyCodeAttribute()
           
 Scanner.Location getLocation()
           
abstract  IClass getType()
           
 boolean isType()
           
 ClassFile.CodeAttribute.Inserter newInserter()
           
 ClassFile.CodeAttribute.Offset newOffset()
           
 ClassFile.CodeAttribute.Offset newUnsetOffset()
           
 void popInserter()
           
 void pushInserter(ClassFile.CodeAttribute.Inserter ins)
           
 void restoreLocalVariables()
           
 void saveLocalVariables()
           
 void throwParseException(java.lang.String message)
           
 Java.Lvalue toLvalue()
           
 Java.Lvalue toLvalueOrCE()
           
 Java.Lvalue toLvalueOrPE()
           
 Java.Rvalue toRvalue()
           
 Java.Rvalue toRvalueOrCE()
           
 Java.Rvalue toRvalueOrPE()
           
 Java.Type toType()
           
 Java.Type toTypeOrCE()
           
 Java.Type toTypeOrPE()
           
 void write(byte[] b)
           
 void writeBranch(int opcode, ClassFile.CodeAttribute.Offset dst)
           
 void writeByte(int v)
           
 void writeConstantClassInfo(java.lang.String descriptor)
           
 void writeConstantDoubleInfo(double value)
           
 void writeConstantFieldrefInfo(java.lang.String classFD, java.lang.String fieldName, java.lang.String fieldFD)
           
 void writeConstantFloatInfo(float value)
           
 void writeConstantIntegerInfo(int value)
           
 void writeConstantInterfaceMethodrefInfo(java.lang.String classFD, java.lang.String methodName, java.lang.String methodMD)
           
 void writeConstantLongInfo(long value)
           
 void writeConstantMethodrefInfo(java.lang.String classFD, java.lang.String methodName, java.lang.String methodMD)
           
 void writeConstantStringInfo(java.lang.String value)
           
 void writeInt(int v)
           
 void writeOffset(ClassFile.CodeAttribute.Offset src, ClassFile.CodeAttribute.Offset dst)
           
 void writeOpcode(int opcode)
           
 void writeShort(int v)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Java.Atom

public Java.Atom(Scanner.Location location)
Method Detail

toType

public Java.Type toType()

toRvalue

public Java.Rvalue toRvalue()

toLvalue

public Java.Lvalue toLvalue()

toTypeOrPE

public final Java.Type toTypeOrPE()
                           throws Parser.ParseException

toRvalueOrPE

public final Java.Rvalue toRvalueOrPE()
                               throws Parser.ParseException

toLvalueOrPE

public final Java.Lvalue toLvalueOrPE()
                               throws Parser.ParseException

toTypeOrCE

public final Java.Type toTypeOrCE()
                           throws Java.CompileException

toRvalueOrCE

public final Java.Rvalue toRvalueOrCE()
                               throws Java.CompileException

toLvalueOrCE

public final Java.Lvalue toLvalueOrCE()
                               throws Java.CompileException

getType

public abstract IClass getType()
                        throws Java.CompileException

isType

public boolean isType()
               throws Java.CompileException

createDummyCodeAttribute

public ClassFile.CodeAttribute createDummyCodeAttribute()

getLocation

public Scanner.Location getLocation()
Specified by:
getLocation in interface Java.Locatable

throwParseException

public void throwParseException(java.lang.String message)
                         throws Parser.ParseException
Specified by:
throwParseException in interface Java.Locatable

compileError

public void compileError(java.lang.String message)
                  throws Java.CompileException
Specified by:
compileError in interface Java.Locatable

write

public void write(byte[] b)

writeByte

public void writeByte(int v)

writeInt

public void writeInt(int v)

writeShort

public void writeShort(int v)

writeOpcode

public void writeOpcode(int opcode)

writeBranch

public void writeBranch(int opcode,
                        ClassFile.CodeAttribute.Offset dst)

writeOffset

public void writeOffset(ClassFile.CodeAttribute.Offset src,
                        ClassFile.CodeAttribute.Offset dst)

writeConstantClassInfo

public void writeConstantClassInfo(java.lang.String descriptor)

writeConstantFieldrefInfo

public void writeConstantFieldrefInfo(java.lang.String classFD,
                                      java.lang.String fieldName,
                                      java.lang.String fieldFD)

writeConstantMethodrefInfo

public void writeConstantMethodrefInfo(java.lang.String classFD,
                                       java.lang.String methodName,
                                       java.lang.String methodMD)

writeConstantInterfaceMethodrefInfo

public void writeConstantInterfaceMethodrefInfo(java.lang.String classFD,
                                                java.lang.String methodName,
                                                java.lang.String methodMD)

writeConstantStringInfo

public void writeConstantStringInfo(java.lang.String value)

addConstantStringInfo

public short addConstantStringInfo(java.lang.String value)

writeConstantIntegerInfo

public void writeConstantIntegerInfo(int value)

addConstantIntegerInfo

public short addConstantIntegerInfo(int value)

writeConstantFloatInfo

public void writeConstantFloatInfo(float value)

addConstantFloatInfo

public short addConstantFloatInfo(float value)

writeConstantLongInfo

public void writeConstantLongInfo(long value)

writeConstantDoubleInfo

public void writeConstantDoubleInfo(double value)

newOffset

public ClassFile.CodeAttribute.Offset newOffset()

newUnsetOffset

public ClassFile.CodeAttribute.Offset newUnsetOffset()

newInserter

public ClassFile.CodeAttribute.Inserter newInserter()

pushInserter

public void pushInserter(ClassFile.CodeAttribute.Inserter ins)

popInserter

public void popInserter()

saveLocalVariables

public void saveLocalVariables()

restoreLocalVariables

public void restoreLocalVariables()

allocateLocalVariable

public short allocateLocalVariable(short size)