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, toStringclone, finalize, getClass, notify, notifyAll, wait, wait, waitnameclassName, fieldInfo, findConstructorInfo, findFieldInfo, findMethodInfo, impls, isInterface, isSubclass, methodInfoByName, modifiers, pkgName, superType, thisTypepublic Node parent()
Nodepublic int id()
Nodepublic void parent(Node node)
Nodepublic <T extends Node> T getAncestor(Class<T> type)
NodegetAncestor in interface Nodepublic <T extends Node> T copy(Class<T> cls)
Nodepublic <T extends Node> T copy(Node newParent, Class<T> cls)
Nodepublic Object get(int index)
AttributedObjectget in interface AttributedObjectpublic void set(int index,
Object obj)
AttributedObjectset in interface AttributedObjectpublic List<Object> attributes()
AttributedObjectattributes in interface AttributedObjectpublic BlockStatement initializer()
public List<FieldGenerator> fields()
public List<MethodGenerator> methods()
public List<MethodGenerator> constructors()
public Set<MethodInfo> constructorInfo()
constructorInfo in interface ClassInfoconstructorInfo in class ClassInfoBasepublic 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.