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 ConstructorInvocation

java.lang.Object
  extended byjavafe.ast.ASTNode
      extended byjavafe.ast.Stmt
          extended byjavafe.ast.ConstructorInvocation
All Implemented Interfaces:
java.lang.Cloneable

public class ConstructorInvocation
extends Stmt

Represents an ExplicitConstructorInvocation.

Only occurs as the first Stmt in a ConstructorDecl.

Name resolution sets the decl field to the callee.


Field Summary
 ExprVec args
           
 ConstructorDecl decl
           
 Expr enclosingInstance
          The enclosing instance is the object expression before a super call ( .super(...) ).
 int locDot
           
 int locKeyword
           
 int locOpenParen
           
 boolean superCall
          superCall is true implies call is "super(
 
Fields inherited from class javafe.ast.ASTNode
decorations
 
Constructor Summary
protected ConstructorInvocation()
          Construct a raw ConstructorInvocation 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 ConstructorInvocation make(boolean superCall, Expr enclosingInstance, int locDot, int locKeyword, int locOpenParen, ExprVec args)
           
private  void postCheck()
           
 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

superCall

public boolean superCall
superCall is true implies call is "super(...)", superCall is false implies call is "this(...)".


enclosingInstance

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

Note:
If the supertype 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

locKeyword

public int locKeyword

locOpenParen

public int locOpenParen

args

public ExprVec args

decl

public ConstructorDecl decl
Constructor Detail

ConstructorInvocation

protected ConstructorInvocation()
Construct a raw ConstructorInvocation 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

postCheck

private void postCheck()

getStartLoc

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

getEndLoc

public int getEndLoc()
Overrides:
getEndLoc in class ASTNode

make

public static ConstructorInvocation make(boolean superCall,
                                         Expr enclosingInstance,
                                         int locDot,
                                         int locKeyword,
                                         int locOpenParen,
                                         ExprVec args)

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 Stmt

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