Package org.codehaus.groovy.classgen

# Class EnumCompletionVisitor

java.lang.Object
org.codehaus.groovy.ast.CodeVisitorSupport
org.codehaus.groovy.ast.ClassCodeVisitorSupport
org.codehaus.groovy.classgen.EnumCompletionVisitor

All Implemented Interfaces:
  `GroovyClassVisitor`, `GroovyCodeVisitor`

public class EnumCompletionVisitor extends ClassCodeVisitorSupport
Enums have a parent constructor with two arguments from java.lang.Enum. This visitor adds those two arguments into manually created constructors and performs the necessary super call.

## Constructor Summary

Constructors
Constructor
Description
`EnumCompletionVisitor(CompilationUnit cu, SourceUnit su)`

## Method Summary

Modifier and Type
Method
Description
`static void`
`addMapConstructors(ClassNode enumClass, boolean hasNoArg)`
`protected SourceUnit`
`getSourceUnit()`
`void`
`visitClass(ClassNode node)`
Visit a ClassNode.

### Methods inherited from class org.codehaus.groovy.ast.ClassCodeVisitorSupport

`addError, visitAnnotations, visitAssertStatement, visitBlockStatement, visitBreakStatement, visitCaseStatement, visitCatchStatement, visitClassCodeContainer, visitConstructor, visitConstructorOrMethod, visitContinueStatement, visitDeclarationExpression, visitDoWhileLoop, visitExpressionStatement, visitField, visitForLoop, visitIfElse, visitImports, visitMethod, visitObjectInitializerStatements, visitPackage, visitProperty, visitReturnStatement, visitStatement, visitSwitch, visitSynchronizedStatement, visitThrowStatement, visitTryCatchFinally, visitWhileLoop`

### Methods inherited from class org.codehaus.groovy.ast.CodeVisitorSupport

`visitArgumentlistExpression, visitArrayExpression, visitAttributeExpression, visitBinaryExpression, visitBitwiseNegationExpression, visitBooleanExpression, visitBytecodeExpression, visitCastExpression, visitClassExpression, visitClosureExpression, visitClosureListExpression, visitConstantExpression, visitConstructorCallExpression, visitEmptyStatement, visitFieldExpression, visitGStringExpression, visitListExpression, visitListOfExpressions, visitMapEntryExpression, visitMapExpression, visitMethodCallExpression, visitMethodPointerExpression, visitNotExpression, visitPostfixExpression, visitPrefixExpression, visitPropertyExpression, visitRangeExpression, visitShortTernaryExpression, visitSpreadExpression, visitSpreadMapExpression, visitStaticMethodCallExpression, visitTernaryExpression, visitTupleExpression, visitUnaryMinusExpression, visitUnaryPlusExpression, visitVariableExpression`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### EnumCompletionVisitor

public EnumCompletionVisitor(CompilationUnit cu, SourceUnit su)

## Method Details

### visitClass

public void visitClass(ClassNode node)
Description copied from interface: `GroovyClassVisitor`
Visit a ClassNode.

Specified by:
  `visitClass` in interface `GroovyClassVisitor`
Overrides:
  `visitClass` in class `ClassCodeVisitorSupport`

### getSourceUnit

protected SourceUnit getSourceUnit()

Specified by:
  `getSourceUnit` in class `ClassCodeVisitorSupport`

### addMapConstructors

public static void addMapConstructors(ClassNode enumClass, boolean hasNoArg)