class TagAST extends AST {
	private final String name;

	/**
	 * @param line
	 * 		Line number this node is written on.
	 * @param start
	 * 		Offset from line start this node starts at.
	 * @param name
	 * 		Tag display name.
	 */
	public TagAST(int line, int start, String name) {
		super(line, start);
		this.name = name;
	}

	/**
	 * @return Opcode display name.
	 */
	public String getName() {
		return name;
	}

	/**
	 * @return Opcode value.
	 */
	public int getTag() {
		return OpcodeUtil.nameToTag(getName());
	}

	/**
	 * @return {@code true} if the tag is for a field reference.
	 */
	public boolean isField() {<FILL_FUNCTION_BODY>}

	/**
	 * @return {@code true} if the tag is for a method reference.
	 */
	public boolean isMethod() {
		return !isField();
	}

	@Override
	public String print() {
		return name;
	}
}

		int tag = getTag();
		return tag >= Opcodes.H_GETFIELD && tag <= Opcodes.H_PUTSTATIC;
	
<methods>public void <init>(int, int) ,public void addChild(me.coley.recaf.parse.bytecode.ast.AST) ,public List<me.coley.recaf.parse.bytecode.ast.AST> getChildren() ,public int getLine() ,public me.coley.recaf.parse.bytecode.ast.AST getNext() ,public me.coley.recaf.parse.bytecode.ast.AST getParent() ,public me.coley.recaf.parse.bytecode.ast.AST getPrev() ,public int getStart() ,public abstract java.lang.String print() ,public List<T> search(Class<T>) ,public void setNext(me.coley.recaf.parse.bytecode.ast.AST) ,public void setParent(me.coley.recaf.parse.bytecode.ast.AST) ,public void setPrev(me.coley.recaf.parse.bytecode.ast.AST) ,public java.lang.String toString() <variables>private final List<me.coley.recaf.parse.bytecode.ast.AST> children,private final non-sealed int line,private me.coley.recaf.parse.bytecode.ast.AST next,private me.coley.recaf.parse.bytecode.ast.AST parent,private me.coley.recaf.parse.bytecode.ast.AST prev,private final non-sealed int start