@@ -863,6 +863,7 @@ using namespace Firebird;
863863 Jrd::SetDecFloatTrapsNode* setDecFloatTrapsNode;
864864 Jrd::SetBindNode* setBindNode;
865865 Jrd::SessionResetNode* sessionResetNode;
866+ Jrd::RecreatePackageBodyNode* recreatePackageBodyNode;
866867}
867868
868869%include types.y
@@ -1711,6 +1712,7 @@ replace_clause
17111712 | FUNCTION replace_function_clause { $$ = $2; }
17121713 | TRIGGER replace_trigger_clause { $$ = $2; }
17131714 | PACKAGE replace_package_clause { $$ = $2; }
1715+ | PACKAGE BODY replace_package_body_clause { $$ = $3; }
17141716 | VIEW replace_view_clause { $$ = $2; }
17151717 | EXCEPTION replace_exception_clause { $$ = $2; }
17161718 | GENERATOR replace_sequence_clause { $$ = $2; }
@@ -3228,6 +3230,12 @@ package_body_item
32283230 ;
32293231
32303232
3233+ %type <recreatePackageBodyNode> replace_package_body_clause
3234+ replace_package_body_clause
3235+ : package_body_clause
3236+ { $$ = newNode<RecreatePackageBodyNode>($1); }
3237+ ;
3238+
32313239%type <localDeclarationsNode> local_declarations_opt
32323240local_declarations_opt
32333241 : local_forward_declarations_opt local_nonforward_declarations_opt
@@ -4294,6 +4302,7 @@ alter_clause
42944302 | TRIGGER alter_trigger_clause { $$ = $2; }
42954303 | PROCEDURE alter_procedure_clause { $$ = $2; }
42964304 | PACKAGE alter_package_clause { $$ = $2; }
4305+ | PACKAGE BODY replace_package_body_clause { $$ = $3; }
42974306 | DATABASE
42984307 { $<alterDatabaseNode>$ = newNode<AlterDatabaseNode>(); }
42994308 alter_db($<alterDatabaseNode>2)
0 commit comments