// $ANTLR start "methodDeclaration"
// /Users/peter/Documents/workspace/ToolModel/src/tool/model/grammar/ForteCDFTree.g:139:1: methodDeclaration returns [ToolMethod toolMethod] : ^( METHOD_DECLARATION modifier qualifiedName ( formalParameterDecls )? ( methodReturnDeclaration )? ( methodCompletion )? ) ;
public final ToolMethod methodDeclaration() throws RecognitionException {
methodDeclaration_stack.push(new methodDeclaration_scope());
ToolMethod toolMethod = null;
ForteCDFTree.qualifiedName_return qualifiedName11 = null;
ForteCDFTree.modifier_return modifier12 = null;
try {
// /Users/peter/Documents/workspace/ToolModel/src/tool/model/grammar/ForteCDFTree.g:146:2: ( ^( METHOD_DECLARATION modifier qualifiedName ( formalParameterDecls )? ( methodReturnDeclaration )? ( methodCompletion )? ) )
// /Users/peter/Documents/workspace/ToolModel/src/tool/model/grammar/ForteCDFTree.g:146:4: ^( METHOD_DECLARATION modifier qualifiedName ( formalParameterDecls )? ( methodReturnDeclaration )? ( methodCompletion )? )
{
match(input,METHOD_DECLARATION,FOLLOW_METHOD_DECLARATION_in_methodDeclaration440); if (state.failed) return toolMethod;
if ( state.backtracking==0 ) {
((methodDeclaration_scope)methodDeclaration_stack.peek()).currentMethod = new ToolMethod(((classDeclaration_scope)classDeclaration_stack.peek()).currentClass);
}
match(input, Token.DOWN, null); if (state.failed) return toolMethod;
pushFollow(FOLLOW_modifier_in_methodDeclaration447);