catch (RecognitionException pe) { synPredMatched52 = false; } rewind(_m52); inputState.guessing--; } if ( synPredMatched52 ) { constructorCall=jExplicitConstructorInvocation(); } else if ((_tokenSet_7.member(LA(1))) && (_tokenSet_8.member(LA(2)))) {
body.addElement(stmt);  }
	private final JConstructorDeclaration  jConstructorDefinition(		int modifiers	) throws RecognitionException, TokenStreamException {		JConstructorDeclaration self = null;				Token  name = null;				JFormalParameter[]	parameters;		CClassType[]		throwsList = CClassType.EMPTY;		JConstructorCall	constructorCall = null;		Vector		body = new Vector();		JStatement		stmt;		TokenReference	sourceRef = buildTokenReference();		JavadocComment	javadoc = getJavadocComment();		JavaStyleComment[]	comments = getStatementComment();						name = LT(1);		match(IDENT);		match(LPAREN);		parameters=jParameterDeclarationList(JLocalVariable.DES_PARAMETER);		match(RPAREN);		{		switch ( LA(1)) {		case LITERAL_throws:		{			throwsList=jThrowsClause();			break;		}		case LCURLY:		{			break;		}		default:		{			throw new NoViableAltException(LT(1), getFilename());		}		}		}		match(LCURLY);		{		boolean synPredMatched52 = false;		if (((LA(1)==LITERAL_super||LA(1)==LITERAL_this) && (LA(2)==LPAREN))) {			int _m52 = mark();			synPredMatched52 = true;			inputState.guessing++;			try {				{				{				switch ( LA(1)) {				case LITERAL_this:				{					match(LITERAL_this);					break;				}				case LITERAL_super:				{					match(LITERAL_super);					break;				}				default:				{					throw new NoViableAltException(LT(1), getFilename());				}				}				}				match(LPAREN);				}			}			catch (RecognitionException pe) {				synPredMatched52 = false;			}			rewind(_m52);			inputState.guessing--;		}		if ( synPredMatched52 ) {			constructorCall=jExplicitConstructorInvocation();		}		else if ((_tokenSet_7.member(LA(1))) && (_tokenSet_8.member(LA(2)))) {		}		else {			throw new NoViableAltException(LT(1), getFilename());		}				}		{		_loop54:		do {			if ((_tokenSet_9.member(LA(1)))) {				stmt=jBlockStatement();				if ( inputState.guessing==0 ) {											if (stmt instanceof JEmptyStatement) {						  reportTrouble(new CWarning(stmt.getTokenReference(), KjcMessages.STRAY_SEMICOLON, null));						}						body.addElement(stmt);									}			}			else {				break _loop54;			}					} while (true);		}		match(RCURLY);		if ( inputState.guessing==0 ) {						self = new JConstructorDeclaration(sourceRef,								 modifiers,								 name.getText(),								 parameters,								 throwsList,								 constructorCall,								 (JStatement[])at.dms.util.Utils.toArray(body, JStatement.class),								 javadoc,								 comments);					}		return self;	}