class ArgParser extends AbstractParser<DefinitionArgAST> {
	@Override
	public DefinitionArgAST visit(int lineNo, String line) throws ASTParseException {<FILL_FUNCTION_BODY>}
}

		try {
			String trim = line.trim();
			if (!trim.matches(".+\\s+.+"))
				throw new IllegalStateException();
			int start = line.indexOf(trim);
			String[] split = trim.split("\\s+");
			String typeStr = split[0];
			String nameStr = split[1];
			DescParser descParser = new DescParser();
			descParser.setOffset(start);
			DescAST descAST = descParser.visit(lineNo, typeStr);
			NameParser nameParser = new NameParser(this);
			nameParser.setOffset(line.indexOf(nameStr));
			NameAST nameAST = nameParser.visit(lineNo, nameStr);
			return new DefinitionArgAST(lineNo, getOffset() + start, descAST, nameAST);
		} catch(Exception ex) {
			throw new ASTParseException(ex, lineNo, "Bad format for arg, expected \"<type> <name>\"");
		}
	
<methods>public void <init>() ,public void <init>(AbstractParser#RAW) ,public int getOffset() ,public void setOffset(int) ,public List<java.lang.String> suggest(ParseResult<me.coley.recaf.parse.bytecode.ast.RootAST>, java.lang.String) ,public abstract me.coley.recaf.parse.bytecode.ast.DefinitionArgAST visit(int, java.lang.String) throws me.coley.recaf.parse.bytecode.exception.ASTParseException<variables>private int offset,protected final non-sealed AbstractParser#RAW parent