org.extendj.ast
node type BodyDecl

General Info

Production
BodyDecl : ASTNode;
Type Hierarchy:
java.lang.Object
  extended by beaver.Symbol
      extended by org.extendj.ast.ASTNode<ASTNode>
          extended by org.extendj.ast.BodyDecl
All Implemented Interfaces:
java.lang.Cloneable, java.lang.Iterable<ASTNode>, org.jastadd.util.PrettyPrintable
Direct Known Subclasses:
ConstructorDecl, InstanceInitializer, MemberDecl, StaticInitializer

Description

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

Member Filters

API level:

Aspect:

Constructors

public BodyDecl()
 
Source
Declared in /home/jesper/git/extendj/ASTNode at line 1

Attributes

@ASTNodeAnnotation.Attribute
syn boolean isDAafter(org.extendj.ast.Variable v)
Source
Declared in /home/jesper/git/extendj/java4/frontend/DefiniteAssignment.jrag at line 266
Aspect
DA
@ASTNodeAnnotation.Attribute
syn boolean isDAbefore(org.extendj.ast.Variable v)
Source
Declared in /home/jesper/git/extendj/java4/frontend/DefiniteAssignment.jrag at line 270
Aspect
DA
@ASTNodeAnnotation.Attribute
syn boolean isDUafter(org.extendj.ast.Variable v)
Source
Declared in /home/jesper/git/extendj/java4/frontend/DefiniteAssignment.jrag at line 796
Aspect
DU
@ASTNodeAnnotation.Attribute
syn boolean isDUbefore(org.extendj.ast.Variable v)
Source
Declared in /home/jesper/git/extendj/java4/frontend/DefiniteAssignment.jrag at line 802
Aspect
DU
Source
Declared in /home/jesper/git/extendj/java4/frontend/DocumentationComments.jadd at line 41
Aspect
DocumentationComments
Source
Declared in /home/jesper/git/extendj/java4/frontend/DocumentationComments.jadd at line 45
Aspect
DocumentationComments
@ASTNodeAnnotation.Attribute
syn boolean declaresType(java.lang.String name)
Source
Declared in /home/jesper/git/extendj/java4/frontend/LookupType.jrag at line 599
Aspect
TypeScopePropagation
@ASTNodeAnnotation.Attribute
syn TypeDecl type(java.lang.String name)
Source
Declared in /home/jesper/git/extendj/java4/frontend/LookupType.jrag at line 601
Aspect
TypeScopePropagation
Source
Declared in /home/jesper/git/extendj/java4/frontend/TypeAnalysis.jrag at line 297
Aspect
TypeAnalysis
@ASTNodeAnnotation.Attribute
syn java.util.Collection attributes()
Source
Declared in /home/jesper/git/extendj/java4/backend/Attributes.jrag at line 212
Aspect
Attributes
Source
Declared in /home/jesper/git/extendj/java4/backend/GenerateClassfile.jrag at line 347
Aspect
GenerateClassfile
Source
Declared in /home/jesper/git/extendj/java4/backend/GenerateClassfile.jrag at line 350
Aspect
GenerateClassfile
@ASTNodeAnnotation.Attribute
syn boolean hasAnnotationSuppressWarnings(java.lang.String annot)
Source
Declared in /home/jesper/git/extendj/java5/frontend/Annotations.jrag at line 356
Aspect
Annotations
Source
Declared in /home/jesper/git/extendj/java5/frontend/Annotations.jrag at line 402
Aspect
Annotations
Source
Declared in /home/jesper/git/extendj/java5/frontend/Enums.jrag at line 48
Aspect
Enums
Source
Declared in /home/jesper/git/extendj/java5/frontend/GenericsParTypeDecl.jrag at line 90
Aspect
GenericsParTypeDecl
Returns:
true if this is a generic method or constructor, or a substitued generic method or constructor.
Source
Declared in /home/jesper/git/extendj/java5/frontend/MethodSignature.jrag at line 375
Aspect
MethodSignature15
Note: isGeneric must be called first to check if this declaration is generic. Otherwise this attribute will throw an error!
Returns:
type parameters for this declaration.
Source
Declared in /home/jesper/git/extendj/java5/frontend/MethodSignature.jrag at line 408
Aspect
MethodSignature15
Source
Declared in /home/jesper/git/extendj/java5/backend/GenericsCodegen.jrag at line 374
Aspect
GenericsCodegen
Returns:
true if the modifier list includes the SafeVarargs annotation
Source
Declared in /home/jesper/git/extendj/java7/frontend/SafeVarargs.jrag at line 42
Aspect
SafeVarargs
It is an error if the SafeVarargs annotation is used on something that is not a variable arity method or constructor.
Source
Declared in /home/jesper/git/extendj/java7/frontend/SafeVarargs.jrag at line 73
Aspect
SafeVarargs
@ASTNodeAnnotation.Attribute
syn boolean modifiedInScope(org.extendj.ast.Variable var)
Source
Declared in /home/jesper/git/extendj/java8/frontend/EffectivelyFinal.jrag at line 40
Aspect
PreciseRethrow
@ASTNodeAnnotation.Attribute
inh boolean isDAbefore(org.extendj.ast.Variable v,
                                               BodyDecl b)
Source
Declared in /home/jesper/git/extendj/java4/frontend/DefiniteAssignment.jrag at line 272
Aspect
DA
@ASTNodeAnnotation.Attribute
inh boolean isDUbefore(org.extendj.ast.Variable v,
                                               BodyDecl b)
Source
Declared in /home/jesper/git/extendj/java4/frontend/DefiniteAssignment.jrag at line 804
Aspect
DU
Source
Declared in /home/jesper/git/extendj/java4/frontend/ExceptionHandling.jrag at line 49
Aspect
ExceptionHandling
@ASTNodeAnnotation.Attribute
inh java.util.Collection lookupMethod(java.lang.String name)
Source
Declared in /home/jesper/git/extendj/java4/frontend/LookupMethod.jrag at line 47
Aspect
LookupMethod
@ASTNodeAnnotation.Attribute
inh TypeDecl lookupType(java.lang.String packageName,
                                                java.lang.String typeName)
Source
Declared in /home/jesper/git/extendj/java4/frontend/LookupType.jrag at line 131
Aspect
LookupFullyQualifiedTypes
@ASTNodeAnnotation.Attribute
inh org.extendj.ast.SimpleSet lookupType(java.lang.String name)
Source
Declared in /home/jesper/git/extendj/java4/frontend/LookupType.jrag at line 338
Aspect
TypeScopePropagation
@ASTNodeAnnotation.Attribute
inh org.extendj.ast.SimpleSet lookupVariable(java.lang.String name)
Source
Declared in /home/jesper/git/extendj/java4/frontend/LookupVariable.jrag at line 36
Aspect
VariableScope
Source
Declared in /home/jesper/git/extendj/java4/frontend/TypeAnalysis.jrag at line 621
Aspect
NestedTypes
Source
Declared in /home/jesper/git/extendj/java4/frontend/TypeAnalysis.jrag at line 637
Aspect
NestedTypes
@ASTNodeAnnotation.Attribute
inh boolean withinSuppressWarnings(java.lang.String annot)
Source
Declared in /home/jesper/git/extendj/java5/frontend/Annotations.jrag at line 341
Aspect
Annotations
Source
Declared in /home/jesper/git/extendj/java5/frontend/Annotations.jrag at line 449
Aspect
Annotations

Methods

public void generateMethod(java.io.DataOutputStream out,
                           ConstantPool cp)
                    throws java.io.IOException
Throws:
java.io.IOException
Source
Declared in /home/jesper/git/extendj/java4/backend/GenerateClassfile.jrag at line 281
Aspect
GenerateClassfile
public void touchMethod(ConstantPool cp)
Source
Declared in /home/jesper/git/extendj/java4/backend/GenerateClassfile.jrag at line 302
Aspect
GenerateClassfile
public BodyDecl substitutedBodyDecl(org.extendj.ast.Parameterization parTypeDecl)
Source
Declared in /home/jesper/git/extendj/java5/frontend/Generics.jrag at line 1361
Aspect
LookupParTypeDecl
public void checkWarnings()
We must report illegal uses of the SafeVarargs annotation. It is only allowed on variable arity method and constructor declarations.
Overrides:checkWarnings in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java7/frontend/SafeVarargs.jrag at line 108
Aspect
SafeVarargs
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>
Source
Declared in /home/jesper/git/extendj/ASTNode at line 10
protected int numChildren()
Overrides:numChildren in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/ASTNode at line 15
public boolean mayHaveRewrite()
Overrides:mayHaveRewrite in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/ASTNode at line 21
public void flushAttrCache()
Overrides:flushAttrCache in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/ASTNode at line 27
public void flushCollectionCache()
Overrides:flushCollectionCache in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/ASTNode at line 40
public void flushRewriteCache()
Overrides:flushRewriteCache in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/ASTNode at line 46
public BodyDecl clone()
               throws java.lang.CloneNotSupportedException
Overrides:clone in class ASTNode<ASTNode>
Throws:
java.lang.CloneNotSupportedException
Source
Declared in /home/jesper/git/extendj/ASTNode at line 52
@Deprecated
public abstract BodyDecl 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.

Overrides:fullCopy in class ASTNode<ASTNode>
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 63
public abstract BodyDecl treeCopyNoTransform()
Create a deep copy of the AST subtree at this node. The copy is dangling, i.e. has no parent.
Overrides:treeCopyNoTransform in class ASTNode<ASTNode>
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 71
public abstract BodyDecl 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.
Overrides:treeCopy in class ASTNode<ASTNode>
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 79
public Stmt Define_branchTarget(ASTNode caller,
                                ASTNode child,
                                Stmt branch)
Overrides:Define_branchTarget in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/BranchTarget.jrag at line 227
protected boolean canDefine_branchTarget(ASTNode caller,
                                         ASTNode child,
                                         Stmt branch)
public org.extendj.ast.FinallyHost Define_enclosingFinally(ASTNode caller,
                                                           ASTNode child,
                                                           Stmt branch)
Overrides:Define_enclosingFinally in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/BranchTarget.jrag at line 262
protected boolean canDefine_enclosingFinally(ASTNode caller,
                                             ASTNode child,
                                             Stmt branch)
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 org.extendj.ast.SimpleSet Define_otherLocalClassDecls(ASTNode caller,
                                                             ASTNode child,
                                                             java.lang.String name)
Overrides:Define_otherLocalClassDecls in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/NameCheck.jrag at line 524
protected boolean canDefine_otherLocalClassDecls(ASTNode caller,
                                                 ASTNode child,
                                                 java.lang.String name)
Overrides:Define_enclosingBodyDecl in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java8/frontend/NameCheck.jrag at line 29
protected boolean canDefine_enclosingBodyDecl(ASTNode caller,
                                              ASTNode child)
public boolean Define_leavesMonitor(ASTNode caller,
                                    ASTNode child,
                                    Stmt branch,
                                    SynchronizedStmt monitor)
Overrides:Define_leavesMonitor in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/backend/CreateBCode.jrag at line 1836
protected boolean canDefine_leavesMonitor(ASTNode caller,
                                          ASTNode child,
                                          Stmt branch,
                                          SynchronizedStmt monitor)
public boolean Define_withinSuppressWarnings(ASTNode caller,
                                             ASTNode child,
                                             java.lang.String annot)
Overrides:Define_withinSuppressWarnings in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java7/frontend/SuppressWarnings.jrag at line 38
protected boolean canDefine_withinSuppressWarnings(ASTNode caller,
                                                   ASTNode child,
                                                   java.lang.String annot)
public boolean Define_withinDeprecatedAnnotation(ASTNode caller,
                                                 ASTNode child)
Overrides:Define_withinDeprecatedAnnotation in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java5/frontend/Annotations.jrag at line 449
protected boolean canDefine_withinDeprecatedAnnotation(ASTNode caller,
                                                       ASTNode child)
public boolean Define_resourcePreviouslyDeclared(ASTNode caller,
                                                 ASTNode child,
                                                 java.lang.String name)
Overrides:Define_resourcePreviouslyDeclared in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java7/frontend/TryWithResources.jrag at line 183
protected boolean canDefine_resourcePreviouslyDeclared(ASTNode caller,
                                                       ASTNode child,
                                                       java.lang.String name)
Overrides:rewriteTo in class ASTNode<ASTNode>

Fields

public java.lang.String docComment
Source
Declared in /home/jesper/git/extendj/java4/frontend/DocumentationComments.jadd at line 36
Aspect
DocumentationComments
protected java.util.Map isDAafter_Variable_values
protected java.util.Map isDAbefore_Variable_values
protected java.util.Map isDUafter_Variable_values
protected java.util.Map isDUbefore_Variable_values
protected boolean attributes_computed
protected java.util.Collection attributes_value
protected boolean typeThrowable_computed
protected java.util.Map lookupVariable_String_values

Inherited Members

Attributes inherited from org.extendj.ast.ASTNode

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

Fields inherited from beaver.Symbol

end
id
start
value