| |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
jellyj.syntaxtree.SyntaxTreeNode | +--jellyj.syntaxtree.ExpressionNode
Field Summary | |
InstructionList | falseList_d |
boolean | leftValue_d |
boolean | statementExp_d |
InstructionList | trueList_d |
Type | type_d |
Fields inherited from class jellyj.syntaxtree.SyntaxTreeNode |
column_d, line_d |
Method Summary | |
InstructionList | addFalseList(InstructionHandle ih) Add an instruction to the false list for backpatching. |
InstructionList | addTrueList(InstructionHandle ih) Add an instruction to the true list for backpatching. |
InstructionList | appendToFalseList(InstructionList right) Append a list to the false list. |
InstructionList | appendToTrueList(InstructionList right) Append a list to the true list. |
static void | backPatch(InstructionList list, InstructionHandle target) Backpatch a true or a false list. |
void | desynthesize(ClassGen classGen, MethodGen methodGen) |
BigDecimal | evaluate(SymbolTable stable) |
BigDecimal | evaluateExp() |
boolean | leftValue() Determines if the expression is an lvalue. |
MethodType | lookupPrimop(SymbolTable stable, int op, MethodType ctype) |
boolean | superExp() Determines if the expression is 'super'. |
BranchHandle | synthesize(ClassGen classGen, MethodGen methodGen) Synthesize a boolean expression, i.e., either push a 0 or 1 onto the operand stack for the next statement to succeed. |
boolean | thisExp() Determines if the expression is 'this'. |
boolean | thisOrSuperExp() Determines if the expression refers to this or super. |
void | translate(ClassGen classGen, MethodGen methodGen) |
BranchHandle | translateSynthesized(ClassGen classGen, MethodGen methodGen) First translate the expression and then synthesize it. |
Type | type() |
abstract Type | typeCheck(SymbolTable stable) |
boolean | typeExp() Determines if the expression refers to a type. |
boolean | variableExp() Determines if the expression is an access to a local or a formal param. |
Field Detail |
public InstructionList falseList_d
public boolean leftValue_d
public boolean statementExp_d
public InstructionList trueList_d
public Type type_d
Method Detail |
public InstructionList addFalseList(InstructionHandle ih)
public InstructionList addTrueList(InstructionHandle ih)
public InstructionList appendToFalseList(InstructionList right)
public InstructionList appendToTrueList(InstructionList right)
public static void backPatch(InstructionList list, InstructionHandle target)
public void desynthesize(ClassGen classGen, MethodGen methodGen)
public BigDecimal evaluate(SymbolTable stable)
throws jellyj.util.NotConstant
public BigDecimal evaluateExp()
public boolean leftValue()
public MethodType lookupPrimop(SymbolTable stable, int op, MethodType ctype)
public boolean superExp()
public BranchHandle synthesize(ClassGen classGen, MethodGen methodGen)
public boolean thisExp()
public boolean thisOrSuperExp()
public void translate(ClassGen classGen, MethodGen methodGen)
public BranchHandle translateSynthesized(ClassGen classGen, MethodGen methodGen)
public Type type()
public abstract Type typeCheck(SymbolTable stable)
throws jellyj.util.TypeCheckError
public boolean typeExp()
public boolean variableExp()
Association Links |
to Class jellyj.classfile.classgen.InstructionList
to Class jellyj.classfile.classgen.InstructionList
| |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |