public class Verifier extends Object implements GroovyClassVisitor, org.objectweb.asm.Opcodes
Verifies the AST node and adds any default AST code before bytecode generation occurs.
Checks include:
| Modifiers | Name | Description | 
|---|---|---|
| interface | Verifier.DefaultArgsAction | 
| Modifiers | Name | Description | 
|---|---|---|
| static String | DEFAULT_PARAMETER_GENERATED | |
| static String | INITIAL_EXPRESSION | |
| static String | STATIC_METACLASS_BOOL | |
| static String | SWAP_INIT | |
| static String | __TIMESTAMP | |
| static String | __TIMESTAMP__ | 
| Type Params | Return Type | Name and description | 
|---|---|---|
|  | protected void | addClosureCode(InnerClassNode node) | 
|  | protected void | addConstructor(Parameter[] newParams, ConstructorNode ctor, Statement code, ClassNode type) | 
|  | protected void | addCovariantMethods(ClassNode classNode) | 
|  | protected void | addDefaultConstructor(ClassNode node) | 
|  | protected void | addDefaultParameterConstructors(ClassNode type)Creates a new constructor for each combination of default parameter expressions. | 
|  | protected void | addDefaultParameterMethods(ClassNode type)Creates a new method for each combination of default parameter expressions. | 
|  | protected void | addDefaultParameters(List<? extends MethodNode> methods, Verifier.DefaultArgsAction action)Creates a new helper method for each combination of default parameter expressions. | 
|  | 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 MethodNode | addMethod(ClassNode node, boolean shouldBeSynthetic, String name, int modifiers, ClassNode returnType, Parameter[] parameters, ClassNode[] exceptions, Statement code)Helper method to add a new method to a ClassNode. | 
|  | protected void | addMethod$$bridge(ClassNode node, boolean shouldBeSynthetic, String name, int modifiers, ClassNode returnType, Parameter[] parameters, ClassNode[] exceptions, Statement code) | 
|  | protected void | addPropertyMethod(MethodNode method) | 
|  | protected void | addReturnIfNeeded(MethodNode node) | 
|  | protected void | addTimeStamp(ClassNode node) | 
|  | public 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) | 
|  | public ClassNode | getClassNode() | 
|  | protected VariableNotFinalCallback | getFinalVariablesCallback() | 
|  | public MethodNode | getMethodNode() | 
|  | public static long | getTimestamp(Class<?> clazz) | 
|  | public static Long | getTimestampFromFieldName(String fieldName) | 
|  | protected void | setClassNode(ClassNode classNode) | 
|  | public static ConstantExpression | transformToPrimitiveConstantIfPossible(ConstantExpression constantExpression)When constant expressions are created, the value is always wrapped to a non-primitive type. | 
|  | public void | variableNotAlwaysInitialized(VariableExpression var) | 
|  | public void | variableNotFinal(Variable var, Expression bexp) | 
|  | public void | visit(org.objectweb.asm.MethodVisitor mv) | 
|  | public void | visit(org.objectweb.asm.MethodVisitor mv) | 
|  | public void | visit(org.objectweb.asm.MethodVisitor mv) | 
|  | public void | visit(org.objectweb.asm.MethodVisitor mv) | 
|  | public void | visit(org.objectweb.asm.MethodVisitor mv) | 
|  | public void | visit(org.objectweb.asm.MethodVisitor mv) | 
|  | public void | visit(org.objectweb.asm.MethodVisitor mv) | 
|  | public void | visitClass(ClassNode node) | 
|  | public void | visitClosureExpression(ClosureExpression expression) | 
|  | public void | visitClosureExpression(ClosureExpression ce) | 
|  | public void | visitClosureExpression(ClosureExpression e) | 
|  | public void | visitConstructor(ConstructorNode node) | 
|  | public void | visitConstructorCallExpression(ConstructorCallExpression cce) | 
|  | public void | visitConstructorCallExpression(ConstructorCallExpression call) | 
|  | public void | visitConstructorCallExpression(ConstructorCallExpression call) | 
|  | public void | visitField(FieldNode node) | 
|  | public void | visitGenericType(GenericsType genericsType) | 
|  | public void | visitMethod(MethodNode node) | 
|  | public void | visitMethodCallExpression(MethodCallExpression mce) | 
|  | public void | visitProperty(PropertyNode node) | 
|  | public void | visitReturnStatement(ReturnStatement statement) | 
|  | public void | visitVariableExpression(VariableExpression ve) | 
|  | public void | visitVariableExpression(VariableExpression e) | 
|  | public void | visitVariableExpression(VariableExpression e) | 
Creates a new constructor for each combination of default parameter expressions.
Creates a new method for each combination of default parameter expressions.
Creates a new helper method for each combination of default parameter expressions.
Helper method to add a new method to a ClassNode. Depending on the shouldBeSynthetic flag the call will either be made to ClassNode.addSyntheticMethod() or ClassNode.addMethod(). If a non-synthetic method is to be added the ACC_SYNTHETIC modifier is removed if it has been accidentally supplied.
When constant expressions are created, the value is always wrapped to a non-primitive type. Some constant expressions are optimized to return primitive types, but not all primitives are handled. This method guarantees to return a similar constant expression but with a primitive type instead of a boxed type.
Additionally, single char strings are converted to 'char' types.constantExpression -  a constant expression