/* * Copyright 2013 Guidewire Software, Inc. */ package gw.internal.gosu.parser.java.classinfo; import gw.internal.gosu.parser.java.IJavaASTNode; import gw.internal.gosu.parser.java.JavaASTConstants; import gw.lang.reflect.Modifier; import gw.lang.reflect.java.IJavaClassInfo; import gw.lang.reflect.java.IJavaClassType; public class JavaSourceEnumConstant extends JavaSourceField { public JavaSourceEnumConstant(IJavaASTNode fieldNode, JavaSourceType containingClass) { super(fieldNode, containingClass); } @Override public IJavaClassInfo getType() { if (_type == null) { _type = (IJavaClassInfo) _containingClass.getConcreteType(); } return _type; } @Override public IJavaClassType getGenericType() { if (_genericType == null) { _genericType = _containingClass; } return _genericType; } @Override public boolean isEnumConstant() { return true; } public IModifierList getModifierList() { if (_modifierList == null) { _modifierList = new JavaSourceModifierList(this, _fieldNode.getChildOfType(JavaASTConstants.annotations), Modifier.PUBLIC | Modifier.STATIC | Modifier.FINAL); } return _modifierList; } }