org.extendj.ast
node type AbstractDot

General Info

Production
AbstractDot : Access ::= Left:Expr Right:Access;
Type Hierarchy:
java.lang.Object
  extended by beaver.Symbol
      extended by org.extendj.ast.ASTNode<ASTNode>
          extended by org.extendj.ast.Expr
              extended by org.extendj.ast.Access
                  extended by org.extendj.ast.AbstractDot
All Implemented Interfaces:
java.lang.Cloneable, java.lang.Iterable<ASTNode>, org.jastadd.util.PrettyPrintable
Direct Known Subclasses:
Dot

Description

Source
Declared in /home/jesper/git/extendj/java4/grammar/Java.ast at line 15

Member Filters

API level:

Aspect:

Constructors

public AbstractDot()
 
Source
Declared in /home/jesper/git/extendj/ASTNode at line 1
public AbstractDot(Expr p0,
                   Access p1)
 
Source
Declared in /home/jesper/git/extendj/ASTNode at line 13

Attributes

@ASTNodeAnnotation.Attribute
syn org.extendj.ast.Constant constant()
Overrides:constant in class Expr
Source
Declared in /home/jesper/git/extendj/java4/frontend/ConstantExpression.jrag at line 32
Aspect
ConstantExpression
Overrides:isConstant in class Expr
Source
Declared in /home/jesper/git/extendj/java4/frontend/ConstantExpression.jrag at line 254
Aspect
ConstantExpression
@ASTNodeAnnotation.Attribute
syn org.extendj.ast.Variable varDecl()
Overrides:varDecl in class Expr
Source
Declared in /home/jesper/git/extendj/java4/frontend/DefiniteAssignment.jrag at line 81
Aspect
DefiniteAssignment
@ASTNodeAnnotation.Attribute
syn boolean isDAafterTrue(org.extendj.ast.Variable v)
Overrides:isDAafterTrue in class Expr
Source
Declared in /home/jesper/git/extendj/java4/frontend/DefiniteAssignment.jrag at line 374
Aspect
DA
@ASTNodeAnnotation.Attribute
syn boolean isDAafterFalse(org.extendj.ast.Variable v)
Overrides:isDAafterFalse in class Expr
Source
Declared in /home/jesper/git/extendj/java4/frontend/DefiniteAssignment.jrag at line 375
Aspect
DA
@ASTNodeAnnotation.Attribute
syn boolean isDAafter(org.extendj.ast.Variable v)
Overrides:isDAafter in class Expr
Source
Declared in /home/jesper/git/extendj/java4/frontend/DefiniteAssignment.jrag at line 262
Aspect
DA
@ASTNodeAnnotation.Attribute
syn boolean isDUafterTrue(org.extendj.ast.Variable v)
Overrides:isDUafterTrue in class Expr
Source
Declared in /home/jesper/git/extendj/java4/frontend/DefiniteAssignment.jrag at line 791
Aspect
DU
@ASTNodeAnnotation.Attribute
syn boolean isDUafterFalse(org.extendj.ast.Variable v)
Overrides:isDUafterFalse in class Expr
Source
Declared in /home/jesper/git/extendj/java4/frontend/DefiniteAssignment.jrag at line 792
Aspect
DU
@ASTNodeAnnotation.Attribute
syn boolean isDUafter(org.extendj.ast.Variable v)
Overrides:isDUafter in class Expr
Source
Declared in /home/jesper/git/extendj/java4/frontend/DefiniteAssignment.jrag at line 789
Aspect
DU
Source
Declared in /home/jesper/git/extendj/java4/frontend/PrettyPrintUtil.jrag at line 267
Aspect
PrettyPrintUtil
@ASTNodeAnnotation.Attribute
syn java.lang.String typeName()
Overrides:typeName in class Expr
Source
Declared in /home/jesper/git/extendj/java4/frontend/QualifiedNames.jrag at line 72
Aspect
Names
Overrides:isTypeAccess in class Expr
Source
Declared in /home/jesper/git/extendj/java4/frontend/ResolveAmbiguousNames.jrag at line 35
Aspect
AccessTypes
Overrides:isMethodAccess in class Expr
Source
Declared in /home/jesper/git/extendj/java4/frontend/ResolveAmbiguousNames.jrag at line 39
Aspect
AccessTypes
Overrides:isFieldAccess in class Expr
Source
Declared in /home/jesper/git/extendj/java4/frontend/ResolveAmbiguousNames.jrag at line 43
Aspect
AccessTypes
Overrides:isSuperAccess in class Expr
Source
Declared in /home/jesper/git/extendj/java4/frontend/ResolveAmbiguousNames.jrag at line 47
Aspect
AccessTypes
Overrides:isThisAccess in class Expr
Source
Declared in /home/jesper/git/extendj/java4/frontend/ResolveAmbiguousNames.jrag at line 53
Aspect
AccessTypes
Overrides:isPackageAccess in class Expr
Source
Declared in /home/jesper/git/extendj/java4/frontend/ResolveAmbiguousNames.jrag at line 59
Aspect
AccessTypes
Overrides:isArrayAccess in class Expr
Source
Declared in /home/jesper/git/extendj/java4/frontend/ResolveAmbiguousNames.jrag at line 63
Aspect
AccessTypes
Overrides:isClassAccess in class Expr
Source
Declared in /home/jesper/git/extendj/java4/frontend/ResolveAmbiguousNames.jrag at line 67
Aspect
AccessTypes
Overrides:isSuperConstructorAccess in class Expr
Source
Declared in /home/jesper/git/extendj/java4/frontend/ResolveAmbiguousNames.jrag at line 71
Aspect
AccessTypes
Overrides:isQualified in class Access
Source
Declared in /home/jesper/git/extendj/java4/frontend/ResolveAmbiguousNames.jrag at line 80
Aspect
QualifiedNames
Source
Declared in /home/jesper/git/extendj/java4/frontend/ResolveAmbiguousNames.jrag at line 85
Aspect
QualifiedNames
Source
Declared in /home/jesper/git/extendj/java4/frontend/ResolveAmbiguousNames.jrag at line 86
Aspect
QualifiedNames
Overrides:lastAccess in class Access
Source
Declared in /home/jesper/git/extendj/java4/frontend/ResolveAmbiguousNames.jrag at line 89
Aspect
QualifiedNames
Overrides:nextAccess in class Expr
Source
Declared in /home/jesper/git/extendj/java4/frontend/ResolveAmbiguousNames.jrag at line 99
Aspect
QualifiedNames
Overrides:prevExpr in class Access
Source
Declared in /home/jesper/git/extendj/java4/frontend/ResolveAmbiguousNames.jrag at line 101
Aspect
QualifiedNames
Overrides:hasPrevExpr in class Access
Source
Declared in /home/jesper/git/extendj/java4/frontend/ResolveAmbiguousNames.jrag at line 113
Aspect
QualifiedNames
@ASTNodeAnnotation.Attribute
syn org.extendj.ast.NameType predNameType()
Defines the expected kind of name for the left hand side in a qualified expression.
Overrides:predNameType in class Access
Source
Declared in /home/jesper/git/extendj/java4/frontend/SyntacticClassification.jrag at line 58
Aspect
SyntacticClassification
Overrides:type in class Access
Source
Declared in /home/jesper/git/extendj/java4/frontend/TypeAnalysis.jrag at line 302
Aspect
TypeAnalysis
Overrides:isVariable in class Expr
Source
Declared in /home/jesper/git/extendj/java4/frontend/TypeCheck.jrag at line 36
Aspect
TypeCheck
Overrides:staticContextQualifier in class Expr
Source
Declared in /home/jesper/git/extendj/java4/frontend/TypeHierarchyCheck.jrag at line 199
Aspect
TypeHierarchyCheck
Overrides:needsPop in class Expr
Source
Declared in /home/jesper/git/extendj/java4/backend/CreateBCode.jrag at line 251
Aspect
CreateBCode
Overrides:isVarAccessWithAccessor in class Expr
Source
Declared in /home/jesper/git/extendj/java4/backend/CreateBCode.jrag at line 263
Aspect
CreateBCode
Overrides:canBeTrue in class Expr
Source
Declared in /home/jesper/git/extendj/java4/backend/CreateBCode.jrag at line 1022
Aspect
CreateBCode
Overrides:canBeFalse in class Expr
Source
Declared in /home/jesper/git/extendj/java4/backend/CreateBCode.jrag at line 1034
Aspect
CreateBCode
Finds the host type declaration of a class access. Call this attribute only on expressions that return true for isClassAccess or it may throw an error!
Overrides:classAccess in class Expr
Returns:
The TypeDecl corresponding to the accesssed class
Source
Declared in /home/jesper/git/extendj/java5/backend/AnnotationsCodegen.jrag at line 241
Aspect
AnnotationsCodegen
@ASTNodeAnnotation.Attribute
syn boolean modifiedInScope(org.extendj.ast.Variable var)
Overrides:modifiedInScope in class Expr
Source
Declared in /home/jesper/git/extendj/java7/frontend/PreciseRethrow.jrag at line 149
Aspect
PreciseRethrow
Overrides:stmtCompatible in class Expr
Source
Declared in /home/jesper/git/extendj/java8/frontend/LambdaExpr.jrag at line 146
Aspect
StmtCompatible
@ASTNodeAnnotation.Attribute
inh boolean isDUbefore(org.extendj.ast.Variable v)
Overrides:isDUbefore in class Expr
Source
Declared in /home/jesper/git/extendj/java4/frontend/DefiniteAssignment.jrag at line 786
Aspect
DU

Methods

public void prettyPrint(org.jastadd.util.PrettyPrinter out)
Specified by:prettyPrint in interface org.jastadd.util.PrettyPrintableOverrides:prettyPrint in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/PrettyPrint.jadd at line 498
Aspect
Java4PrettyPrint
Source
Declared in /home/jesper/git/extendj/java4/frontend/ResolveAmbiguousNames.jrag at line 165
Aspect
QualifiedNames
public void replaceLast(Access access)
Source
Declared in /home/jesper/git/extendj/java4/frontend/ResolveAmbiguousNames.jrag at line 169
Aspect
QualifiedNames
public void emitStore(org.extendj.ast.CodeGeneration gen)
Overrides:emitStore in class Expr
Source
Declared in /home/jesper/git/extendj/java4/backend/CodeGeneration.jrag at line 354
Aspect
CodeGeneration
public void createAssignSimpleLoadDest(org.extendj.ast.CodeGeneration gen)
Overrides:createAssignSimpleLoadDest in class Expr
Source
Declared in /home/jesper/git/extendj/java4/backend/CreateBCode.jrag at line 430
Aspect
CreateBCode
public void createPushAssignmentResult(org.extendj.ast.CodeGeneration gen)
Description copied from class: Exprduplicate top value on stack and store below destination element
Overrides:createPushAssignmentResult in class Expr
Source
Declared in /home/jesper/git/extendj/java4/backend/CreateBCode.jrag at line 446
Aspect
CreateBCode
public void createAssignLoadDest(org.extendj.ast.CodeGeneration gen)
Overrides:createAssignLoadDest in class Expr
Source
Declared in /home/jesper/git/extendj/java4/backend/CreateBCode.jrag at line 466
Aspect
CreateBCode
public void createBCode(org.extendj.ast.CodeGeneration gen)
Overrides:createBCode in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/backend/CreateBCode.jrag at line 514
Aspect
CreateBCode
public void branchTrue(org.extendj.ast.CodeGeneration gen,
                       int target)
Description copied from class: ExprGenerate unboxing code for conditions 14.9 If, 14.12 While, 14.13 Do, 14.14 For branchTrue is used to emit the condition from these constructs refine behavior to include unboxing of the value when needed
Overrides:branchTrue in class Expr
Source
Declared in /home/jesper/git/extendj/java4/backend/CreateBCode.jrag at line 1130
Aspect
CreateBCode
public void branchFalse(org.extendj.ast.CodeGeneration gen,
                        int target)
Overrides:branchFalse in class Expr
Source
Declared in /home/jesper/git/extendj/java4/backend/CreateBCode.jrag at line 1245
Aspect
CreateBCode
public void init$Children()
Initializes the child array to the correct size. Initializes List and Opt nta children.
Overrides:init$Children in class Access
Source
Declared in /home/jesper/git/extendj/ASTNode at line 10
protected int numChildren()
Overrides:numChildren in class Access
Source
Declared in /home/jesper/git/extendj/ASTNode at line 20
public boolean mayHaveRewrite()
Overrides:mayHaveRewrite in class Access
Source
Declared in /home/jesper/git/extendj/ASTNode at line 26
public void flushAttrCache()
Overrides:flushAttrCache in class Access
Source
Declared in /home/jesper/git/extendj/ASTNode at line 32
public void flushCollectionCache()
Overrides:flushCollectionCache in class Access
Source
Declared in /home/jesper/git/extendj/ASTNode at line 43
public void flushRewriteCache()
Overrides:flushRewriteCache in class Access
Source
Declared in /home/jesper/git/extendj/ASTNode at line 49
public AbstractDot clone()
                  throws java.lang.CloneNotSupportedException
Overrides:clone in class Access
Throws:
java.lang.CloneNotSupportedException
Source
Declared in /home/jesper/git/extendj/ASTNode at line 55
public AbstractDot copy()
Overrides:copy in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/ASTNode at line 62
@Deprecated
public AbstractDot fullCopy()
Deprecated. Please use treeCopy or treeCopyNoTransform instead

Create a deep copy of the AST subtree at this node. The copy is dangling, i.e. has no parent.

Specified by:fullCopy in class Access
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 81
public AbstractDot treeCopyNoTransform()
Create a deep copy of the AST subtree at this node. The copy is dangling, i.e. has no parent.
Specified by:treeCopyNoTransform in class Access
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 91
public AbstractDot treeCopy()
Create a deep copy of the AST subtree at this node. The subtree of this node is traversed to trigger rewrites before copy. The copy is dangling, i.e. has no parent.
Specified by:treeCopy in class Access
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 111
protected boolean is$Equal(ASTNode node)
Overrides:is$Equal in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/ASTNode at line 118
public void setLeft(Expr node)
Replaces the Left child.
Parameters:
node - The new node to replace the Left child.
Retrieves the Left child.
Returns:
The current node used as the Left child.
Retrieves the Left child.

This method does not invoke AST transformations.

Returns:
The current node used as the Left child.
public void setRight(Access node)
Replaces the Right child.
Parameters:
node - The new node to replace the Right child.
Retrieves the Right child.
Returns:
The current node used as the Right child.
Retrieves the Right child.

This method does not invoke AST transformations.

Returns:
The current node used as the Right child.
public boolean Define_isDest(ASTNode caller,
                             ASTNode child)
Overrides:Define_isDest in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/DefiniteAssignment.jrag at line 37
protected boolean canDefine_isDest(ASTNode caller,
                                   ASTNode child)
public boolean Define_isSource(ASTNode caller,
                               ASTNode child)
Overrides:Define_isSource in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/DefiniteAssignment.jrag at line 47
protected boolean canDefine_isSource(ASTNode caller,
                                     ASTNode child)
public boolean Define_isDAbefore(ASTNode caller,
                                 ASTNode child,
                                 org.extendj.ast.Variable v)
Overrides:Define_isDAbefore in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/DefiniteAssignment.jrag at line 255
protected boolean canDefine_isDAbefore(ASTNode caller,
                                       ASTNode child,
                                       org.extendj.ast.Variable v)
public boolean Define_isDUbefore(ASTNode caller,
                                 ASTNode child,
                                 org.extendj.ast.Variable v)
Overrides:Define_isDUbefore in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/DefiniteAssignment.jrag at line 779
protected boolean canDefine_isDUbefore(ASTNode caller,
                                       ASTNode child,
                                       org.extendj.ast.Variable v)
public java.util.Collection Define_lookupConstructor(ASTNode caller,
                                                     ASTNode child)
Overrides:Define_lookupConstructor in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/LookupConstructor.jrag at line 35
protected boolean canDefine_lookupConstructor(ASTNode caller,
                                              ASTNode child)
public java.util.Collection Define_lookupSuperConstructor(ASTNode caller,
                                                          ASTNode child)
Overrides:Define_lookupSuperConstructor in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/LookupConstructor.jrag at line 40
protected boolean canDefine_lookupSuperConstructor(ASTNode caller,
                                                   ASTNode child)
public Expr Define_nestedScope(ASTNode caller,
                               ASTNode child)
Overrides:Define_nestedScope in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/LookupMethod.jrag at line 40
protected boolean canDefine_nestedScope(ASTNode caller,
                                        ASTNode child)
public java.util.Collection Define_lookupMethod(ASTNode caller,
                                                ASTNode child,
                                                java.lang.String name)
Overrides:Define_lookupMethod in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/LookupMethod.jrag at line 46
protected boolean canDefine_lookupMethod(ASTNode caller,
                                         ASTNode child,
                                         java.lang.String name)
public boolean Define_hasPackage(ASTNode caller,
                                 ASTNode child,
                                 java.lang.String packageName)
Overrides:Define_hasPackage in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/LookupType.jrag at line 115
protected boolean canDefine_hasPackage(ASTNode caller,
                                       ASTNode child,
                                       java.lang.String packageName)
public org.extendj.ast.SimpleSet Define_lookupType(ASTNode caller,
                                                   ASTNode child,
                                                   java.lang.String name)
Overrides:Define_lookupType in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java5/frontend/GenericMethods.jrag at line 197
protected boolean canDefine_lookupType(ASTNode caller,
                                       ASTNode child,
                                       java.lang.String name)
public org.extendj.ast.SimpleSet Define_lookupVariable(ASTNode caller,
                                                       ASTNode child,
                                                       java.lang.String name)
Overrides:Define_lookupVariable in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java8/frontend/LookupVariable.jrag at line 30
protected boolean canDefine_lookupVariable(ASTNode caller,
                                           ASTNode child,
                                           java.lang.String name)
public org.extendj.ast.NameType Define_nameType(ASTNode caller,
                                                ASTNode child)
Overrides:Define_nameType in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/SyntacticClassification.jrag at line 36
protected boolean canDefine_nameType(ASTNode caller,
                                     ASTNode child)
Overrides:Define_enclosingInstance in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/TypeCheck.jrag at line 586
protected boolean canDefine_enclosingInstance(ASTNode caller,
                                              ASTNode child)
public java.lang.String Define_methodHost(ASTNode caller,
                                          ASTNode child)
Overrides:Define_methodHost in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/TypeHierarchyCheck.jrag at line 32
protected boolean canDefine_methodHost(ASTNode caller,
                                       ASTNode child)
public TypeDecl Define_targetType(ASTNode caller,
                                  ASTNode child)
Overrides:Define_targetType in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java8/frontend/TargetType.jrag at line 30
protected boolean canDefine_targetType(ASTNode caller,
                                       ASTNode child)
public boolean Define_assignmentContext(ASTNode caller,
                                        ASTNode child)
Overrides:Define_assignmentContext in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java8/frontend/TargetType.jrag at line 196
protected boolean canDefine_assignmentContext(ASTNode caller,
                                              ASTNode child)
public boolean Define_invocationContext(ASTNode caller,
                                        ASTNode child)
Overrides:Define_invocationContext in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java8/frontend/TargetType.jrag at line 197
protected boolean canDefine_invocationContext(ASTNode caller,
                                              ASTNode child)
public boolean Define_castContext(ASTNode caller,
                                  ASTNode child)
Overrides:Define_castContext in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java8/frontend/TargetType.jrag at line 198
protected boolean canDefine_castContext(ASTNode caller,
                                        ASTNode child)
public boolean Define_stringContext(ASTNode caller,
                                    ASTNode child)
Overrides:Define_stringContext in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java8/frontend/TargetType.jrag at line 199
protected boolean canDefine_stringContext(ASTNode caller,
                                          ASTNode child)
public boolean Define_numericContext(ASTNode caller,
                                     ASTNode child)
Overrides:Define_numericContext in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java8/frontend/TargetType.jrag at line 200
protected boolean canDefine_numericContext(ASTNode caller,
                                           ASTNode child)
Overrides:rewriteTo in class Access

Fields

protected java.util.Map isDAafter_Variable_values
protected java.util.Map isDUafter_Variable_values
protected boolean type_computed
protected boolean stmtCompatible_computed
protected boolean stmtCompatible_value
protected java.util.Map isDUbefore_Variable_values

Inherited Members

Attributes inherited from org.extendj.ast.Access

Attributes inherited from org.extendj.ast.Expr

Attributes inherited from org.extendj.ast.ASTNode

Methods inherited from class org.extendj.ast.Access

Methods inherited from class org.extendj.ast.Expr

Methods inherited from class org.extendj.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 org.extendj.ast.Access

Fields inherited from org.extendj.ast.Expr

Fields inherited from org.extendj.ast.ASTNode

Fields inherited from beaver.Symbol

end
id
start
value