org.extendj.ast
node type MethodDecl

General Info

Production
MethodDecl : MemberDecl ::= Modifiers TypeAccess:Access <ID:String> Parameter:ParameterDeclaration* Exception:Access* [Block];
Type Hierarchy:
java.lang.Object
  extended by beaver.Symbol
      extended by org.extendj.ast.ASTNode<ASTNode>
          extended by org.extendj.ast.BodyDecl
              extended by org.extendj.ast.MemberDecl
                  extended by org.extendj.ast.MethodDecl
All Implemented Interfaces:
java.lang.Cloneable, java.lang.Iterable<ASTNode>, java.util.Iterator, org.jastadd.util.PrettyPrintable
Direct Known Subclasses:
AnnotationMethodDecl, BridgeMethodDecl, GenericMethodDecl, MethodDeclSubstituted, ParMethodDecl
static class SimpleSet.SimpleSetImpl
           

Description

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

Member Filters

API level:

Aspect:

Constructors

public MethodDecl()
 
Source
Declared in /home/jesper/git/extendj/ASTNode at line 1
public MethodDecl(Modifiers p0,
                  Access p1,
                  java.lang.String p2,
                  List<ParameterDeclaration> p3,
                  List<Access> p4,
                  Opt<Block> p5)
 
Source
Declared in /home/jesper/git/extendj/ASTNode at line 16
public MethodDecl(Modifiers p0,
                  Access p1,
                  beaver.Symbol p2,
                  List<ParameterDeclaration> p3,
                  List<Access> p4,
                  Opt<Block> p5)
 
Source
Declared in /home/jesper/git/extendj/ASTNode at line 24

Attributes

Source
Declared in /home/jesper/git/extendj/java4/frontend/AccessControl.jrag at line 100
Aspect
AccessControl
Source
Declared in /home/jesper/git/extendj/java4/frontend/DataStructures.jrag at line 175
Aspect
DataStructures
Source
Declared in /home/jesper/git/extendj/java4/frontend/DataStructures.jrag at line 176
Aspect
DataStructures
@ASTNodeAnnotation.Attribute
syn boolean contains(java.lang.Object o)
Source
Declared in /home/jesper/git/extendj/java4/frontend/DataStructures.jrag at line 180
Aspect
DataStructures
Overrides:lineNumber in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/ErrorCheck.jrag at line 45
Aspect
ErrorCheck
Source
Declared in /home/jesper/git/extendj/java4/frontend/ExceptionHandling.jrag at line 182
Aspect
ExceptionHandling
@ASTNodeAnnotation.Attribute
syn java.lang.String name()
Source
Declared in /home/jesper/git/extendj/java4/frontend/LookupMethod.jrag at line 178
Aspect
MethodDecl
@ASTNodeAnnotation.Attribute
syn java.lang.String signature()
Source
Declared in /home/jesper/git/extendj/java4/frontend/LookupMethod.jrag at line 181
Aspect
MethodDecl
Returns:
Method signature, including generic parameters.
Source
Declared in /home/jesper/git/extendj/java4/frontend/LookupMethod.jrag at line 197
Aspect
MethodDecl
8.4.2 Method Signature
Parameters:
other -
Returns:
true if the signature of this method is same as the the signature of the argument method
Source
Declared in /home/jesper/git/extendj/java4/frontend/LookupMethod.jrag at line 217
Aspect
MethodDecl
Parameters:
m - argument method to compare to
Returns:
true if this the argument method is less specific than this and this is not less specific than the argument
Source
Declared in /home/jesper/git/extendj/java4/frontend/LookupMethod.jrag at line 225
Aspect
MethodDecl
Caution: a less specific than b does not mean b is not less specific than a!
Parameters:
m - argument method to compare to
Returns:
true if any parameter of this method decl is not a subtype (non-proper subtype) of the corresponding parameter of the argument method
Source
Declared in /home/jesper/git/extendj/java4/frontend/LookupMethod.jrag at line 235
Aspect
MethodDecl
Only check if this method would be able to override other method, not if this method is declared in a subtype of the hostType of other method. NB: does not check for equal signature!
Parameters:
m - other method
Returns:
true of the method could potentially override
Source
Declared in /home/jesper/git/extendj/java4/frontend/LookupMethod.jrag at line 304
Aspect
MethodDecl
Source
Declared in /home/jesper/git/extendj/java4/frontend/LookupMethod.jrag at line 307
Aspect
MethodDecl
Source
Declared in /home/jesper/git/extendj/java4/frontend/LookupMethod.jrag at line 311
Aspect
MethodDecl
@ASTNodeAnnotation.Attribute
syn org.extendj.ast.SimpleSet parameterDeclaration(java.lang.String name)
Source
Declared in /home/jesper/git/extendj/java4/frontend/LookupVariable.jrag at line 161
Aspect
VariableScope
Overrides:isSynthetic in class MemberDecl
Source
Declared in /home/jesper/git/extendj/java4/frontend/Modifiers.jrag at line 255
Aspect
Modifiers
Source
Declared in /home/jesper/git/extendj/java4/frontend/Modifiers.jrag at line 265
Aspect
Modifiers
Source
Declared in /home/jesper/git/extendj/java4/frontend/Modifiers.jrag at line 266
Aspect
Modifiers
Source
Declared in /home/jesper/git/extendj/java4/frontend/Modifiers.jrag at line 267
Aspect
Modifiers
Source
Declared in /home/jesper/git/extendj/java4/frontend/Modifiers.jrag at line 268
Aspect
Modifiers
Specified by:isStatic in class MemberDecl
Source
Declared in /home/jesper/git/extendj/java4/frontend/Modifiers.jrag at line 269
Aspect
Modifiers
Source
Declared in /home/jesper/git/extendj/java4/frontend/Modifiers.jrag at line 271
Aspect
Modifiers
Source
Declared in /home/jesper/git/extendj/java4/frontend/Modifiers.jrag at line 272
Aspect
Modifiers
Source
Declared in /home/jesper/git/extendj/java4/frontend/Modifiers.jrag at line 273
Aspect
Modifiers
Source
Declared in /home/jesper/git/extendj/java4/frontend/Modifiers.jrag at line 274
Aspect
Modifiers
Source
Declared in /home/jesper/git/extendj/java4/frontend/PrettyPrintUtil.jrag at line 247
Aspect
PrettyPrintUtil
Source
Declared in /home/jesper/git/extendj/java4/frontend/PrettyPrintUtil.jrag at line 259
Aspect
PrettyPrintUtil
Source
Declared in /home/jesper/git/extendj/java4/frontend/TypeAnalysis.jrag at line 295
Aspect
TypeAnalysis
Overrides:isVoid in class BodyDecl
Source
Declared in /home/jesper/git/extendj/java4/frontend/TypeAnalysis.jrag at line 297
Aspect
TypeAnalysis
Source
Declared in /home/jesper/git/extendj/java4/frontend/TypeHierarchyCheck.jrag at line 360
Aspect
TypeHierarchyCheck
@ASTNodeAnnotation.Attribute
syn java.util.Collection attributes()
Overrides:attributes in class BodyDecl
Source
Declared in /home/jesper/git/extendj/java4/backend/Attributes.jrag at line 212
Aspect
Attributes
@ASTNodeAnnotation.Attribute
syn java.lang.String descName()
Source
Declared in /home/jesper/git/extendj/java4/backend/ConstantPoolNames.jrag at line 103
Aspect
ConstantPoolNames
@ASTNodeAnnotation.Attribute
syn org.extendj.ast.CodeGeneration bytecodes(ConstantPool constantPool)
Source
Declared in /home/jesper/git/extendj/java4/backend/CreateBCode.jrag at line 92
Aspect
CreateBCode
Source
Declared in /home/jesper/git/extendj/java4/backend/Flags.jrag at line 62
Aspect
Flags
Overrides:isBytecodeMethod in class BodyDecl
Source
Declared in /home/jesper/git/extendj/java4/backend/GenerateClassfile.jrag at line 350
Aspect
GenerateClassfile
Overrides:flush in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/backend/GenerateClassfile.jrag at line 379
Aspect
GenerateClassfile
Source
Declared in /home/jesper/git/extendj/java4/backend/LocalNum.jrag at line 69
Aspect
LocalNum
Source
Declared in /home/jesper/git/extendj/java4/backend/LocalNum.jrag at line 71
Aspect
LocalNum
Source
Declared in /home/jesper/git/extendj/java4/backend/LocalNum.jrag at line 107
Aspect
LocalNum
Source
Declared in /home/jesper/git/extendj/java5/frontend/Annotations.jrag at line 180
Aspect
Annotations
@ASTNodeAnnotation.Attribute
syn boolean hasAnnotationSuppressWarnings(java.lang.String annot)
Overrides:hasAnnotationSuppressWarnings in class BodyDecl
Source
Declared in /home/jesper/git/extendj/java5/frontend/Annotations.jrag at line 356
Aspect
Annotations
Overrides:isDeprecated in class BodyDecl
Source
Declared in /home/jesper/git/extendj/java5/frontend/Annotations.jrag at line 399
Aspect
Annotations
Overrides:usesTypeVariable in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java5/frontend/Generics.jrag at line 1249
Aspect
LookupParTypeDecl
Source
Declared in /home/jesper/git/extendj/java5/frontend/Generics.jrag at line 1413
Aspect
LookupParTypeDecl
Source
Declared in /home/jesper/git/extendj/java5/frontend/Generics.jrag at line 1625
Aspect
SourceDeclarations
Overrides:visibleTypeParameters in class BodyDecl
Source
Declared in /home/jesper/git/extendj/java5/frontend/GenericsParTypeDecl.jrag at line 90
Aspect
GenericsParTypeDecl
Note: isGeneric must be called first to check if this declaration is generic. Otherwise this attribute will throw an error!
Returns:
the original generic declaration of this method.
Source
Declared in /home/jesper/git/extendj/java5/frontend/MethodSignature.jrag at line 386
Aspect
MethodSignature15
Source
Declared in /home/jesper/git/extendj/java5/frontend/MethodSignature.jrag at line 473
Aspect
MethodSignature15
Source
Declared in /home/jesper/git/extendj/java5/frontend/VariableArityParameters.jrag at line 55
Aspect
VariableArityParameters
Source
Declared in /home/jesper/git/extendj/java5/frontend/VariableArityParameters.jrag at line 60
Aspect
VariableArityParameters
Overrides:needsSignatureAttribute in class BodyDecl
Source
Declared in /home/jesper/git/extendj/java5/backend/GenericsCodegen.jrag at line 375
Aspect
GenericsCodegen
Source
Declared in /home/jesper/git/extendj/java5/backend/GenericsCodegen.jrag at line 508
Aspect
GenericsCodegen
Overrides:hasAnnotationSafeVarargs in class BodyDecl
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.
Overrides:hasIllegalAnnotationSafeVarargs in class BodyDecl
Source
Declared in /home/jesper/git/extendj/java7/frontend/SafeVarargs.jrag at line 73
Aspect
SafeVarargs
@ASTNodeAnnotation.Attribute
syn boolean suppressWarnings(java.lang.String type)
Source
Declared in /home/jesper/git/extendj/java7/frontend/SuppressWarnings.jrag at line 46
Aspect
SuppressWarnings
@ASTNodeAnnotation.Attribute
syn boolean modifiedInScope(org.extendj.ast.Variable var)
Overrides:modifiedInScope in class BodyDecl
Source
Declared in /home/jesper/git/extendj/java8/frontend/EffectivelyFinal.jrag at line 40
Aspect
PreciseRethrow
Source
Declared in /home/jesper/git/extendj/java8/frontend/FunctionalInterface.jrag at line 62
Aspect
FunctionalInterface
Source
Declared in /home/jesper/git/extendj/java8/frontend/FunctionalInterface.jrag at line 86
Aspect
FunctionalInterface
Source
Declared in /home/jesper/git/extendj/java8/frontend/Modifiers.jrag at line 31
Aspect
Modifiers
Source
Declared in /home/jesper/git/extendj/java4/frontend/ExceptionHandling.jrag at line 84
Aspect
ExceptionHandling
Source
Declared in /home/jesper/git/extendj/java4/frontend/LookupMethod.jrag at line 36
Aspect
LookupMethod
@ASTNodeAnnotation.Attribute
inh boolean withinSuppressWarnings(java.lang.String annot)
Overrides:withinSuppressWarnings in class BodyDecl
Source
Declared in /home/jesper/git/extendj/java7/frontend/SuppressWarnings.jrag at line 39
Aspect
SuppressWarnings

Methods

Source
Declared in /home/jesper/git/extendj/java4/frontend/BoundNames.jrag at line 97
Aspect
BoundNames
public org.extendj.ast.SimpleSet add(java.lang.Object o)
Source
Declared in /home/jesper/git/extendj/java4/frontend/DataStructures.jrag at line 177
Aspect
DataStructures
public boolean isSingleton()
Source
Declared in /home/jesper/git/extendj/java4/frontend/DataStructures.jrag at line 181
Aspect
DataStructures
public boolean isSingleton(java.lang.Object o)
Source
Declared in /home/jesper/git/extendj/java4/frontend/DataStructures.jrag at line 182
Aspect
DataStructures
public java.util.Iterator iterator()
Specified by:iterator in interface java.lang.Iterable<ASTNode>Overrides:iterator in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/DataStructures.jrag at line 186
Aspect
DataStructures
public boolean hasNext()
Specified by:hasNext in interface java.util.Iterator
Source
Declared in /home/jesper/git/extendj/java4/frontend/DataStructures.jrag at line 187
Aspect
DataStructures
public java.lang.Object next()
Specified by:next in interface java.util.Iterator
Source
Declared in /home/jesper/git/extendj/java4/frontend/DataStructures.jrag at line 188
Aspect
DataStructures
public void remove()
Specified by:remove in interface java.util.Iterator
Source
Declared in /home/jesper/git/extendj/java4/frontend/DataStructures.jrag at line 189
Aspect
DataStructures
public void nameCheck()
Overrides:nameCheck in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/NameCheck.jrag at line 131
Aspect
NameCheck
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 66
Aspect
Java4PrettyPrint
public void typeCheck()
Overrides:typeCheck in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/TypeCheck.jrag at line 453
Aspect
TypeCheck
public void emitInvokeMethod(org.extendj.ast.CodeGeneration gen,
                             TypeDecl hostType)
Source
Declared in /home/jesper/git/extendj/java4/backend/CodeGeneration.jrag at line 504
Aspect
CodeGeneration
public void emitInvokeSpecialMethod(org.extendj.ast.CodeGeneration gen,
                                    TypeDecl hostType)
Source
Declared in /home/jesper/git/extendj/java4/backend/CodeGeneration.jrag at line 535
Aspect
CodeGeneration
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 160
Aspect
CreateBCode
public void generateMethod(java.io.DataOutputStream out,
                           ConstantPool cp)
                    throws java.io.IOException
Overrides:generateMethod in class BodyDecl
Throws:
java.io.IOException
Source
Declared in /home/jesper/git/extendj/java4/backend/GenerateClassfile.jrag at line 283
Aspect
GenerateClassfile
public void touchMethod(ConstantPool cp)
Overrides:touchMethod in class BodyDecl
Source
Declared in /home/jesper/git/extendj/java4/backend/GenerateClassfile.jrag at line 305
Aspect
GenerateClassfile
public boolean clear()
Overrides:clear in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/backend/GenerateClassfile.jrag at line 420
Aspect
GenerateClassfile
public MethodDecl createAccessor(TypeDecl methodQualifier)
Source
Declared in /home/jesper/git/extendj/java4/backend/InnerClasses.jrag at line 240
Aspect
InnerClasses
public MethodDecl createSuperAccessor(TypeDecl methodQualifier)
Source
Declared in /home/jesper/git/extendj/java4/backend/InnerClasses.jrag at line 305
Aspect
InnerClasses
public BodyDecl substitutedBodyDecl(org.extendj.ast.Parameterization parTypeDecl)
Overrides:substitutedBodyDecl in class BodyDecl
Source
Declared in /home/jesper/git/extendj/java5/frontend/Generics.jrag at line 1365
Aspect
LookupParTypeDecl
public Opt substituteBody(org.extendj.ast.Parameterization parTypeDecl)
Source
Declared in /home/jesper/git/extendj/java5/frontend/Generics.jrag at line 1378
Aspect
LookupParTypeDecl
public void addRuntimeVisibleParameterAnnotationsAttribute(java.util.Collection c)
Source
Declared in /home/jesper/git/extendj/java5/backend/AnnotationsCodegen.jrag at line 110
Aspect
AnnotationsCodegen
public void addRuntimeInvisibleParameterAnnotationsAttribute(java.util.Collection c)
Source
Declared in /home/jesper/git/extendj/java5/backend/AnnotationsCodegen.jrag at line 136
Aspect
AnnotationsCodegen
public void transformation()
Overrides:transformation in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java5/backend/GenericsCodegen.jrag at line 238
Aspect
GenericsCodegen
public void checkWarnings()
Check if the method is missing a SafeVarargs annotation.
Overrides:checkWarnings in class BodyDecl
Source
Declared in /home/jesper/git/extendj/java7/frontend/SafeVarargs.jrag at line 117
Aspect
SafeVarargs
public boolean subtypeThrowsClause(Access exception)
Checks that the argument exception is a subtype to all exceptions in the methods throws-clause. This takes the position of the type parameters into account.
Source
Declared in /home/jesper/git/extendj/java8/frontend/FunctionDescriptor.jrag at line 209
Aspect
FunctionDescriptor
public boolean subtypeThrowsClauseErased(Access exception)
Checks that the argument exception is a subtype to all exceptions in the methods throws-clause. Performs erasure on all types before comparing them.
Source
Declared in /home/jesper/git/extendj/java8/frontend/FunctionDescriptor.jrag at line 225
Aspect
FunctionDescriptor
public void init$Children()
Initializes the child array to the correct size. Initializes List and Opt nta children.
Overrides:init$Children in class MemberDecl
Source
Declared in /home/jesper/git/extendj/ASTNode at line 10
protected int numChildren()
Overrides:numChildren in class MemberDecl
Source
Declared in /home/jesper/git/extendj/ASTNode at line 35
public boolean mayHaveRewrite()
Overrides:mayHaveRewrite in class MemberDecl
Source
Declared in /home/jesper/git/extendj/ASTNode at line 41
public void flushAttrCache()
Overrides:flushAttrCache in class MemberDecl
Source
Declared in /home/jesper/git/extendj/ASTNode at line 47
public void flushCollectionCache()
Overrides:flushCollectionCache in class MemberDecl
Source
Declared in /home/jesper/git/extendj/ASTNode at line 75
public void flushRewriteCache()
Overrides:flushRewriteCache in class MemberDecl
Source
Declared in /home/jesper/git/extendj/ASTNode at line 81
public MethodDecl clone()
                 throws java.lang.CloneNotSupportedException
Overrides:clone in class MemberDecl
Throws:
java.lang.CloneNotSupportedException
Source
Declared in /home/jesper/git/extendj/ASTNode at line 87
public MethodDecl copy()
Overrides:copy in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/ASTNode at line 94
@Deprecated
public MethodDecl 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 MemberDecl
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 113
public MethodDecl 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 MemberDecl
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 123
public MethodDecl 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 MemberDecl
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 143
protected boolean is$Equal(ASTNode node)
Overrides:is$Equal in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/ASTNode at line 150
public void setModifiers(Modifiers node)
Replaces the Modifiers child.
Parameters:
node - The new node to replace the Modifiers child.
Retrieves the Modifiers child.
Returns:
The current node used as the Modifiers child.
Retrieves the Modifiers child.

This method does not invoke AST transformations.

Returns:
The current node used as the Modifiers child.
public void setTypeAccess(Access node)
Replaces the TypeAccess child.
Parameters:
node - The new node to replace the TypeAccess child.
Retrieves the TypeAccess child.
Returns:
The current node used as the TypeAccess child.
Retrieves the TypeAccess child.

This method does not invoke AST transformations.

Returns:
The current node used as the TypeAccess child.
public void setID(java.lang.String value)
Replaces the lexeme ID.
Parameters:
value - The new value for the lexeme ID.
public void setID(beaver.Symbol symbol)
JastAdd-internal setter for lexeme ID using the Beaver parser.
Parameters:
symbol - Symbol containing the new value for the lexeme ID
@ASTNodeAnnotation.Token(name="ID")
public java.lang.String getID()
Retrieves the value for the lexeme ID.
Returns:
The value for the lexeme ID.
Replaces the Parameter list.
Parameters:
list - The new list node to be used as the Parameter list.
public int getNumParameter()
Retrieves the number of children in the Parameter list.
Returns:
Number of children in the Parameter list.
Retrieves the number of children in the Parameter list. Calling this method will not trigger rewrites.
Returns:
Number of children in the Parameter list.
Retrieves the element at index i in the Parameter list.
Parameters:
i - Index of the element to return.
Returns:
The element at position i in the Parameter list.
public boolean hasParameter()
Check whether the Parameter list has any children.
Returns:
true if it has at least one child, false otherwise.
Append an element to the Parameter list.
Parameters:
node - The element to append to the Parameter list.
public void setParameter(ParameterDeclaration node,
                         int i)
Replaces the Parameter 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.
Retrieves the Parameter list.
Returns:
The node representing the Parameter list.
Retrieves the Parameter list.

This method does not invoke AST transformations.

Returns:
The node representing the Parameter list.
Retrieves the Parameter list.
Returns:
The node representing the Parameter list.
Retrieves the Parameter list.

This method does not invoke AST transformations.

Returns:
The node representing the Parameter list.
public void setExceptionList(List<Access> list)
Replaces the Exception list.
Parameters:
list - The new list node to be used as the Exception list.
public int getNumException()
Retrieves the number of children in the Exception list.
Returns:
Number of children in the Exception list.
Retrieves the number of children in the Exception list. Calling this method will not trigger rewrites.
Returns:
Number of children in the Exception list.
public Access getException(int i)
Retrieves the element at index i in the Exception list.
Parameters:
i - Index of the element to return.
Returns:
The element at position i in the Exception list.
public boolean hasException()
Check whether the Exception list has any children.
Returns:
true if it has at least one child, false otherwise.
public void addException(Access node)
Append an element to the Exception list.
Parameters:
node - The element to append to the Exception list.
public void addExceptionNoTransform(Access node)
public void setException(Access node,
                         int i)
Replaces the Exception 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.
Retrieves the Exception list.
Returns:
The node representing the Exception list.
Retrieves the Exception list.

This method does not invoke AST transformations.

Returns:
The node representing the Exception list.
Retrieves the Exception list.
Returns:
The node representing the Exception list.
Retrieves the Exception list.

This method does not invoke AST transformations.

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

This method does not invoke AST transformations.

Returns:
The optional node for child Block.
Source
Declared in /home/jesper/git/extendj/java5/frontend/Enums.jrag at line 768
Aspect
Enums
public void checkModifiers()
Overrides:checkModifiers in class MemberDecl
Source
Declared in /home/jesper/git/extendj/java8/frontend/Modifiers.jrag at line 40
Aspect
Modifiers
public boolean Define_isDAbefore(ASTNode caller,
                                 ASTNode child,
                                 org.extendj.ast.Variable v)
Overrides:Define_isDAbefore in class BodyDecl
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 BodyDecl
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 boolean Define_handlesException(ASTNode caller,
                                       ASTNode child,
                                       TypeDecl exceptionType)
Overrides:Define_handlesException in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java7/frontend/TryWithResources.jrag at line 113
protected boolean canDefine_handlesException(ASTNode caller,
                                             ASTNode child,
                                             TypeDecl exceptionType)
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 boolean Define_mayBePublic(ASTNode caller,
                                  ASTNode child)
Overrides:Define_mayBePublic in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/Modifiers.jrag at line 419
protected boolean canDefine_mayBePublic(ASTNode caller,
                                        ASTNode child)
public boolean Define_mayBeProtected(ASTNode caller,
                                     ASTNode child)
Overrides:Define_mayBeProtected in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/Modifiers.jrag at line 421
protected boolean canDefine_mayBeProtected(ASTNode caller,
                                           ASTNode child)
public boolean Define_mayBePrivate(ASTNode caller,
                                   ASTNode child)
Overrides:Define_mayBePrivate in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/Modifiers.jrag at line 420
protected boolean canDefine_mayBePrivate(ASTNode caller,
                                         ASTNode child)
public boolean Define_mayBeAbstract(ASTNode caller,
                                    ASTNode child)
Overrides:Define_mayBeAbstract in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/Modifiers.jrag at line 424
protected boolean canDefine_mayBeAbstract(ASTNode caller,
                                          ASTNode child)
public boolean Define_mayBeStatic(ASTNode caller,
                                  ASTNode child)
Overrides:Define_mayBeStatic in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/Modifiers.jrag at line 422
protected boolean canDefine_mayBeStatic(ASTNode caller,
                                        ASTNode child)
public boolean Define_mayBeFinal(ASTNode caller,
                                 ASTNode child)
Overrides:Define_mayBeFinal in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/Modifiers.jrag at line 423
protected boolean canDefine_mayBeFinal(ASTNode caller,
                                       ASTNode child)
public boolean Define_mayBeSynchronized(ASTNode caller,
                                        ASTNode child)
Overrides:Define_mayBeSynchronized in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/Modifiers.jrag at line 428
protected boolean canDefine_mayBeSynchronized(ASTNode caller,
                                              ASTNode child)
public boolean Define_mayBeNative(ASTNode caller,
                                  ASTNode child)
Overrides:Define_mayBeNative in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/Modifiers.jrag at line 429
protected boolean canDefine_mayBeNative(ASTNode caller,
                                        ASTNode child)
public boolean Define_mayBeStrictfp(ASTNode caller,
                                    ASTNode child)
Overrides:Define_mayBeStrictfp in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/Modifiers.jrag at line 427
protected boolean canDefine_mayBeStrictfp(ASTNode caller,
                                          ASTNode child)
Overrides:Define_enclosingBlock in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/NameCheck.jrag at line 310
protected boolean canDefine_enclosingBlock(ASTNode caller,
                                           ASTNode child)
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)
public TypeDecl Define_returnType(ASTNode caller,
                                  ASTNode child)
Overrides:Define_returnType in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/TypeCheck.jrag at line 472
protected boolean canDefine_returnType(ASTNode caller,
                                       ASTNode child)
public boolean Define_inStaticContext(ASTNode caller,
                                      ASTNode child)
Overrides:Define_inStaticContext in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/TypeHierarchyCheck.jrag at line 182
protected boolean canDefine_inStaticContext(ASTNode caller,
                                            ASTNode child)
public boolean Define_reachable(ASTNode caller,
                                ASTNode child)
Overrides:Define_reachable in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/frontend/UnreachableStatements.jrag at line 52
protected boolean canDefine_reachable(ASTNode caller,
                                      ASTNode child)
public boolean Define_isMethodParameter(ASTNode caller,
                                        ASTNode child)
Overrides:Define_isMethodParameter in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java7/frontend/MultiCatch.jrag at line 44
protected boolean canDefine_isMethodParameter(ASTNode caller,
                                              ASTNode child)
public boolean Define_isConstructorParameter(ASTNode caller,
                                             ASTNode child)
Overrides:Define_isConstructorParameter in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java7/frontend/MultiCatch.jrag at line 45
protected boolean canDefine_isConstructorParameter(ASTNode caller,
                                                   ASTNode child)
public boolean Define_isExceptionHandlerParameter(ASTNode caller,
                                                  ASTNode child)
Overrides:Define_isExceptionHandlerParameter in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java7/frontend/MultiCatch.jrag at line 46
protected boolean canDefine_isExceptionHandlerParameter(ASTNode caller,
                                                        ASTNode child)
public int Define_localNum(ASTNode caller,
                           ASTNode child)
Overrides:Define_localNum in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java7/backend/MultiCatch.jrag at line 64
protected boolean canDefine_localNum(ASTNode caller,
                                     ASTNode child)
public int Define_resultSaveLocalNum(ASTNode caller,
                                     ASTNode child)
Overrides:Define_resultSaveLocalNum in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java4/backend/LocalNum.jrag at line 101
protected boolean canDefine_resultSaveLocalNum(ASTNode caller,
                                               ASTNode child)
public boolean Define_mayUseAnnotationTarget(ASTNode caller,
                                             ASTNode child,
                                             java.lang.String name)
Overrides:Define_mayUseAnnotationTarget in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java5/frontend/Annotations.jrag at line 96
protected boolean canDefine_mayUseAnnotationTarget(ASTNode caller,
                                                   ASTNode child,
                                                   java.lang.String name)
public boolean Define_variableArityValid(ASTNode caller,
                                         ASTNode child)
Overrides:Define_variableArityValid in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java5/frontend/VariableArityParameters.jrag at line 48
protected boolean canDefine_variableArityValid(ASTNode caller,
                                               ASTNode child)
public boolean Define_inhModifiedInScope(ASTNode caller,
                                         ASTNode child,
                                         org.extendj.ast.Variable var)
Overrides:Define_inhModifiedInScope in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java8/frontend/EffectivelyFinal.jrag at line 30
protected boolean canDefine_inhModifiedInScope(ASTNode caller,
                                               ASTNode child,
                                               org.extendj.ast.Variable var)
public boolean Define_isCatchParam(ASTNode caller,
                                   ASTNode child)
Overrides:Define_isCatchParam in class ASTNode<ASTNode>
Source
Declared in /home/jesper/git/extendj/java7/frontend/PreciseRethrow.jrag at line 206
protected boolean canDefine_isCatchParam(ASTNode caller,
                                         ASTNode child)
Overrides:rewriteTo in class MemberDecl
public int size()
public boolean isEmpty()
public boolean contains(java.lang.Object o)

Fields

protected java.lang.String tokenString_ID
public int IDstart
public int IDend
protected java.util.Map accessibleFrom_TypeDecl_values
protected java.util.Map throwsException_TypeDecl_values
protected boolean signature_computed
protected java.lang.String signature_value
protected java.util.Map lessSpecificThan_MethodDecl_values
protected java.util.Map overrideCandidate_MethodDecl_values
protected java.util.Map overrides_MethodDecl_values
protected java.util.Map hides_MethodDecl_values
protected java.util.Map parameterDeclaration_String_values
protected boolean type_computed
protected boolean attributes_computed
protected java.util.Collection attributes_value
protected boolean descName_computed
protected java.lang.String descName_value
protected java.util.Map bytecodes_ConstantPool_values
protected boolean flags_computed
protected int flags_value
protected boolean resultOffset_computed
protected int resultOffset_value
protected boolean usesTypeVariable_computed
protected boolean usesTypeVariable_value
protected boolean sourceMethodDecl_computed
protected java.util.Map subsignatureTo_MethodDecl_values
protected boolean isDefault_computed
protected boolean isDefault_value
protected java.util.Map handlesException_TypeDecl_values
public static final org.extendj.ast.SimpleSet emptySet
public static final org.extendj.ast.SimpleSet fullSet

Inherited Members

Attributes inherited from org.extendj.ast.MemberDecl

Attributes inherited from org.extendj.ast.BodyDecl

Attributes inherited from org.extendj.ast.ASTNode

Methods inherited from class org.extendj.ast.BodyDecl

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

Fields inherited from org.extendj.ast.ASTNode

Fields inherited from beaver.Symbol

end
id
start
value