public class Verifier extends Object
Verifies the AST node and adds any defaulted AST code before bytecode generation occurs.
| Modifiers | Name | Description |
|---|---|---|
interface |
Verifier.DefaultArgsAction |
Creates a new helper method for each combination of default parameter expressions |
| Modifiers | Name | Description |
|---|---|---|
static String |
INITIAL_EXPRESSION |
|
static String |
STATIC_METACLASS_BOOL |
|
static String |
SWAP_INIT |
|
static String |
__TIMESTAMP |
|
static String |
__TIMESTAMP__ |
| Type | Name and description |
|---|---|
protected void |
addClosureCode(InnerClassNode node) |
protected void |
addConstructor(Parameter[] newParams, ConstructorNode ctor, Statement code, ClassNode node) |
protected void |
addCovariantMethods(ClassNode classNode) |
protected void |
addDefaultConstructor(ClassNode node) |
protected void |
addDefaultParameterConstructors(ClassNode node)Creates a new helper method for each combination of default parameter expressions |
protected void |
addDefaultParameterMethods(ClassNode node) |
protected void |
addDefaultParameters(List methods, Verifier.DefaultArgsAction action) |
protected void |
addDefaultParameters(Verifier.DefaultArgsAction action, MethodNode method) |
protected void |
addFieldInitialization(List list, List staticList, FieldNode fieldNode, boolean isEnumClassNode, List initStmtsAfterEnumValuesInit, Set explicitStaticPropsInEnum) |
protected void |
addGroovyObjectInterfaceAndMethods(ClassNode node, String classInternalName) |
protected void |
addInitialization(ClassNode node) |
protected void |
addInitialization(ClassNode node, ConstructorNode constructorNode) |
protected void |
addMethod(ClassNode node, boolean shouldBeSynthetic, String name, int modifiers, ClassNode returnType, Parameter[] parameters, ClassNode[] exceptions, Statement code)the code is: if (this.metaClass==null) { this.metaClass = this. |
protected void |
addPropertyMethod(MethodNode method) |
protected void |
addReturnIfNeeded(MethodNode node) |
protected void |
addTimeStamp(ClassNode node) |
static String |
capitalize(String name)Capitalizes the start of the given bean property name |
protected Statement |
createGetterBlock(PropertyNode propertyNode, FieldNode field) |
protected Statement |
createSetterBlock(PropertyNode propertyNode, FieldNode field) |
ClassNode |
getClassNode() |
MethodNode |
getMethodNode() |
static long |
getTimestamp(Class clazz) |
static ConstantExpression |
transformToPrimitiveConstantIfPossible(ConstantExpression constantExpression) |
void |
visitClass(ClassNode node)add code to implement GroovyObject |
void |
visitConstructor(ConstructorNode node) |
void |
visitField(FieldNode node) |
void |
visitGenericType(GenericsType genericsType) |
void |
visitMethod(MethodNode node) |
void |
visitProperty(PropertyNode node) |
Creates a new helper method for each combination of default parameter expressions
the code is: if (this.metaClass==null) { this.metaClass = this.$getStaticMetaClass return this.metaClass } else { return this.metaClass } with the optimization that the result of the first this.metaClass is duped on the operand stack and reused for the return in the else part
add code to implement GroovyObject