public final class ClassGeneratorImpl extends ClassInfoBase implements ClassGenerator, Node
Note: the hashCode of a ClassGeneratorImpl changes whenever a method, constructor, or field is added, so do not put ClassGenerators into sets or maps unless they are fully populated.
Modifier and Type | Method and Description |
---|---|
void |
accept(Visitor visitor)
Accept the visitor and allow it to perform actions on this Node.
|
FieldGenerator |
addField(int modifiers,
Type type,
String name) |
List<Object> |
attributes()
Internal method for dynamic attribute support.
|
Set<MethodInfo> |
constructorInfo() |
List<MethodGenerator> |
constructors() |
<T extends Node> |
copy(Class<T> cls)
Make a deep copy of this node.
|
<T extends Node> |
copy(Node newParent,
Class<T> cls)
Copy setting a new parent in the result.
|
List<FieldGenerator> |
fields() |
Object |
get(int index)
Internal method for dynamic attribute support.
|
<T extends Node> |
getAncestor(Class<T> type)
Return the first ancestor of this node of the given type, if any.
|
int |
id()
Return the unique ID of this node.
|
BlockStatement |
initializer() |
void |
methodComplete(MethodGenerator mg) |
List<MethodGenerator> |
methods() |
Node |
parent()
Return the Node that contains (and created) this Node.
|
void |
parent(Node node)
Set the parent to a new value.
|
void |
set(int index,
Object obj)
Internal method for dynamic attribute support.
|
MethodGenerator |
startConstructor(int modifiers,
List<Type> exceptions) |
MethodGenerator |
startMethod(int modifiers,
Type rtype,
String name,
List<Type> exceptions) |
addConstructorInfo, addFieldInfo, addMethodInfo, className, equals, fieldInfo, findConstructorInfo, findFieldInfo, findMethodInfo, hashCode, impls, initializeClass, initializeInterface, isInterface, isSubclass, methodInfoByName, modifiers, name, pkgName, superType, thisType, toString
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
name
className, fieldInfo, findConstructorInfo, findFieldInfo, findMethodInfo, impls, isInterface, isSubclass, methodInfoByName, modifiers, pkgName, superType, thisType
public Node parent()
Node
public int id()
Node
public void parent(Node node)
Node
public <T extends Node> T getAncestor(Class<T> type)
Node
getAncestor
in interface Node
public <T extends Node> T copy(Class<T> cls)
Node
public <T extends Node> T copy(Node newParent, Class<T> cls)
Node
public Object get(int index)
AttributedObject
get
in interface AttributedObject
public void set(int index, Object obj)
AttributedObject
set
in interface AttributedObject
public List<Object> attributes()
AttributedObject
attributes
in interface AttributedObject
public BlockStatement initializer()
public List<FieldGenerator> fields()
public List<MethodGenerator> methods()
public List<MethodGenerator> constructors()
public Set<MethodInfo> constructorInfo()
constructorInfo
in interface ClassInfo
constructorInfo
in class ClassInfoBase
public MethodGenerator startMethod(int modifiers, Type rtype, String name, List<Type> exceptions)
public MethodGenerator startConstructor(int modifiers, List<Type> exceptions)
public void methodComplete(MethodGenerator mg)
public FieldGenerator addField(int modifiers, Type type, String name)
Copyright © 2017 Oracle. All rights reserved.