AST
node type Expr

General Info

Production
Expr : ASTNode;
Type Hierarchy:
java.lang.Object
  extended by beaver.Symbol
      extended by AST.ASTNode<ASTNode>
          extended by AST.Expr
All Implemented Interfaces:
java.lang.Cloneable, java.lang.Iterable<ASTNode>
Direct Known Subclasses:
Access, ArrayInit, AssignExpr, Binary, CastExpr, ConditionalExpr, InstanceOfExpr, PrimaryExpr, Unary

Description

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

Member Filters

API level:

Aspect:

Constructors

public Expr()
 

Attributes

syn TypeDecl type()
Source
Declared in Java1.4Frontend/TypeAnalysis.jrag at line 276
Aspect
TypeAnalysis
Source
Declared in Java7Frontend/ConstantExpression.jrag at line 91
Aspect
ConstantExpression
syn boolean isConstant()
Source
Declared in Java7Frontend/ConstantExpression.jrag at line 336
Aspect
ConstantExpression
syn boolean isTrue()
Source
Declared in Java7Frontend/ConstantExpression.jrag at line 365
Aspect
ConstantExpression
syn boolean isFalse()
Source
Declared in Java7Frontend/ConstantExpression.jrag at line 366
Aspect
ConstantExpression
Source
Declared in Java1.4Frontend/DefiniteAssignment.jrag at line 58
Aspect
DefiniteAssignment
syn boolean isDAafterFalse(Variable v)
Source
Declared in Java1.4Frontend/DefiniteAssignment.jrag at line 333
Aspect
DA
syn boolean isDAafter(Variable v)
Source
Declared in Java1.4Frontend/DefiniteAssignment.jrag at line 235
Aspect
DA
syn boolean isDUafterFalse(Variable v)
Source
Declared in Java1.4Frontend/DefiniteAssignment.jrag at line 703
Aspect
DU
syn boolean isDUafterTrue(Variable v)
Source
Declared in Java1.4Frontend/DefiniteAssignment.jrag at line 702
Aspect
DU
syn boolean isDUafter(Variable v)
Source
Declared in Java1.4Frontend/DefiniteAssignment.jrag at line 694
Aspect
DU
syn SimpleSet mostSpecificConstructor(java.util.Collection constructors)
Source
Declared in Java1.4Frontend/LookupConstructor.jrag at line 32
Aspect
ConstructScope
Source
Declared in Java1.4Frontend/LookupConstructor.jrag at line 50
Aspect
ConstructScope
syn boolean hasQualifiedPackage(java.lang.String packageName)
Source
Declared in Java1.4Frontend/LookupType.jrag at line 83
Aspect
LookupFullyQualifiedTypes
syn SimpleSet qualifiedLookupType(java.lang.String name)
Source
Declared in Java1.4Frontend/LookupType.jrag at line 430
Aspect
TypeScopePropagation
syn SimpleSet qualifiedLookupVariable(java.lang.String name)
Source
Declared in Java1.4Frontend/LookupVariable.jrag at line 148
Aspect
VariableScope
syn java.lang.String packageName()
Source
Declared in Java1.4Frontend/QualifiedNames.jrag at line 25
Aspect
Names
syn java.lang.String typeName()
Source
Declared in Java1.4Frontend/QualifiedNames.jrag at line 62
Aspect
Names
syn boolean isTypeAccess()
Source
Declared in Java1.4Frontend/ResolveAmbiguousNames.jrag at line 13
Aspect
AccessTypes
syn boolean isMethodAccess()
Source
Declared in Java1.4Frontend/ResolveAmbiguousNames.jrag at line 17
Aspect
AccessTypes
syn boolean isFieldAccess()
Source
Declared in Java1.4Frontend/ResolveAmbiguousNames.jrag at line 21
Aspect
AccessTypes
syn boolean isSuperAccess()
Source
Declared in Java1.4Frontend/ResolveAmbiguousNames.jrag at line 25
Aspect
AccessTypes
syn boolean isThisAccess()
Source
Declared in Java1.4Frontend/ResolveAmbiguousNames.jrag at line 31
Aspect
AccessTypes
syn boolean isPackageAccess()
Source
Declared in Java1.4Frontend/ResolveAmbiguousNames.jrag at line 37
Aspect
AccessTypes
syn boolean isArrayAccess()
Source
Declared in Java1.4Frontend/ResolveAmbiguousNames.jrag at line 41
Aspect
AccessTypes
syn boolean isClassAccess()
Source
Declared in Java1.4Frontend/ResolveAmbiguousNames.jrag at line 45
Aspect
AccessTypes
Source
Declared in Java1.4Frontend/ResolveAmbiguousNames.jrag at line 49
Aspect
AccessTypes
syn boolean isLeftChildOfDot()
Source
Declared in Java1.4Frontend/ResolveAmbiguousNames.jrag at line 55
Aspect
QualifiedNames
syn boolean isRightChildOfDot()
Source
Declared in Java1.4Frontend/ResolveAmbiguousNames.jrag at line 56
Aspect
QualifiedNames
Source
Declared in Java1.4Frontend/ResolveAmbiguousNames.jrag at line 69
Aspect
QualifiedNames
syn boolean hasParentDot()
Source
Declared in Java1.4Frontend/ResolveAmbiguousNames.jrag at line 70
Aspect
QualifiedNames
Source
Declared in Java1.4Frontend/ResolveAmbiguousNames.jrag at line 72
Aspect
QualifiedNames
syn boolean hasNextAccess()
Source
Declared in Java1.4Frontend/ResolveAmbiguousNames.jrag at line 73
Aspect
QualifiedNames
Source
Declared in Java1.4Frontend/TypeAnalysis.jrag at line 503
Aspect
NestedTypes
syn boolean isVariable()
Source
Declared in Java1.4Frontend/TypeCheck.jrag at line 15
Aspect
TypeCheck
syn boolean isUnknown()
Source
Declared in Java1.4Frontend/TypeHierarchyCheck.jrag at line 20
Aspect
TypeHierarchyCheck
syn boolean staticContextQualifier()
Source
Declared in Java1.4Frontend/TypeHierarchyCheck.jrag at line 150
Aspect
TypeHierarchyCheck
syn boolean needsPop()
Source
Declared in Java1.4Backend/CreateBCode.jrag at line 219
Aspect
CreateBCode
Source
Declared in Java1.4Backend/CreateBCode.jrag at line 231
Aspect
CreateBCode
syn int false_label()
Source
Declared in Java1.4Backend/CreateBCode.jrag at line 941
Aspect
CreateBCode
syn int true_label()
Source
Declared in Java1.4Backend/CreateBCode.jrag at line 943
Aspect
CreateBCode
syn boolean canBeTrue()
Source
Declared in Java1.4Backend/CreateBCode.jrag at line 1007
Aspect
CreateBCode
syn boolean canBeFalse()
Source
Declared in Java1.4Backend/CreateBCode.jrag at line 1017
Aspect
CreateBCode
syn boolean isEnumConstant()
Source
Declared in Java1.5Frontend/Enums.jrag at line 500
Aspect
Enums
syn java.util.Collection<TypeDecl> throwTypes()
Source
Declared in Java7Frontend/PreciseRethrow.jrag at line 11
Aspect
PreciseRethrow
syn boolean modifiedInScope(Variable var)
Source
Declared in Java7Frontend/PreciseRethrow.jrag at line 111
Aspect
PreciseRethrow
syn boolean isVariable(Variable var)
Source
Declared in Java7Frontend/PreciseRethrow.jrag at line 115
Aspect
PreciseRethrow
inh boolean isDest()
Source
Declared in Java1.4Frontend/DefiniteAssignment.jrag at line 15
Aspect
DefiniteAssignment
inh boolean isSource()
Source
Declared in Java1.4Frontend/DefiniteAssignment.jrag at line 25
Aspect
DefiniteAssignment
inh boolean isIncOrDec()
Source
Declared in Java1.4Frontend/DefiniteAssignment.jrag at line 49
Aspect
DefiniteAssignment
inh boolean isDAbefore(Variable v)
Source
Declared in Java1.4Frontend/DefiniteAssignment.jrag at line 234
Aspect
DA
inh boolean isDUbefore(Variable v)
Source
Declared in Java1.4Frontend/DefiniteAssignment.jrag at line 693
Aspect
DU
inh java.util.Collection lookupMethod(java.lang.String name)
Source
Declared in Java1.4Frontend/LookupMethod.jrag at line 23
Aspect
LookupMethod
Source
Declared in Java1.4Frontend/LookupType.jrag at line 49
Aspect
SpecialClasses
Source
Declared in Java1.4Frontend/LookupType.jrag at line 50
Aspect
SpecialClasses
Source
Declared in Java1.4Frontend/LookupType.jrag at line 51
Aspect
SpecialClasses
Source
Declared in Java1.4Frontend/LookupType.jrag at line 52
Aspect
SpecialClasses
Source
Declared in Java1.4Frontend/LookupType.jrag at line 53
Aspect
SpecialClasses
Source
Declared in Java1.4Frontend/LookupType.jrag at line 54
Aspect
SpecialClasses
Source
Declared in Java1.4Frontend/LookupType.jrag at line 55
Aspect
SpecialClasses
Source
Declared in Java1.4Frontend/LookupType.jrag at line 56
Aspect
SpecialClasses
Source
Declared in Java1.4Frontend/LookupType.jrag at line 57
Aspect
SpecialClasses
Source
Declared in Java1.4Frontend/LookupType.jrag at line 58
Aspect
SpecialClasses
Source
Declared in Java1.4Frontend/LookupType.jrag at line 59
Aspect
SpecialClasses
Source
Declared in Java1.4Frontend/LookupType.jrag at line 72
Aspect
SpecialClasses
inh boolean hasPackage(java.lang.String packageName)
Source
Declared in Java1.4Frontend/LookupType.jrag at line 86
Aspect
LookupFullyQualifiedTypes
inh TypeDecl lookupType(java.lang.String packageName,
                    java.lang.String typeName)
Source
Declared in Java1.4Frontend/LookupType.jrag at line 95
Aspect
LookupFullyQualifiedTypes
inh SimpleSet lookupType(java.lang.String name)
Source
Declared in Java1.4Frontend/LookupType.jrag at line 264
Aspect
TypeScopePropagation
inh SimpleSet lookupVariable(java.lang.String name)
Source
Declared in Java1.4Frontend/LookupVariable.jrag at line 19
Aspect
VariableScope
Source
Declared in Java1.4Frontend/SyntacticClassification.jrag at line 20
Aspect
SyntacticClassification
Source
Declared in Java1.4Frontend/TypeAnalysis.jrag at line 510
Aspect
NestedTypes
inh java.lang.String hostPackage()
Source
Declared in Java1.4Frontend/TypeAnalysis.jrag at line 567
Aspect
NestedTypes
Source
Declared in Java1.4Frontend/TypeAnalysis.jrag at line 586
Aspect
NestedTypes
inh java.lang.String methodHost()
Source
Declared in Java1.4Frontend/TypeHierarchyCheck.jrag at line 11
Aspect
TypeHierarchyCheck
inh boolean inStaticContext()
Source
Declared in Java1.4Frontend/TypeHierarchyCheck.jrag at line 134
Aspect
TypeHierarchyCheck
Source
Declared in Java1.4Backend/CreateBCode.jrag at line 973
Aspect
CreateBCode
Source
Declared in Java1.4Backend/CreateBCode.jrag at line 977
Aspect
CreateBCode
Source
Declared in Java1.5Frontend/GenericMethodsInference.jrag at line 33
Aspect
GenericMethodsInference
inh boolean inExtendsOrImplements()
Source
Declared in Java1.5Frontend/Generics.jrag at line 271
Aspect
GenericsTypeAnalysis

Methods

public void flushCache()
Overrides:flushCache in class ASTNode<ASTNode>
public void flushCollectionCache()
Overrides:flushCollectionCache in class ASTNode<ASTNode>
public Expr clone()
           throws java.lang.CloneNotSupportedException
Overrides:clone in class ASTNode<ASTNode>
Throws:
java.lang.CloneNotSupportedException
Source
Declared in Java1.4Frontend/LookupType.jrag at line 461
Aspect
TypeScopePropagation
Remove fields that are not accessible when using this Expr as qualifier
Returns:
a set containing the accessible fields
Source
Declared in Java1.4Frontend/LookupVariable.jrag at line 169
Aspect
VariableScope
public boolean mayAccess(FieldDeclaration f)
Returns:
true if the expression may access the given field
See Also:
"JLS $6.6.2.1"
Source
Declared in Java1.4Frontend/LookupVariable.jrag at line 196
Aspect
VariableScope
public Dot qualifiesAccess(Access access)
Source
Declared in Java1.4Frontend/ResolveAmbiguousNames.jrag at line 106
Aspect
QualifiedNames
public void emitStore(CodeGeneration gen)
Source
Declared in Java1.4Backend/CodeGeneration.jrag at line 696
Aspect
CodeGeneration
protected boolean needsPush()
Source
Declared in Java1.4Backend/CreateBCode.jrag at line 211
Aspect
CreateBCode
Source
Declared in Java1.4Backend/CreateBCode.jrag at line 350
Aspect
CreateBCode
duplicate top value on stack and store below destination element
Source
Declared in Java1.4Backend/CreateBCode.jrag at line 366
Aspect
CreateBCode
Source
Declared in Java1.4Backend/CreateBCode.jrag at line 384
Aspect
CreateBCode
Source
Declared in Java1.4Backend/CreateBCode.jrag at line 1030
Aspect
CreateBCode
Source
Declared in Java1.4Backend/CreateBCode.jrag at line 1068
Aspect
CreateBCode
protected SimpleSet chooseConstructor(java.util.Collection constructors,
                                      List argList)
Source
Declared in Java1.5Frontend/MethodSignature.jrag at line 91
Aspect
MethodSignature15
protected static SimpleSet mostSpecific(SimpleSet maxSpecific,
                                        ConstructorDecl decl)
Source
Declared in Java1.5Frontend/MethodSignature.jrag at line 128
Aspect
MethodSignature15
public void init$Children()
Initializes the child array to the correct size. Initializes List and Opt nta children.
Overrides:init$Children in class ASTNode<ASTNode>
protected int numChildren()
Overrides:numChildren in class ASTNode<ASTNode>
public boolean mayHaveRewrite()
Overrides:mayHaveRewrite in class ASTNode<ASTNode>
public void emitEvalBranch(CodeGeneration gen)
Source
Declared in Java1.5Backend/AutoBoxingCodegen.jrag at line 111
Aspect
AutoBoxingCodegen
public boolean isPositive()
public boolean representableIn(TypeDecl t)
public boolean isDAafterTrue(Variable v)
Overrides:rewriteTo in class ASTNode<ASTNode>

Fields

protected boolean false_label_computed
protected int false_label_value
protected boolean true_label_computed
protected int true_label_value

Inherited Members

Attributes inherited from AST.ASTNode

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.ASTNode

Fields inherited from beaver.Symbol

end
id
start
value