//Generated by lombok.ast.template.TemplateProcessor. DO NOT EDIT, DO NOT CHECK IN!

package lombok.ast;

public class KeywordModifier extends lombok.ast.AbstractNode implements lombok.ast.DescribedNode {
	private java.lang.String name = "";
	
	public Modifiers upToModifiers() {
		if (!(this.getParent() instanceof Modifiers)) return null;
		Modifiers out = (Modifiers)this.getParent();
		if (!out.rawKeywords().contains(this)) return null;
		return out;
	}
	
	
	public java.lang.String astName() {
		return this.name;
	}
	
	public lombok.ast.KeywordModifier astName(java.lang.String name) {
		this.name = name== null ? "" : name;
		return this;
	}
	
	@java.lang.Override public java.util.List<Node> getChildren() {
		java.util.List<Node> result = new java.util.ArrayList<Node>();
		return result;
	}
	
	@java.lang.Override public boolean replaceChild(Node original, Node replacement) throws lombok.ast.AstException {
		return false;
	}
	
	@java.lang.Override public boolean detach(Node child) {
		return false;
	}
	
	@java.lang.Override public void accept(lombok.ast.AstVisitor visitor) {
		if (visitor.visitKeywordModifier(this)) return;
		visitor.afterVisitKeywordModifier(this);
		visitor.endVisit(this);
	}
	
	@java.lang.Override public KeywordModifier copy() {
		KeywordModifier result = new KeywordModifier();
		result.name = this.name;
		return result;
	}
	
	public java.lang.String getDescription() {
		return lombok.ast.KeywordModifierTemplate.getDescription(this);
	}
	
	public int asReflectModifiers() {
		return lombok.ast.KeywordModifierTemplate.asReflectModifiers(this);
	}
	
	public static KeywordModifier fromReflectModifier(int modifierFlag) {
		return lombok.ast.KeywordModifierTemplate.fromReflectModifier(modifierFlag);
	}
	
	public static java.util.List<KeywordModifier> fromReflectModifiers(int modifierFlags) {
		return lombok.ast.KeywordModifierTemplate.fromReflectModifiers(modifierFlags);
	}
	
	public static KeywordModifier STATIC() {
		return lombok.ast.KeywordModifierTemplate.STATIC();
	}
	
	public static KeywordModifier PUBLIC() {
		return lombok.ast.KeywordModifierTemplate.PUBLIC();
	}
	
	public static KeywordModifier PROTECTED() {
		return lombok.ast.KeywordModifierTemplate.PROTECTED();
	}
	
	public static KeywordModifier PRIVATE() {
		return lombok.ast.KeywordModifierTemplate.PRIVATE();
	}
	
	public static KeywordModifier FINAL() {
		return lombok.ast.KeywordModifierTemplate.FINAL();
	}
	
}
