Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| 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
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## javafe.ast
Class NewInstanceExpr

    java.lang.Object
      javafe.ast.ASTNode
          javafe.ast.VarInit
              javafe.ast.Expr
                  javafe.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`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| 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
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

The ESC/Java2 Project Homepage