junc.ast
Class CastExpNode

java.lang.Object
  |
  +--antlr.BaseAST
        |
        +--antlr.CommonAST
              |
              +--junc.ast.JUnCASTNode
                    |
                    +--junc.ast.ExpressionNode
                          |
                          +--junc.ast.CastExpNode
All Implemented Interfaces:
antlr.collections.AST, java.io.Serializable

public class CastExpNode
extends ExpressionNode

Describe class CastExpNode here.

Version:
1.0
Author:
Diwaker Gupta
See Also:
Serialized Form

Field Summary
 junc.ast.ExpressionNode left
          Describe variable left here.
 
Fields inherited from class junc.ast.ExpressionNode
falseList, leftValue, statementExpression, trueList, type
 
Fields inherited from class antlr.BaseAST
down, right
 
Constructor Summary
CastExpNode(junc.ast.ExpressionNode left, junc.types.JUnCBaseType type)
          Creates a new CastExpNode instance.
 
Method Summary
 java.math.BigDecimal evaluate(junc.symtab.SymbolTable stable)
          Describe evaluate method here.
 void translate(org.apache.bcel.generic.ClassGen classGen, org.apache.bcel.generic.MethodGen methodGen)
          Describe translate method here.
 junc.types.JUnCBaseType typeCheck(junc.symtab.SymbolTable stable)
          Describe typeCheck method here.
 
Methods inherited from class junc.ast.ExpressionNode
addFalseList, addTrueList, appendToFalseList, appendToTrueList, backPatch, desynthesize, evaluateExp, leftValue, lookupPrimop, superExp, synthesize, thisExp, thisOrSuperExp, translateSynthesized, type, typeExp, variableExp
 
Methods inherited from class junc.ast.JUnCASTNode
getColumnNumber, getLineNumber, setColumnNumber, setLineNumber
 
Methods inherited from class antlr.CommonAST
getText, getType, initialize, initialize, initialize, setText, setType
 
Methods inherited from class antlr.BaseAST
addChild, decode, encode, equals, equalsList, equalsListPartial, equalsTree, equalsTreePartial, findAll, findAllPartial, getFirstChild, getNextSibling, removeChildren, setFirstChild, setNextSibling, setVerboseStringConversion, toString, toStringList, toStringTree, xmlSerialize, xmlSerializeNode, xmlSerializeRootClose, xmlSerializeRootOpen
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

left

public junc.ast.ExpressionNode left
Describe variable left here.

Constructor Detail

CastExpNode

public CastExpNode(junc.ast.ExpressionNode left,
                   junc.types.JUnCBaseType type)
Creates a new CastExpNode instance.

Parameters:
left - an ExpressionNode value
type - a JUnCBaseType value
Method Detail

evaluate

public java.math.BigDecimal evaluate(junc.symtab.SymbolTable stable)
                              throws NotConstantException
Describe evaluate method here.

Overrides:
evaluate in class ExpressionNode
Parameters:
stable - a SymbolTable value
Returns:
a BigDecimal value
Throws:
NotConstantException - if an error occurs

typeCheck

public junc.types.JUnCBaseType typeCheck(junc.symtab.SymbolTable stable)
                                  throws TypeCheckError
Describe typeCheck method here.

Specified by:
typeCheck in class ExpressionNode
Parameters:
stable - a SymbolTable value
Returns:
a JUnCBaseType value
Throws:
TypeCheckError - if an error occurs

translate

public void translate(org.apache.bcel.generic.ClassGen classGen,
                      org.apache.bcel.generic.MethodGen methodGen)
Describe translate method here.

Overrides:
translate in class ExpressionNode
Parameters:
classGen - a ClassGen value
methodGen - a MethodGen value