AST
node type ClassInstanceExpr

General Info

Production
ClassInstanceExpr : Access ::= Access Arg:Expr* [TypeDecl];
Type Hierarchy:
java.lang.Object
  extended by beaver.Symbol
      extended by AST.ASTNode<ASTNode>
          extended by AST.Expr
              extended by AST.Access
                  extended by AST.ClassInstanceExpr
All Implemented Interfaces:
java.lang.Cloneable, java.lang.Iterable<ASTNode>
Direct Known Subclasses:
EnumInstanceExpr, ParClassInstanceExpr

Description

Source
Declared in Java1.4Frontend/java.ast at line 37

Member Filters

API level:

Aspect:

Constructors

public ClassInstanceExpr(Access type,
                         List args)
 
Source
Declared in Java1.4Frontend/NodeConstructors.jrag at line 82
Aspect
NodeConstructors
public ClassInstanceExpr(Access p0,
                         List<Expr> p1,
                         Opt<TypeDecl> p2)
 

Attributes

syn boolean isDAafterInstance(Variable v)
Source
Declared in Java1.4Frontend/DefiniteAssignment.jrag at line 421
Aspect
DA
syn boolean isDAafter(Variable v)
Overrides:isDAafter in class Expr
Source
Declared in Java1.4Frontend/DefiniteAssignment.jrag at line 235
Aspect
DA
syn boolean computeDAbefore(int i,
                        Variable v)
Source
Declared in Java1.4Frontend/DefiniteAssignment.jrag at line 428
Aspect
DA
syn boolean isDUafterInstance(Variable v)
Source
Declared in Java1.4Frontend/DefiniteAssignment.jrag at line 850
Aspect
DU
syn boolean isDUafter(Variable v)
Overrides:isDUafter in class Expr
Source
Declared in Java1.4Frontend/DefiniteAssignment.jrag at line 694
Aspect
DU
syn boolean computeDUbefore(int i,
                        Variable v)
Source
Declared in Java1.4Frontend/DefiniteAssignment.jrag at line 857
Aspect
DU
Overrides:applicableAndAccessible in class Expr
Source
Declared in Java1.4Frontend/LookupConstructor.jrag at line 50
Aspect
ConstructScope
Source
Declared in Java1.5Frontend/MethodSignature.jrag at line 70
Aspect
MethodSignature15
Source
Declared in Java1.4Frontend/LookupConstructor.jrag at line 78
Aspect
ConstructScope
syn SimpleSet qualifiedLookupType(java.lang.String name)
Overrides:qualifiedLookupType in class Expr
Source
Declared in Java1.4Frontend/LookupType.jrag at line 430
Aspect
TypeScopePropagation
syn SimpleSet localLookupType(java.lang.String name)
Source
Declared in Java1.4Frontend/LookupType.jrag at line 472
Aspect
TypeScopePropagation
syn boolean validArgs()
Source
Declared in Java1.4Frontend/NameCheck.jrag at line 135
Aspect
NameCheck
Overrides:predNameType in class Access
Source
Declared in Java1.4Frontend/SyntacticClassification.jrag at line 56
Aspect
SyntacticClassification
syn TypeDecl type()
Overrides:type in class Access
Source
Declared in Java1.4Frontend/TypeAnalysis.jrag at line 311
Aspect
TypeAnalysis
syn boolean noEnclosingInstance()
Source
Declared in Java1.4Frontend/TypeCheck.jrag at line 519
Aspect
TypeCheck
syn int arity()
Source
Declared in Java1.5Frontend/MethodSignature.jrag at line 327
Aspect
MethodSignature15
Source
Declared in Java1.5Frontend/VariableArityParameters.jrag at line 54
Aspect
VariableArityParameters
inh boolean handlesException(TypeDecl exceptionType)
Source
Declared in Java1.4Frontend/ExceptionHandling.jrag at line 52
Aspect
ExceptionHandling
Source
Declared in Java1.4Frontend/LookupConstructor.jrag at line 27
Aspect
ConstructScope
Source
Declared in Java1.4Frontend/LookupConstructor.jrag at line 84
Aspect
ConstructScope
inh java.lang.String typeDeclIndent()
Source
Declared in Java1.4Frontend/PrettyPrint.jadd at line 351
Aspect
PrettyPrint
Source
Declared in Java1.4Frontend/TypeCheck.jrag at line 504
Aspect
TypeCheck
Overrides:inExplicitConstructorInvocation in class Access
Source
Declared in Java1.4Frontend/TypeHierarchyCheck.jrag at line 126
Aspect
TypeHierarchyCheck

Methods

public void flushCache()
Overrides:flushCache in class Access
public void flushCollectionCache()
Overrides:flushCollectionCache in class Access
public ClassInstanceExpr clone()
                        throws java.lang.CloneNotSupportedException
Overrides:clone in class Access
Throws:
java.lang.CloneNotSupportedException
Overrides:copy in class ASTNode<ASTNode>
Create a deep copy of the AST subtree at this node. The copy is dangling, i.e. has no parent.
Overrides:fullCopy in class ASTNode<ASTNode>
Returns:
dangling copy of the subtree at this node
public void accessControl()
Overrides:accessControl in class ASTNode<ASTNode>
Source
Declared in Java1.4Frontend/AccessControl.jrag at line 139
Aspect
AccessControl
public void exceptionHandling()
Overrides:exceptionHandling in class ASTNode<ASTNode>
Source
Declared in Java1.4Frontend/ExceptionHandling.jrag at line 119
Aspect
ExceptionHandling
protected boolean reachedException(TypeDecl catchType)
Overrides:reachedException in class ASTNode<ASTNode>
Source
Declared in Java1.4Frontend/ExceptionHandling.jrag at line 281
Aspect
ExceptionHandling
Source
Declared in Java1.4Frontend/LookupType.jrag at line 414
Aspect
TypeScopePropagation
Source
Declared in Java1.4Frontend/NameCheck.jrag at line 142
Aspect
NameCheck
public void toString(java.lang.StringBuffer s)
Overrides:toString in class ASTNode<ASTNode>
Source
Declared in Java1.4Frontend/PrettyPrint.jadd at line 327
Aspect
PrettyPrint
public void typeCheck()
Overrides:typeCheck in class ASTNode<ASTNode>
Source
Declared in Java1.4Frontend/TypeCheck.jrag at line 434
Aspect
TypeCheck
Source
Declared in Java1.4Frontend/TypeCheck.jrag at line 448
Aspect
TypeCheck
Source
Declared in Java1.4Frontend/TypeCheck.jrag at line 521
Aspect
TypeCheck
public void createBCode(CodeGeneration gen)
Overrides:createBCode in class ASTNode<ASTNode>
Source
Declared in Java1.4Backend/CreateBCode.jrag at line 692
Aspect
CreateBCode
public void addEnclosingVariables()
Source
Declared in Java1.4Backend/InnerClasses.jrag at line 482
Aspect
InnerClasses
Source
Declared in Java1.4Backend/Transformations.jrag at line 127
Aspect
Transformations
public void checkModifiers()
Source
Declared in Java1.5Frontend/Annotations.jrag at line 363
Aspect
Annotations
public void init$Children()
Initializes the child array to the correct size. Initializes List and Opt nta children.
Overrides:init$Children in class Access
protected int numChildren()
Overrides:numChildren in class Access
public boolean mayHaveRewrite()
Overrides:mayHaveRewrite in class Access
public void setAccess(Access node)
Replaces the Access child.
Parameters:
node - The new node to replace the Access child.
public Access getAccess()
Retrieves the Access child.
Returns:
The current node used as the Access child.
Retrieves the Access child.

This method does not invoke AST transformations.

Returns:
The current node used as the Access child.
public void setArgList(List<Expr> list)
Replaces the Arg list.
Parameters:
list - The new list node to be used as the Arg list.
public int getNumArg()
Retrieves the number of children in the Arg list.
Returns:
Number of children in the Arg list.
Retrieves the number of children in the Arg list. Calling this method will not trigger rewrites..
Returns:
Number of children in the Arg list.
public Expr getArg(int i)
Retrieves the element at index i in the Arg list..
Parameters:
i - Index of the element to return.
Returns:
The element at position i in the Arg list.
public void addArg(Expr node)
Append an element to the Arg list.
Parameters:
node - The element to append to the Arg list.
public void addArgNoTransform(Expr node)
public void setArg(Expr node,
                   int i)
Replaces the Arg list element at index i with the new node node.
Parameters:
node - The new node to replace the old list element.
i - The list index of the node to be replaced.
public List<Expr> getArgs()
Retrieves the Arg list.
Returns:
The node representing the Arg list.
Retrieves the Arg list.

This method does not invoke AST transformations.

Returns:
The node representing the Arg list.
public List<Expr> getArgList()
Retrieves the Arg list.
Returns:
The node representing the Arg list.
Retrieves the Arg list.

This method does not invoke AST transformations.

Returns:
The node representing the Arg list.
public void setTypeDeclOpt(Opt<TypeDecl> opt)
Replaces the optional node for the TypeDecl child. This is the Opt node containing the child TypeDecl, not the actual child!
Parameters:
opt - The new node to be used as the optional node for the TypeDecl child.
public boolean hasTypeDecl()
Check whether the optional TypeDecl child exists.
Returns:
true if the optional TypeDecl child exists, false if it does not.
Retrieves the (optional) TypeDecl child.
Returns:
The TypeDecl child, if it exists. Returns null otherwise.
public void setTypeDecl(TypeDecl node)
Replaces the (optional) TypeDecl child.
Parameters:
node - The new node to be used as the TypeDecl child.
Retrieves the optional node for child TypeDecl. This is the Opt node containing the child TypeDecl, not the actual child!

This method does not invoke AST transformations.

Returns:
The optional node for child TypeDecl.
public void nameCheck()
Overrides:nameCheck in class ASTNode<ASTNode>
Source
Declared in Java1.5Frontend/Enums.jrag at line 19
Aspect
Enums
public void transformation()
Overrides:transformation in class ASTNode<ASTNode>
Source
Declared in Java1.5Backend/VariableArityParametersCodegen.jrag at line 37
Aspect
VariableArityParametersCodegen
Overrides:Define_TypeDecl_superType in class ASTNode<ASTNode>
Source
Declared in Java1.4Frontend/AnonymousClasses.jrag at line 15
Overrides:Define_ConstructorDecl_constructorDecl in class ASTNode<ASTNode>
Source
Declared in Java1.5Frontend/MethodSignature.jrag at line 83
public boolean Define_boolean_isDAbefore(ASTNode caller,
                                         ASTNode child,
                                         Variable v)
Overrides:Define_boolean_isDAbefore in class ASTNode<ASTNode>
Source
Declared in Java1.4Frontend/DefiniteAssignment.jrag at line 430
public boolean Define_boolean_isDUbefore(ASTNode caller,
                                         ASTNode child,
                                         Variable v)
Overrides:Define_boolean_isDUbefore in class ASTNode<ASTNode>
Source
Declared in Java1.4Frontend/DefiniteAssignment.jrag at line 856
public boolean Define_boolean_hasPackage(ASTNode caller,
                                         ASTNode child,
                                         java.lang.String packageName)
Overrides:Define_boolean_hasPackage in class ASTNode<ASTNode>
Source
Declared in Java1.4Frontend/LookupType.jrag at line 92
public SimpleSet Define_SimpleSet_lookupType(ASTNode caller,
                                             ASTNode child,
                                             java.lang.String name)
Overrides:Define_SimpleSet_lookupType in class ASTNode<ASTNode>
Source
Declared in Java1.4Frontend/LookupType.jrag at line 404
public SimpleSet Define_SimpleSet_lookupVariable(ASTNode caller,
                                                 ASTNode child,
                                                 java.lang.String name)
Overrides:Define_SimpleSet_lookupVariable in class ASTNode<ASTNode>
Source
Declared in Java1.4Frontend/LookupVariable.jrag at line 137
Overrides:Define_NameType_nameType in class ASTNode<ASTNode>
Source
Declared in Java1.4Frontend/SyntacticClassification.jrag at line 127
public boolean Define_boolean_isAnonymous(ASTNode caller,
                                          ASTNode child)
Overrides:Define_boolean_isAnonymous in class ASTNode<ASTNode>
Source
Declared in Java1.4Frontend/TypeAnalysis.jrag at line 217
public boolean Define_boolean_isMemberType(ASTNode caller,
                                           ASTNode child)
Overrides:Define_boolean_isMemberType in class ASTNode<ASTNode>
Source
Declared in Java1.4Frontend/TypeAnalysis.jrag at line 530
Overrides:Define_TypeDecl_hostType in class ASTNode<ASTNode>
Source
Declared in Java1.4Frontend/TypeAnalysis.jrag at line 576
public boolean Define_boolean_inStaticContext(ASTNode caller,
                                              ASTNode child)
Overrides:Define_boolean_inStaticContext in class ASTNode<ASTNode>
Source
Declared in Java1.4Frontend/TypeHierarchyCheck.jrag at line 147
Overrides:Define_ClassInstanceExpr_getClassInstanceExpr in class ASTNode<ASTNode>
Source
Declared in Java7Frontend/TypeInference.jrag at line 69
public boolean Define_boolean_isAnonymousDecl(ASTNode caller,
                                              ASTNode child)
Overrides:Define_boolean_isAnonymousDecl in class ASTNode<ASTNode>
Source
Declared in Java7Frontend/TypeInference.jrag at line 457
Overrides:rewriteTo in class Access

Fields

protected boolean addEnclosingVariables
Source
Declared in Java1.4Backend/InnerClasses.jrag at line 481
Aspect
InnerClasses
protected java.util.Map isDAafterInstance_Variable_values
protected java.util.Map computeDAbefore_int_Variable_values
protected java.util.Map computeDUbefore_int_Variable_values
protected boolean decls_computed
protected boolean decl_computed
protected java.util.Map localLookupType_String_values
protected boolean type_computed

Inherited Members

Attributes inherited from AST.Access

Attributes inherited from AST.Expr

Attributes inherited from AST.ASTNode

Methods inherited from class AST.Access

Methods inherited from class AST.Expr

Methods inherited from class AST.ASTNode

Methods inherited from class beaver.Symbol

getColumn
getEnd
getId
getLine
getStart
makePosition

Methods inherited from class java.lang.Object

equals
finalize
getClass
hashCode
notify
notifyAll
wait
wait
wait

Fields inherited from AST.Access

Fields inherited from AST.Expr

Fields inherited from AST.ASTNode

Fields inherited from beaver.Symbol

end
id
start
value