net.janino
Class Java.BooleanRvalue

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

public abstract static class Java.BooleanRvalue
extends Java.Rvalue

Base class for Java.Rvalues that compile better as conditional branches.


Fields inherited from class net.janino.Java.Rvalue
JUMP_IF_FALSE, JUMP_IF_TRUE
 
Constructor Summary
protected Java.BooleanRvalue(Scanner.Location location)
           
 
Method Summary
 IClass compileGet(ClassFile.CodeAttribute codeAttribute)
          Generates code that determines the value of the Java.Rvalue and puts it on the operand stack.
 
Methods inherited from class net.janino.Java.Rvalue
compile, compileBoolean, compileContext, compileGetValue, getConstantValue
 
Methods inherited from class net.janino.Java.Atom
getLocation, getType, isType, throwCompileException, throwParseException, toLvalue, toRvalue, toType
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Java.BooleanRvalue

protected Java.BooleanRvalue(Scanner.Location location)
Method Detail

compileGet

public IClass compileGet(ClassFile.CodeAttribute codeAttribute)
                  throws Java.CompileException
Description copied from class: Java.Rvalue
Generates code that determines the value of the Java.Rvalue and puts it on the operand stack. This method relies on that the "context" of the Java.Rvalue is on top of the operand stack (see Java.Rvalue.compileContext(ClassFile.CodeAttribute)).
Overrides:
compileGet in class Java.Rvalue
Following copied from class: net.janino.Java.Rvalue
Returns:
The type of the Java.Rvalue