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 CompilationUnit

java.lang.Object
  extended byjavafe.ast.ASTNode
      extended byjavafe.ast.CompilationUnit
All Implemented Interfaces:
java.lang.Cloneable
Direct Known Subclasses:
RefinementSequence

public class CompilationUnit
extends ASTNode

The make method of this class has the side effect of pointing the parent pointers of the TypeDecls inside a CompilationUnit to point to that unit.


Field Summary
 boolean duplicate
           
 TypeDeclVec elems
           
 ImportDeclVec imports
           
 LexicalPragmaVec lexicalPragmas
           
 int loc
           
 TypeDeclElemVec otherPragmas
           
 Name pkgName
           
 
Fields inherited from class javafe.ast.ASTNode
decorations
 
Constructor Summary
protected CompilationUnit()
          Construct a raw CompilationUnit 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.
 boolean isBinary()
           
static CompilationUnit make(Name pkgName, LexicalPragmaVec lexicalPragmas, ImportDeclVec imports, TypeDeclVec elems, int loc, TypeDeclElemVec otherPragmas)
           
private  void postCheck()
           
 GenericFile sourceFile()
           
 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

pkgName

public Name pkgName

lexicalPragmas

public LexicalPragmaVec lexicalPragmas

imports

public ImportDeclVec imports

elems

public TypeDeclVec elems

loc

public int loc

otherPragmas

public TypeDeclElemVec otherPragmas

duplicate

public boolean duplicate
Constructor Detail

CompilationUnit

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

isBinary

public boolean isBinary()
Returns:
true iff this CompilationUnit was created from a .class file.

getStartLoc

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

getEndLoc

public int getEndLoc()
Overrides:
getEndLoc in class ASTNode

sourceFile

public GenericFile sourceFile()

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 ASTNode

make

public static CompilationUnit make(Name pkgName,
                                   LexicalPragmaVec lexicalPragmas,
                                   ImportDeclVec imports,
                                   TypeDeclVec elems,
                                   int loc,
                                   TypeDeclElemVec otherPragmas)

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