AST tmp798_AST_in = (AST)_t;
AST tmp808_AST_in = (AST)_t;
	public final void classstate(AST _t) throws RecognitionException {				AST classstate_AST_in = (_t == ASTNULL) ? null : (AST)_t;		AST c = null;				AST __t214 = _t;		c = _t==ASTNULL ? null :(AST)_t;		match(_t,CLASS);		_t = _t.getFirstChild();		if ( inputState.guessing==0 ) {			action.classState(c);		}		AST tmp793_AST_in = (AST)_t;		match(_t,TYPE_NAME);		_t = _t.getNextSibling();		{		if (_t==null) _t=ASTNULL;		switch ( _t.getType()) {		case INHERITS:		{			AST __t216 = _t;			AST tmp794_AST_in = (AST)_t;			match(_t,INHERITS);			_t = _t.getFirstChild();			AST tmp795_AST_in = (AST)_t;			match(_t,TYPE_NAME);			_t = _t.getNextSibling();			_t = __t216;			_t = _t.getNextSibling();			break;		}		case PERIOD:		case LEXCOLON:		case FINAL:		case IMPLEMENTS:		{			break;		}		default:		{			throw new NoViableAltException(_t);		}		}		}		{		if (_t==null) _t=ASTNULL;		switch ( _t.getType()) {		case IMPLEMENTS:		{			AST __t218 = _t;			AST tmp796_AST_in = (AST)_t;			match(_t,IMPLEMENTS);			_t = _t.getFirstChild();			AST tmp797_AST_in = (AST)_t;			match(_t,TYPE_NAME);			_t = _t.getNextSibling();			{			_loop220:			do {				if (_t==null) _t=ASTNULL;				if ((_t.getType()==COMMA)) {					AST tmp798_AST_in = (AST)_t;					match(_t,COMMA);					_t = _t.getNextSibling();					AST tmp799_AST_in = (AST)_t;					match(_t,TYPE_NAME);					_t = _t.getNextSibling();				}				else {					break _loop220;				}							} while (true);			}			_t = __t218;			_t = _t.getNextSibling();			break;		}		case PERIOD:		case LEXCOLON:		case FINAL:		{			break;		}		default:		{			throw new NoViableAltException(_t);		}		}		}		{		if (_t==null) _t=ASTNULL;		switch ( _t.getType()) {		case FINAL:		{			AST tmp800_AST_in = (AST)_t;			match(_t,FINAL);			_t = _t.getNextSibling();			break;		}		case PERIOD:		case LEXCOLON:		{			break;		}		default:		{			throw new NoViableAltException(_t);		}		}		}		block_colon(_t);		_t = _retTree;		code_block(_t);		_t = _retTree;		AST __t222 = _t;		AST tmp801_AST_in = (AST)_t;		match(_t,END);		_t = _t.getFirstChild();		{		if (_t==null) _t=ASTNULL;		switch ( _t.getType()) {		case CLASS:		{			AST tmp802_AST_in = (AST)_t;			match(_t,CLASS);			_t = _t.getNextSibling();			break;		}		case 3:		{			break;		}		default:		{			throw new NoViableAltException(_t);		}		}		}		_t = __t222;		_t = _t.getNextSibling();		state_end(_t);		_t = _retTree;		_t = __t214;		_t = _t.getNextSibling();		_retTree = _t;	}