junc.ast
Class ConstructorInvocationNode

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

public class ConstructorInvocationNode
extends ExpressionNode

Describe class ConstructorInvocationNode here.

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

Field Summary
 java.util.Vector args
          Vector containing invocation arguments.
 junc.symtab.Symbol className
          Here we keep the type name to which the invoked constructor belongs.
 boolean invocationThis
          True if "this" was used, false if "super" was used.
 junc.symtab.Symbol name
          Name of this class or super class.
 junc.ast.MethodDeclarationNode node
          A ref to the AST node.
 
Fields inherited from class junc.ast.ExpressionNode
falseList, leftValue, statementExpression, trueList, type
 
Fields inherited from class antlr.BaseAST
down, right
 
Constructor Summary
ConstructorInvocationNode()
          Creates a new ConstructorInvocationNode instance.
ConstructorInvocationNode(junc.symtab.Symbol name)
          Creates a new ConstructorInvocationNode instance.
 
Method Summary
 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, evaluate, 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

args

public java.util.Vector args
Vector containing invocation arguments.


invocationThis

public boolean invocationThis
True if "this" was used, false if "super" was used.


name

public junc.symtab.Symbol name
Name of this class or super class.


node

public junc.ast.MethodDeclarationNode node
A ref to the AST node.


className

public junc.symtab.Symbol className
Here we keep the type name to which the invoked constructor belongs.

Constructor Detail

ConstructorInvocationNode

public ConstructorInvocationNode()
Creates a new ConstructorInvocationNode instance.


ConstructorInvocationNode

public ConstructorInvocationNode(junc.symtab.Symbol name)
Creates a new ConstructorInvocationNode instance.

Parameters:
name - a Symbol value
Method Detail

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