Class MethodGenerator
java.lang.Object
org.glassfish.pfl.dynamic.codegen.impl.MemberInfoBase
org.glassfish.pfl.dynamic.codegen.impl.MethodInfoBase
org.glassfish.pfl.dynamic.codegen.impl.MethodGenerator
- All Implemented Interfaces:
AttributedObject
,Node
,MemberInfo
,MethodInfo
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate boolean
private BlockStatement
private boolean
private Node
Fields inherited from class org.glassfish.pfl.dynamic.codegen.impl.MethodInfoBase
arguments, exceptions, rtype
-
Constructor Summary
ConstructorsConstructorDescriptionMethodGenerator
(ClassGeneratorImpl parent, int modifiers, List<Type> exceptions) Construct a MethodGenerator that represents a constructor.MethodGenerator
(ClassGeneratorImpl parent, int modifiers, Type rtype, String name, List<Type> exceptions) Construct a MethodGenerator that represents a method. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Accept the visitor and allow it to perform actions on this Node.addArgument
(Type type, String ident) void
Internal method for dynamic attribute support.body()
<T extends Node>
TMake a deep copy of this node.<T extends Node>
TCopy setting a new parent in the result.get
(int index) Internal method for dynamic attribute support.<T extends Node>
TgetAncestor
(Class<T> type) Return the first ancestor of this node of the given type, if any.int
hashCode()
int
id()
Return the unique ID of this node.boolean
Returns true if this is a constructor, false if method.parent()
Return the Node that contains (and created) this Node.void
Set the parent to a new value.void
Internal method for dynamic attribute support.Methods inherited from class org.glassfish.pfl.dynamic.codegen.impl.MethodInfoBase
arguments, clearHashCode, equals, exceptions, getConstructor, getMethod, returnType, signature
Methods inherited from class org.glassfish.pfl.dynamic.codegen.impl.MemberInfoBase
isAccessibleInContext, modifiers, myClassInfo, name, toString
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.glassfish.pfl.dynamic.codegen.spi.MemberInfo
isAccessibleInContext, modifiers, myClassInfo, name
-
Field Details
-
nodeImpl
-
isConstructor
private boolean isConstructor -
argsComplete
private boolean argsComplete -
body
-
-
Constructor Details
-
MethodGenerator
MethodGenerator(ClassGeneratorImpl parent, int modifiers, List<Type> exceptions) Construct a MethodGenerator that represents a constructor. -
MethodGenerator
MethodGenerator(ClassGeneratorImpl parent, int modifiers, Type rtype, String name, List<Type> exceptions) Construct a MethodGenerator that represents a method.
-
-
Method Details
-
body
-
parent
Description copied from interface:Node
Return the Node that contains (and created) this Node. -
id
public int id()Description copied from interface:Node
Return the unique ID of this node. This starts at 1 and is incremented for each new Node that is created. -
parent
Description copied from interface:Node
Set the parent to a new value. Should only be called inside NodeBase. -
getAncestor
Description copied from interface:Node
Return the first ancestor of this node of the given type, if any. Throws IllegalArgumentException if not found.- Specified by:
getAncestor
in interfaceNode
-
copy
Description copied from interface:Node
Make a deep copy of this node. If nn = n.copy(), then n.parent() == nn.parent(), which also means that the parent is NOT copied. -
copy
Description copied from interface:Node
Copy setting a new parent in the result. -
get
Description copied from interface:AttributedObject
Internal method for dynamic attribute support. Return the value of the attribute at index. If the attribute at index is not set, set it to the default value and return the default.- Specified by:
get
in interfaceAttributedObject
-
set
Description copied from interface:AttributedObject
Internal method for dynamic attribute support. Set the attribute at index to obj.- Specified by:
set
in interfaceAttributedObject
-
attributes
Description copied from interface:AttributedObject
Internal method for dynamic attribute support. Return all attributes for this node (may be null).- Specified by:
attributes
in interfaceAttributedObject
-
addArgument
-
isConstructor
public boolean isConstructor()Description copied from interface:MethodInfo
Returns true if this is a constructor, false if method.- Specified by:
isConstructor
in interfaceMethodInfo
- Overrides:
isConstructor
in classMethodInfoBase
-
argsComplete
public void argsComplete() -
hashCode
public int hashCode()- Overrides:
hashCode
in classMethodInfoBase
-
accept
Description copied from interface:Node
Accept the visitor and allow it to perform actions on this Node.
-