ESC/Java2
© 2003,2004,2005 David Cok and Joseph Kiniry
© 2005 UCD Dublin
© 2003,2004 Radboud University Nijmegen
© 1999,2000 Compaq Computer Corporation
© 1997,1998,1999 Digital Equipment Corporation
All Rights Reserved

javafe.ast
Class NewInstanceExpr

java.lang.Object
  extended byjavafe.ast.ASTNode
      extended byjavafe.ast.VarInit
          extended byjavafe.ast.Expr
              extended byjavafe.ast.NewInstanceExpr
All Implemented Interfaces:
java.lang.Cloneable

public class NewInstanceExpr
extends Expr


Field Summary
 ClassDecl anonDecl
          If the new expression includes a declaration of an inner class, then "anonDecl" will be non-null.
 ExprVec args
           
 ConstructorDecl decl
           
 Expr enclosingInstance
          The enclosing instance is the object expression before a new call ( .new T(...) ).
 int loc
           
 int locDot
           
 int locOpenParen
           
 TypeName type
           
 
Fields inherited from class javafe.ast.ASTNode
decorations
 
Constructor Summary
protected NewInstanceExpr()
          Construct a raw NewInstanceExpr whose class invariant(s) have not yet been established.
 
Method Summary
 void accept(Visitor v)
          Accept a visit from v.
 java.lang.Object accept(VisitorArgResult v, java.lang.Object o)
           
 void check()
           
 java.lang.Object childAt(int index)
          Return the first-but-ith child of a node.
 int childCount()
          Return the number of children a node has.
 int getEndLoc()
           
 int getStartLoc()
           
 int getTag()
          Return the tag of a node.
static NewInstanceExpr make(Expr enclosingInstance, int locDot, TypeName type, ExprVec args, ClassDecl anonDecl, int loc, int locOpenParen)
           
 java.lang.String toString()
          Return a string representation of this.
 
Methods inherited from class javafe.ast.ASTNode
clone, clone, getDecorations, setDecorations
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

enclosingInstance

public Expr enclosingInstance
The enclosing instance is the object expression before a new call ( .new T(...) ). This field may be null if there is no such expression.

Note:
If the type in question is an inner class, then the type checker will infer a [.]this expression if no expression is present and place it in this slot. (See ThisExpr for how to distinguish inferred this expressions.)


locDot

public int locDot

type

public TypeName type

args

public ExprVec args

anonDecl

public ClassDecl anonDecl
If the new expression includes a declaration of an inner class, then "anonDecl" will be non-null. In this case, the "superclass" field of "ananDecl" will be null and "superinterfaces" list of "anonDecl" will be empty. One of these fields needs to be modified during type checking depending on whether "type" is a class or an interface.


loc

public int loc

locOpenParen

public int locOpenParen

decl

public ConstructorDecl decl
Constructor Detail

NewInstanceExpr

protected NewInstanceExpr()
Construct a raw NewInstanceExpr whose class invariant(s) have not yet been established. It is the caller's job to initialize the returned node's fields so that any class invariants hold.

Method Detail

getStartLoc

public int getStartLoc()
Specified by:
getStartLoc in class ASTNode

getEndLoc

public int getEndLoc()
Overrides:
getEndLoc in class ASTNode

make

public static NewInstanceExpr make(Expr enclosingInstance,
                                   int locDot,
                                   TypeName type,
                                   ExprVec args,
                                   ClassDecl anonDecl,
                                   int loc,
                                   int locOpenParen)

childCount

public final int childCount()
Description copied from class: ASTNode
Return the number of children a node has.

Specified by:
childCount in class ASTNode

childAt

public final java.lang.Object childAt(int index)
Description copied from class: ASTNode
Return the first-but-ith child of a node.

Specified by:
childAt in class ASTNode

toString

public final java.lang.String toString()
Description copied from class: ASTNode
Return a string representation of this. Meant for debugging use only, not for presentation.

Specified by:
toString in class ASTNode

getTag

public final int getTag()
Description copied from class: ASTNode
Return the tag of a node.

Specified by:
getTag in class ASTNode

accept

public final void accept(Visitor v)
Description copied from class: ASTNode
Accept a visit from v. This method simply calls the method of v corresponding to the allocated type of this, passing this as the argument. See the design patterns book.

Specified by:
accept in class ASTNode

accept

public final java.lang.Object accept(VisitorArgResult v,
                                     java.lang.Object o)
Specified by:
accept in class ASTNode

check

public void check()
Overrides:
check in class Expr

ESC/Java2
© 2003,2004,2005 David Cok and Joseph Kiniry
© 2005 UCD Dublin
© 2003,2004 Radboud University Nijmegen
© 1999,2000 Compaq Computer Corporation
© 1997,1998,1999 Digital Equipment Corporation
All Rights Reserved

The ESC/Java2 Project Homepage