_loop957:
_loop942:
	public final void methodstate(AST _t) throws RecognitionException {				AST methodstate_AST_in = (_t == ASTNULL) ? null : (AST)_t;		AST m = null;		AST id = null;				AST __t955 = _t;		m = _t==ASTNULL ? null :(AST)_t;		match(_t,METHOD);		_t = _t.getFirstChild();		{		_loop957:		do {			if (_t==null) _t=ASTNULL;			switch ( _t.getType()) {			case PRIVATE:			{				AST tmp1381_AST_in = (AST)_t;				match(_t,PRIVATE);				_t = _t.getNextSibling();				break;			}			case PROTECTED:			{				AST tmp1382_AST_in = (AST)_t;				match(_t,PROTECTED);				_t = _t.getNextSibling();				break;			}			case PUBLIC:			{				AST tmp1383_AST_in = (AST)_t;				match(_t,PUBLIC);				_t = _t.getNextSibling();				break;			}			case OVERRIDE:			{				AST tmp1384_AST_in = (AST)_t;				match(_t,OVERRIDE);				_t = _t.getNextSibling();				break;			}			case FINAL:			{				AST tmp1385_AST_in = (AST)_t;				match(_t,FINAL);				_t = _t.getNextSibling();				break;			}			default:			{				break _loop957;			}			}		} while (true);		}		{		if (_t==null) _t=ASTNULL;		switch ( _t.getType()) {		case VOID:		{			AST tmp1386_AST_in = (AST)_t;			match(_t,VOID);			_t = _t.getNextSibling();			break;		}		case CLASS:		{			AST tmp1387_AST_in = (AST)_t;			match(_t,CLASS);			_t = _t.getNextSibling();			AST tmp1388_AST_in = (AST)_t;			match(_t,TYPE_NAME);			_t = _t.getNextSibling();			break;		}		case CHARACTER:		case COMHANDLE:		case DATE:		case DECIMAL:		case HANDLE:		case INTEGER:		case LOGICAL:		case MEMPTR:		case RAW:		case RECID:		case ROWID:		case WIDGETHANDLE:		case DATETIME:		case DATETIMETZ:		case LONGCHAR:		case TYPE_NAME:		{			datatype_var(_t);			_t = _retTree;			break;		}		default:		{			throw new NoViableAltException(_t);		}		}		}		id = (AST)_t;		match(_t,ID);		_t = _t.getNextSibling();		if ( inputState.guessing==0 ) {				// Create the scope before calling methodDef.							action.scopeAdd(m);							action.methodDef(id);								}		function_params(_t);		_t = _retTree;		{		boolean synPredMatched961 = false;		if (_t==null) _t=ASTNULL;		if (((_t.getType()==PERIOD||_t.getType()==LEXCOLON))) {			AST __t961 = _t;			synPredMatched961 = true;			inputState.guessing++;			try {				{				block_colon(_t);				_t = _retTree;				AST tmp1389_AST_in = (AST)_t;				match(_t,Code_block);				_t = _t.getNextSibling();				}			}			catch (RecognitionException pe) {				synPredMatched961 = false;			}			_t = __t961;inputState.guessing--;		}		if ( synPredMatched961 ) {			block_colon(_t);			_t = _retTree;			code_block(_t);			_t = _retTree;			AST __t962 = _t;			AST tmp1390_AST_in = (AST)_t;			match(_t,END);			_t = _t.getFirstChild();			{			if (_t==null) _t=ASTNULL;			switch ( _t.getType()) {			case METHOD:			{				AST tmp1391_AST_in = (AST)_t;				match(_t,METHOD);				_t = _t.getNextSibling();				break;			}			case 3:			{				break;			}			default:			{				throw new NoViableAltException(_t);			}			}			}			_t = __t962;			_t = _t.getNextSibling();			state_end(_t);			_t = _retTree;		}		else if ((_t.getType()==EOF||_t.getType()==PERIOD)) {			state_end(_t);			_t = _retTree;		}		else {			throw new NoViableAltException(_t);		}				}		if ( inputState.guessing==0 ) {			action.scopeClose(m);		}		_t = __t955;		_t = _t.getNextSibling();		_retTree = _t;	}