diff --git a/CHANGELOG.md b/CHANGELOG.md index 739e611f9..fe0496ea3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -105,6 +105,7 @@ Generator: - Boolean relations containing global variables (#1059) - Minimal session (#883) - Message aggregates with variables as field values (#1064) + - Message fields with a sequence type name equal to the package name - Code generation when using non-default prefix (#897) - Conversion between message `Structure` and `Context` (#961) - Missing reset in assignment to comprehension (#1050) diff --git a/rflx/generator/common.py b/rflx/generator/common.py index 52c55c0c6..4f13d874e 100644 --- a/rflx/generator/common.py +++ b/rflx/generator/common.py @@ -49,6 +49,7 @@ Variable, WithClause, ) +from rflx.const import BUILTINS_PACKAGE from . import const @@ -689,10 +690,12 @@ def context_cursor_unchanged( ] -def sufficient_space_for_field_condition(field_name: Name, size: Expr = None) -> Expr: +def sufficient_space_for_field_condition( + message_id: ID, field_name: Name, size: Expr = None +) -> Expr: if size is None: - size = Call("Field_Size", [Variable("Ctx"), field_name]) - return GreaterEqual(Call("Available_Space", [Variable("Ctx"), field_name]), size) + size = Call(message_id * "Field_Size", [Variable("Ctx"), field_name]) + return GreaterEqual(Call(message_id * "Available_Space", [Variable("Ctx"), field_name]), size) def initialize_field_statements( @@ -788,23 +791,28 @@ def field_bit_location_declarations(field_name: Name) -> Sequence[Declaration]: def field_condition_call( + prefix: str, message: model.Message, field: model.Field, value: Expr = None, aggregate: Expr = None, size: Expr = None, ) -> Expr: + package = ID(prefix * message.identifier) if value is None: value = Number(0) if aggregate is None: aggregate = EMPTY_ARRAY if size is None: - size = Call("Field_Size", [Variable("Ctx"), Variable(field.affixed_name)]) + size = Call( + package * "Field_Size", + [Variable("Ctx"), Variable(package * field.affixed_name)], + ) return Call( - "Field_Condition", + package * "Field_Condition", [ Variable("Ctx"), - Variable(field.affixed_name), + Variable(package * field.affixed_name), *([value] if has_value_dependent_condition(message) else []), *([aggregate] if has_aggregate_dependent_condition(message) else []), *([size] if has_size_dependent_condition(message, field) else []), @@ -812,6 +820,12 @@ def field_condition_call( ) +def to_base_integer(prefix: str, type_package: rid.ID) -> ID: + if type_package == BUILTINS_PACKAGE: + return ID("To_Base_Integer") + return prefix * ID(type_package) * "To_Base_Integer" + + def ada_type_identifier(type_identifier: rid.ID) -> ID: if model.is_builtin_type(type_identifier): return ID(type_identifier.name) @@ -1075,12 +1089,12 @@ def context_cursors_initialization(message: model.Message) -> Expr: ) -def byte_aligned_field(field: model.Field) -> Expr: +def byte_aligned_field(prefix: str, message: model.Message, field: model.Field) -> Expr: return Equal( Rem( Call( - "Field_First", - [Variable("Ctx"), Variable(field.affixed_name)], + ID(prefix * message.identifier * "Field_First"), + [Variable("Ctx"), Variable(ID(prefix * message.identifier * field.affixed_name))], ), Size(const.TYPES_BYTE), ), diff --git a/rflx/generator/generator.py b/rflx/generator/generator.py index a2c42f5f3..8331ab1e8 100644 --- a/rflx/generator/generator.py +++ b/rflx/generator/generator.py @@ -424,65 +424,93 @@ def _create_message(self, message: Message) -> dict[ID, Unit]: self._executor.submit( message_generator.create_restricted_initialize_procedure, message ), - self._executor.submit(message_generator.create_initialized_function, message), - self._executor.submit(message_generator.create_reset_procedure, message), - self._executor.submit(message_generator.create_restricted_reset_procedure, message), - self._executor.submit(message_generator.create_take_buffer_procedure, message), - self._executor.submit(message_generator.create_copy_procedure), - self._executor.submit(message_generator.create_read_function), - self._executor.submit(message_generator.create_generic_read_procedure), - self._executor.submit(message_generator.create_generic_write_procedure, message), + self._executor.submit( + message_generator.create_initialized_function, self._prefix, message + ), + self._executor.submit(message_generator.create_reset_procedure, self._prefix, message), + self._executor.submit( + message_generator.create_restricted_reset_procedure, self._prefix, message + ), + self._executor.submit( + message_generator.create_take_buffer_procedure, self._prefix, message + ), + self._executor.submit(message_generator.create_copy_procedure, self._prefix, message), + self._executor.submit(message_generator.create_read_function, self._prefix, message), + self._executor.submit( + message_generator.create_generic_read_procedure, self._prefix, message + ), + self._executor.submit( + message_generator.create_generic_write_procedure, self._prefix, message + ), self._executor.submit(message_generator.create_has_buffer_function), - self._executor.submit(message_generator.create_buffer_length_function), + self._executor.submit( + message_generator.create_buffer_length_function, self._prefix, message + ), self._executor.submit(message_generator.create_size_function), self._executor.submit(message_generator.create_byte_size_function), - self._executor.submit(message_generator.create_message_last_function), + self._executor.submit( + message_generator.create_message_last_function, self._prefix, message + ), self._executor.submit(message_generator.create_written_last_function), - self._executor.submit(message_generator.create_data_procedure), + self._executor.submit(message_generator.create_data_procedure, self._prefix, message), self._executor.submit( - message_generator.create_valid_value_function, message, scalar_fields, self._prefix + message_generator.create_valid_value_function, self._prefix, message, scalar_fields ), self._executor.submit( - message_generator.create_path_condition_function, message, self._prefix + message_generator.create_path_condition_function, self._prefix, message ), self._executor.submit( - message_generator.create_field_condition_function, message, self._prefix + message_generator.create_field_condition_function, self._prefix, message ), self._executor.submit( message_generator.create_field_size_function, + self._prefix, message, scalar_fields, composite_fields, - self._prefix, ), self._executor.submit( - message_generator.create_field_first_function, message, self._prefix + message_generator.create_field_first_function, self._prefix, message ), self._executor.submit( - message_generator.create_field_last_function, scalar_fields, composite_fields + message_generator.create_field_last_function, + self._prefix, + message, + scalar_fields, + composite_fields, ), self._executor.submit(message_generator.create_predecessor_function), self._executor.submit( - message_generator.create_successor_function, message, self._prefix + message_generator.create_successor_function, self._prefix, message ), self._executor.submit( - message_generator.create_valid_predecessor_function, message, composite_fields + message_generator.create_valid_predecessor_function, + message, + composite_fields, ), self._executor.submit(message_generator.create_invalid_successor_function, message), self._executor.submit(message_generator.create_valid_next_function), - self._executor.submit(message_generator.create_available_space_function), - self._executor.submit(message_generator.create_sufficient_buffer_length_function), + self._executor.submit( + message_generator.create_available_space_function, self._prefix, message + ), + self._executor.submit( + message_generator.create_sufficient_buffer_length_function, self._prefix, message + ), *( [ self._executor.submit( - message_generator.create_equal_function, scalar_fields, composite_fields + message_generator.create_equal_function, + self._prefix, + message, + scalar_fields, + composite_fields, ) ] if composite_fields else [] ), self._executor.submit( - message_generator.create_reset_dependent_fields_procedure, message + message_generator.create_reset_dependent_fields_procedure, self._prefix, message ), *( [ @@ -514,14 +542,20 @@ def _create_message(self, message: Message) -> dict[ID, Unit]: ), self._executor.submit(parser_generator.create_valid_message_function, message), self._executor.submit(parser_generator.create_incomplete_message_function), - self._executor.submit(parser_generator.create_scalar_getter_functions, scalar_fields), - self._executor.submit(parser_generator.create_opaque_getter_functions, opaque_fields), - self._executor.submit(parser_generator.create_opaque_getter_procedures, opaque_fields), self._executor.submit( - parser_generator.create_generic_opaque_getter_procedures, opaque_fields + parser_generator.create_scalar_getter_functions, message, scalar_fields + ), + self._executor.submit( + parser_generator.create_opaque_getter_functions, message, opaque_fields + ), + self._executor.submit( + parser_generator.create_opaque_getter_procedures, message, opaque_fields + ), + self._executor.submit( + parser_generator.create_generic_opaque_getter_procedures, message, opaque_fields ), self._executor.submit(serializer_generator.create_valid_size_function, message), - self._executor.submit(serializer_generator.create_valid_length_function), + self._executor.submit(serializer_generator.create_valid_length_function, message), self._executor.submit( serializer_generator.create_set_procedure, message, scalar_fields, composite_fields ), @@ -545,18 +579,18 @@ def _create_message(self, message: Message) -> dict[ID, Unit]: serializer_generator.create_generic_opaque_setter_procedures, message ), self._executor.submit( - message_generator.create_switch_procedures, message, sequence_fields, self._prefix + message_generator.create_switch_procedures, self._prefix, message, sequence_fields ), self._executor.submit( - message_generator.create_complete_functions, message, sequence_fields + message_generator.create_complete_functions, self._prefix, message, sequence_fields ), self._executor.submit( - message_generator.create_update_procedures, message, sequence_fields + message_generator.create_update_procedures, self._prefix, message, sequence_fields ), self._executor.submit(message_generator.create_cursor_function), self._executor.submit(message_generator.create_cursors_function), self._executor.submit(message_generator.create_cursors_index_function), - self._executor.submit(message_generator.create_structure, message, self._prefix), + self._executor.submit(message_generator.create_structure, self._prefix, message), ] for future in futures: @@ -1003,7 +1037,13 @@ def _create_switch_procedure( refinement, pdu_context, condition_fields, null_sdu=False ) ], - Call(contains_function_name(refinement), [Variable(pdu_context)]), + Call( + self._prefix + * ID(refinement.package) + * const.REFINEMENT_PACKAGE + * contains_function_name(refinement), + [Variable(pdu_context)], + ), ) ), Postcondition( @@ -1146,7 +1186,13 @@ def _create_copy_refined_field_procedure( refinement, pdu_context, condition_fields, null_sdu=False ) ], - Call(contains_function_name(refinement), [Variable(pdu_context)]), + Call( + self._prefix + * ID(refinement.package) + * const.REFINEMENT_PACKAGE + * contains_function_name(refinement), + [Variable(pdu_context)], + ), GreaterEqual( Add( Call( diff --git a/rflx/generator/message.py b/rflx/generator/message.py index 58219cbe0..4c7809ba4 100644 --- a/rflx/generator/message.py +++ b/rflx/generator/message.py @@ -684,7 +684,7 @@ def create_restricted_initialize_procedure(message: Message) -> UnitPart: ) -def create_initialized_function(message: Message) -> UnitPart: +def create_initialized_function(prefix: str, message: Message) -> UnitPart: specification = FunctionSpecification("Initialized", "Boolean", [Parameter(["Ctx"], "Context")]) first_field = message.fields[0] @@ -716,7 +716,7 @@ def create_initialized_function(message: Message) -> UnitPart: Variable(first_field.affixed_name), ], ), - common.byte_aligned_field(first_field), + common.byte_aligned_field(prefix, message, first_field), Equal( Call( "Available_Space", @@ -745,7 +745,7 @@ def create_initialized_function(message: Message) -> UnitPart: ) -def create_reset_procedure(message: Message) -> UnitPart: +def create_reset_procedure(prefix: str, message: Message) -> UnitPart: """ Reset the state and buffer bounds of the context. @@ -774,7 +774,7 @@ def create_reset_procedure(message: Message) -> UnitPart: Precondition( And( Not(Constrained("Ctx")), - Call("Has_Buffer", [Variable("Ctx")]), + Call(ID(prefix * message.identifier * "Has_Buffer"), [Variable("Ctx")]), ) ), Postcondition( @@ -827,7 +827,7 @@ def create_reset_procedure(message: Message) -> UnitPart: ) -def create_restricted_reset_procedure(message: Message) -> UnitPart: +def create_restricted_reset_procedure(prefix: str, message: Message) -> UnitPart: specification = ProcedureSpecification( "Reset", [ @@ -846,7 +846,7 @@ def create_restricted_reset_procedure(message: Message) -> UnitPart: Precondition( And( Not(Constrained("Ctx")), - Call("Has_Buffer", [Variable("Ctx")]), + Call(ID(prefix * message.identifier * "Has_Buffer"), [Variable("Ctx")]), GreaterEqual( Call(const.TYPES_TO_INDEX, [Variable("First")]), Variable("Ctx.Buffer_First"), @@ -904,7 +904,7 @@ def create_restricted_reset_procedure(message: Message) -> UnitPart: ) -def create_take_buffer_procedure(message: Message) -> UnitPart: +def create_take_buffer_procedure(prefix: str, message: Message) -> UnitPart: specification = ProcedureSpecification( "Take_Buffer", [InOutParameter(["Ctx"], "Context"), OutParameter(["Buffer"], const.TYPES_BYTES_PTR)], @@ -915,7 +915,9 @@ def create_take_buffer_procedure(message: Message) -> UnitPart: SubprogramDeclaration( specification, [ - Precondition(Call("Has_Buffer", [Variable("Ctx")])), + Precondition( + Call(ID(prefix * message.identifier * "Has_Buffer"), [Variable("Ctx")]) + ), Postcondition( And( Not(Call("Has_Buffer", [Variable("Ctx")])), @@ -943,7 +945,7 @@ def create_take_buffer_procedure(message: Message) -> UnitPart: ) -def create_copy_procedure() -> UnitPart: +def create_copy_procedure(prefix: str, message: Message) -> UnitPart: specification = ProcedureSpecification( "Copy", [Parameter(["Ctx"], "Context"), OutParameter(["Buffer"], const.TYPES_BYTES)], @@ -956,9 +958,17 @@ def create_copy_procedure() -> UnitPart: [ Precondition( AndThen( - Call("Has_Buffer", [Variable("Ctx")]), - Call("Structural_Valid_Message", [Variable("Ctx")]), - Equal(Call("Byte_Size", [Variable("Ctx")]), Length("Buffer")), + Call(ID(prefix * message.identifier * "Has_Buffer"), [Variable("Ctx")]), + Call( + ID(prefix * message.identifier * "Structural_Valid_Message"), + [Variable("Ctx")], + ), + Equal( + Call( + ID(prefix * message.identifier * "Byte_Size"), [Variable("Ctx")] + ), + Length("Buffer"), + ), ) ), ], @@ -1009,7 +1019,7 @@ def create_copy_procedure() -> UnitPart: ) -def create_read_function() -> UnitPart: +def create_read_function(prefix: str, message: Message) -> UnitPart: specification = FunctionSpecification( "Read", const.TYPES_BYTES, @@ -1024,8 +1034,11 @@ def create_read_function() -> UnitPart: Ghost(), Precondition( AndThen( - Call("Has_Buffer", [Variable("Ctx")]), - Call("Structural_Valid_Message", [Variable("Ctx")]), + Call(ID(prefix * message.identifier * "Has_Buffer"), [Variable("Ctx")]), + Call( + ID(prefix * message.identifier * "Structural_Valid_Message"), + [Variable("Ctx")], + ), ) ), ], @@ -1046,7 +1059,7 @@ def create_read_function() -> UnitPart: ) -def create_generic_read_procedure() -> UnitPart: +def create_generic_read_procedure(prefix: str, message: Message) -> UnitPart: specification = ProcedureSpecification( "Generic_Read", [Parameter(["Ctx"], "Context")], @@ -1078,8 +1091,11 @@ def create_generic_read_procedure() -> UnitPart: [ Precondition( AndThen( - Call("Has_Buffer", [Variable("Ctx")]), - Call("Structural_Valid_Message", [Variable("Ctx")]), + Call(ID(prefix * message.identifier * "Has_Buffer"), [Variable("Ctx")]), + Call( + ID(prefix * message.identifier * "Structural_Valid_Message"), + [Variable("Ctx")], + ), Call("Pre", [Call("Read", [Variable("Ctx")])]), ) ), @@ -1125,7 +1141,7 @@ def create_generic_read_procedure() -> UnitPart: ) -def create_generic_write_procedure(message: Message) -> UnitPart: +def create_generic_write_procedure(prefix: str, message: Message) -> UnitPart: """ Write data into the buffer of the context using an externally provided subprogram. @@ -1170,11 +1186,23 @@ def create_generic_write_procedure(message: Message) -> UnitPart: Precondition( AndThen( Not(Constrained("Ctx")), - Call("Has_Buffer", [Variable("Ctx")]), - Less(Variable("Offset"), Call("Buffer_Length", [Variable("Ctx")])), + Call(ID(prefix * message.identifier * "Has_Buffer"), [Variable("Ctx")]), + Less( + Variable("Offset"), + Call( + ID(prefix * message.identifier * "Buffer_Length"), + [Variable("Ctx")], + ), + ), Call( "Pre", - [Call("Buffer_Length", [Variable("Ctx")]), Variable("Offset")], + [ + Call( + ID(prefix * message.identifier * "Buffer_Length"), + [Variable("Ctx")], + ), + Variable("Offset"), + ], ), ) ), @@ -1301,7 +1329,7 @@ def create_generic_write_procedure(message: Message) -> UnitPart: def create_valid_value_function( - message: Message, scalar_fields: ty.Mapping[Field, Scalar], prefix: str + prefix: str, message: Message, scalar_fields: ty.Mapping[Field, Scalar] ) -> UnitPart: specification = FunctionSpecification( "Valid_Value", @@ -1355,7 +1383,7 @@ def create_valid_value_function( ) -def create_path_condition_function(message: Message, prefix: str) -> UnitPart: +def create_path_condition_function(prefix: str, message: Message) -> UnitPart: """Check if the condition at the incoming link to the field is valid.""" def condition(field: Field, message: Message) -> Expr: @@ -1410,7 +1438,10 @@ def condition(field: Field, message: Message) -> Expr: [ Precondition( And( - Call("Valid_Predecessor", [Variable("Ctx"), Variable("Fld")]), + Call( + ID(prefix * message.identifier * "Valid_Predecessor"), + [Variable("Ctx"), Variable("Fld")], + ), ) ), Postcondition(TRUE), @@ -1442,10 +1473,10 @@ def condition(field: Field, message: Message) -> Expr: def create_field_size_function( + prefix: str, message: Message, scalar_fields: ty.Mapping[Field, Type], composite_fields: ty.Sequence[Field], - prefix: str, ) -> UnitPart: specification = FunctionSpecification( "Field_Size", @@ -1460,7 +1491,10 @@ def create_field_size_function( [ Precondition( And( - Call("Valid_Next", [Variable("Ctx"), Variable("Fld")]), + Call( + ID(prefix * message.identifier * "Valid_Next"), + [Variable("Ctx"), Variable("Fld")], + ), ) ), *( @@ -1511,7 +1545,7 @@ def create_field_size_function( ) -def create_field_first_function(message: Message, prefix: str) -> UnitPart: +def create_field_first_function(prefix: str, message: Message) -> UnitPart: contiguous_first = expr.Add( expr.Selected( expr.Indexed( @@ -1580,7 +1614,10 @@ def substituted( [ Precondition( And( - Call("Valid_Next", [Variable("Ctx"), Variable("Fld")]), + Call( + ID(prefix * message.identifier * "Valid_Next"), + [Variable("Ctx"), Variable("Fld")], + ), ) ), Postcondition(TRUE), @@ -1610,7 +1647,10 @@ def substituted( def create_field_last_function( - scalar_fields: ty.Mapping[Field, Type], composite_fields: ty.Sequence[Field] + prefix: str, + message: Message, + scalar_fields: ty.Mapping[Field, Type], + composite_fields: ty.Sequence[Field], ) -> UnitPart: specification = FunctionSpecification( "Field_Last", @@ -1625,10 +1665,19 @@ def create_field_last_function( [ Precondition( AndThen( - Call("Valid_Next", [Variable("Ctx"), Variable("Fld")]), + Call( + ID(prefix * message.identifier * "Valid_Next"), + [Variable("Ctx"), Variable("Fld")], + ), GreaterEqual( - Call("Available_Space", [Variable("Ctx"), Variable("Fld")]), - Call("Field_Size", [Variable("Ctx"), Variable("Fld")]), + Call( + ID(prefix * message.identifier * "Available_Space"), + [Variable("Ctx"), Variable("Fld")], + ), + Call( + ID(prefix * message.identifier * "Field_Size"), + [Variable("Ctx"), Variable("Fld")], + ), ), ) ), @@ -1675,7 +1724,7 @@ def create_field_last_function( ) -def create_field_condition_function(message: Message, prefix: str) -> UnitPart: +def create_field_condition_function(prefix: str, message: Message) -> UnitPart: """ Check if the condition at any outgoing link of the field is valid. @@ -1753,17 +1802,34 @@ def condition(field: Field, message: Message) -> Expr: [ Precondition( AndThen( - Call("Has_Buffer", [Variable("Ctx")]), - Call("Valid_Predecessor", [Variable("Ctx"), Variable("Fld")]), + Call(ID(prefix * message.identifier * "Has_Buffer"), [Variable("Ctx")]), + Call( + ID(prefix * message.identifier * "Valid_Predecessor"), + [Variable("Ctx"), Variable("Fld")], + ), *( - [Call("Valid_Value", [Variable("Fld"), Variable("Val")])] + [ + Call( + ID(prefix * message.identifier * "Valid_Value"), + [Variable("Fld"), Variable("Val")], + ) + ] if common.has_value_dependent_condition(message) else [] ), - Call("Valid_Next", [Variable("Ctx"), Variable("Fld")]), + Call( + ID(prefix * message.identifier * "Valid_Next"), + [Variable("Ctx"), Variable("Fld")], + ), GreaterEqual( - Call("Available_Space", [Variable("Ctx"), Variable("Fld")]), - Call("Field_Size", [Variable("Ctx"), Variable("Fld")]), + Call( + ID(prefix * message.identifier * "Available_Space"), + [Variable("Ctx"), Variable("Fld")], + ), + Call( + ID(prefix * message.identifier * "Field_Size"), + [Variable("Ctx"), Variable("Fld")], + ), ), ) ), @@ -1830,7 +1896,7 @@ def create_predecessor_function() -> UnitPart: ) -def create_successor_function(message: Message, prefix: str) -> UnitPart: +def create_successor_function(prefix: str, message: Message) -> UnitPart: specification = FunctionSpecification( "Successor", "Virtual_Field", @@ -1870,9 +1936,15 @@ def create_successor_function(message: Message, prefix: str) -> UnitPart: [ Precondition( And( - Call("Has_Buffer", [Variable("Ctx")]), - Call("Structural_Valid", [Variable("Ctx"), Variable("Fld")]), - Call("Valid_Predecessor", [Variable("Ctx"), Variable("Fld")]), + Call(ID(prefix * message.identifier * "Has_Buffer"), [Variable("Ctx")]), + Call( + ID(prefix * message.identifier * "Structural_Valid"), + [Variable("Ctx"), Variable("Fld")], + ), + Call( + ID(prefix * message.identifier * "Valid_Predecessor"), + [Variable("Ctx"), Variable("Fld")], + ), ) ) ], @@ -1937,7 +2009,7 @@ def create_has_buffer_function() -> UnitPart: ) -def create_buffer_length_function() -> UnitPart: +def create_buffer_length_function(prefix: str, message: Message) -> UnitPart: specification = FunctionSpecification( "Buffer_Length", const.TYPES_LENGTH, [Parameter(["Ctx"], "Context")] ) @@ -1946,7 +2018,11 @@ def create_buffer_length_function() -> UnitPart: [ SubprogramDeclaration( specification, - [Precondition(Call("Has_Buffer", [Variable("Ctx")]))], + [ + Precondition( + Call(ID(prefix * message.identifier * "Has_Buffer"), [Variable("Ctx")]) + ) + ], ) ], private=[ExpressionFunctionDeclaration(specification, Length("Ctx.Buffer"))], @@ -2074,7 +2150,7 @@ def create_byte_size_function() -> UnitPart: ) -def create_message_last_function() -> UnitPart: +def create_message_last_function(prefix: str, message: Message) -> UnitPart: specification = FunctionSpecification( "Message_Last", const.TYPES_BIT_LENGTH, [Parameter(["Ctx"], "Context")] ) @@ -2086,8 +2162,11 @@ def create_message_last_function() -> UnitPart: [ Precondition( AndThen( - Call("Has_Buffer", [Variable("Ctx")]), - Call("Structural_Valid_Message", [Variable("Ctx")]), + Call(ID(prefix * message.identifier * "Has_Buffer"), [Variable("Ctx")]), + Call( + ID(prefix * message.identifier * "Structural_Valid_Message"), + [Variable("Ctx")], + ), ) ), ], @@ -2114,7 +2193,7 @@ def create_written_last_function() -> UnitPart: ) -def create_data_procedure() -> UnitPart: +def create_data_procedure(prefix: str, message: Message) -> UnitPart: specification = ProcedureSpecification( "Data", [Parameter(["Ctx"], "Context"), OutParameter(["Data"], const.TYPES_BYTES)], @@ -2127,12 +2206,15 @@ def create_data_procedure() -> UnitPart: [ Precondition( AndThen( - Call("Has_Buffer", [Variable("Ctx")]), - Call("Structural_Valid_Message", [Variable("Ctx")]), + Call(ID(prefix * message.identifier * "Has_Buffer"), [Variable("Ctx")]), + Call( + ID(prefix * message.identifier * "Structural_Valid_Message"), + [Variable("Ctx")], + ), Equal( Length("Data"), Call( - "Byte_Size", + ID(prefix * message.identifier * "Byte_Size"), [ Variable("Ctx"), ], @@ -2183,7 +2265,7 @@ def create_valid_next_function() -> UnitPart: ) -def create_available_space_function() -> UnitPart: +def create_available_space_function(prefix: str, message: Message) -> UnitPart: specification = FunctionSpecification( "Available_Space", const.TYPES_BIT_LENGTH, @@ -2194,7 +2276,14 @@ def create_available_space_function() -> UnitPart: [ SubprogramDeclaration( specification, - [Precondition(Call("Valid_Next", [Variable("Ctx"), Variable("Fld")]))], + [ + Precondition( + Call( + ID(prefix * message.identifier * "Valid_Next"), + [Variable("Ctx"), Variable("Fld")], + ) + ) + ], ) ], private=[ @@ -2211,6 +2300,8 @@ def create_available_space_function() -> UnitPart: def create_equal_function( + prefix: str, + message: Message, scalar_fields: ty.Mapping[Field, Type], composite_fields: ty.Sequence[Field], ) -> UnitPart: @@ -2259,8 +2350,11 @@ def create_equal_function( [ Precondition( And( - Call("Has_Buffer", [Variable("Ctx")]), - Call("Valid_Next", [Variable("Ctx"), Variable("Fld")]), + Call(ID(prefix * message.identifier * "Has_Buffer"), [Variable("Ctx")]), + Call( + ID(prefix * message.identifier * "Valid_Next"), + [Variable("Ctx"), Variable("Fld")], + ), ) ) ], @@ -2310,7 +2404,7 @@ def create_equal_function( ) -def create_sufficient_buffer_length_function() -> UnitPart: +def create_sufficient_buffer_length_function(prefix: str, message: Message) -> UnitPart: return UnitPart( [], [ @@ -2345,8 +2439,11 @@ def create_sufficient_buffer_length_function() -> UnitPart: [ Precondition( And( - Call("Has_Buffer", [Variable("Ctx")]), - Call("Valid_Next", [Variable("Ctx"), Variable("Fld")]), + Call(ID(prefix * message.identifier * "Has_Buffer"), [Variable("Ctx")]), + Call( + ID(prefix * message.identifier * "Valid_Next"), + [Variable("Ctx"), Variable("Fld")], + ), ) ) ], @@ -2355,7 +2452,7 @@ def create_sufficient_buffer_length_function() -> UnitPart: ) -def create_reset_dependent_fields_procedure(message: Message) -> UnitPart: +def create_reset_dependent_fields_procedure(prefix: str, message: Message) -> UnitPart: specification = ProcedureSpecification( "Reset_Dependent_Fields", [InOutParameter(["Ctx"], "Context"), Parameter(["Fld"], "Field")], @@ -2448,7 +2545,10 @@ def create_reset_dependent_fields_procedure(message: Message) -> UnitPart: [ Precondition( And( - Call("Valid_Next", [Variable("Ctx"), Variable("Fld")]), + Call( + ID(prefix * message.identifier * "Valid_Next"), + [Variable("Ctx"), Variable("Fld")], + ), ), ), Postcondition( @@ -2530,14 +2630,16 @@ def create_composite_field_function( def create_switch_procedures( - message: Message, sequence_fields: ty.Mapping[Field, Type], prefix: str + prefix: str, message: Message, sequence_fields: ty.Mapping[Field, Type] ) -> UnitPart: def specification(field: Field) -> ProcedureSpecification: return ProcedureSpecification( f"Switch_To_{field.name}", [ InOutParameter(["Ctx"], "Context"), - OutParameter(["Seq_Ctx"], f"{common.sequence_name(message, field)}.Context"), + OutParameter( + ["Seq_Ctx"], prefix * common.sequence_name(message, field) * "Context" + ), ], ) @@ -2550,33 +2652,42 @@ def specification(field: Field) -> ProcedureSpecification: AndThen( Not(Constrained("Ctx")), Not(Constrained("Seq_Ctx")), - Call("Has_Buffer", [Variable("Ctx")]), + Call(ID(prefix * message.identifier * "Has_Buffer"), [Variable("Ctx")]), Call( - "Valid_Next", - [Variable("Ctx"), Variable(f.affixed_name)], + ID(prefix * message.identifier * "Valid_Next"), + [ + Variable("Ctx"), + Variable(ID(prefix * message.identifier * f.affixed_name)), + ], ), Greater( Call( - "Field_Size", - [Variable("Ctx"), Variable(f.affixed_name)], + ID(prefix * message.identifier * "Field_Size"), + [ + Variable("Ctx"), + Variable(ID(prefix * message.identifier * f.affixed_name)), + ], ), Number(0), ), - common.byte_aligned_field(f), - common.sufficient_space_for_field_condition(Variable(f.affixed_name)), - common.field_condition_call(message, f), + common.byte_aligned_field(prefix, message, f), + common.sufficient_space_for_field_condition( + ID(prefix * message.identifier), + Variable(ID(prefix * message.identifier * f.affixed_name)), + ), + common.field_condition_call(prefix, message, f), ) ), Postcondition( And( - *_switch_update_conditions(message, f), + *_switch_update_conditions(prefix, message, f), Call( - f"{common.sequence_name(message, f)}.Valid", + prefix * common.sequence_name(message, f) * "Valid", [Variable("Seq_Ctx")], ), Equal( Call( - f"{common.sequence_name(message, f)}.Sequence_Last", + prefix * common.sequence_name(message, f) * "Sequence_Last", [Variable("Seq_Ctx")], ), Sub(Variable("Seq_Ctx.First"), Number(1)), @@ -2669,7 +2780,7 @@ def specification(field: Field) -> ProcedureSpecification: [Variable("Off"), String('unused assignment to "Buffer"')], ), CallStatement( - f"{common.sequence_name(message, f)}.Initialize", + prefix * common.sequence_name(message, f) * "Initialize", [ Variable("Seq_Ctx"), Variable("Buffer"), @@ -2689,7 +2800,7 @@ def specification(field: Field) -> ProcedureSpecification: def create_complete_functions( - message: Message, sequence_fields: ty.Mapping[Field, Type] + prefix: str, message: Message, sequence_fields: ty.Mapping[Field, Type] ) -> UnitPart: def specification(field: Field) -> FunctionSpecification: return FunctionSpecification( @@ -2697,7 +2808,7 @@ def specification(field: Field) -> FunctionSpecification: "Boolean", [ Parameter(["Ctx"], "Context"), - Parameter(["Seq_Ctx"], f"{common.sequence_name(message, field)}.Context"), + Parameter(["Seq_Ctx"], prefix * common.sequence_name(message, field) * "Context"), ], ) @@ -2707,7 +2818,13 @@ def specification(field: Field) -> FunctionSpecification: specification(f), [ Precondition( - Call("Valid_Next", [Variable("Ctx"), Variable(f.affixed_name)]), + Call( + ID(prefix * message.identifier * "Valid_Next"), + [ + Variable("Ctx"), + Variable(ID(prefix * message.identifier * f.affixed_name)), + ], + ), ) ], ) @@ -2718,12 +2835,12 @@ def specification(field: Field) -> FunctionSpecification: specification(f), And( Call( - f"{common.sequence_name(message, f)}.Valid", + prefix * common.sequence_name(message, f) * "Valid", [Variable("Seq_Ctx")], ), Equal( Call( - f"{common.sequence_name(message, f)}.Size", + prefix * common.sequence_name(message, f) * "Size", [Variable("Seq_Ctx")], ), Call( @@ -2739,14 +2856,16 @@ def specification(field: Field) -> FunctionSpecification: def create_update_procedures( - message: Message, sequence_fields: ty.Mapping[Field, Type] + prefix: str, message: Message, sequence_fields: ty.Mapping[Field, Type] ) -> UnitPart: def specification(field: Field) -> ProcedureSpecification: return ProcedureSpecification( f"Update_{field.name}", [ InOutParameter(["Ctx"], "Context"), - InOutParameter(["Seq_Ctx"], f"{common.sequence_name(message, field)}.Context"), + InOutParameter( + ["Seq_Ctx"], prefix * common.sequence_name(message, field) * "Context" + ), ], ) @@ -2769,11 +2888,17 @@ def take_buffer_arguments(field: Field) -> ty.Sequence[Expr]: Precondition( AndThen( Call( - "Present", - [Variable("Ctx"), Variable(f.affixed_name)], + ID(prefix * message.identifier * "Present"), + [ + Variable("Ctx"), + Variable(ID(prefix * message.identifier * f.affixed_name)), + ], + ), + Call( + ID(prefix * message.identifier * f"Complete_{f.name}"), + [Variable("Ctx"), Variable("Seq_Ctx")], ), - Call(f"Complete_{f.name}", [Variable("Ctx"), Variable("Seq_Ctx")]), - *_switch_update_conditions(message, f), + *_switch_update_conditions(prefix, message, f), ) ), Postcondition( @@ -2785,7 +2910,7 @@ def take_buffer_arguments(field: Field) -> ty.Sequence[Expr]: Call("Has_Buffer", [Variable("Ctx")]), Not( Call( - f"{common.sequence_name(message, f)}.Has_Buffer", + prefix * common.sequence_name(message, f) * "Has_Buffer", [Variable("Seq_Ctx")], ) ), @@ -2836,14 +2961,17 @@ def take_buffer_arguments(field: Field) -> ty.Sequence[Expr]: ObjectDeclaration( ["Valid_Sequence"], "Boolean", - Call(f"{common.sequence_name(message, f)}.Valid", [Variable("Seq_Ctx")]), + Call( + prefix * common.sequence_name(message, f) * "Valid", + [Variable("Seq_Ctx")], + ), constant=True, ), ObjectDeclaration(["Buffer"], const.TYPES_BYTES_PTR), ], [ CallStatement( - f"{common.sequence_name(message, f)}.Take_Buffer", + prefix * common.sequence_name(message, f) * "Take_Buffer", take_buffer_arguments(f), ), Assignment("Ctx.Buffer", Variable("Buffer")), @@ -2950,20 +3078,20 @@ def create_cursors_index_function() -> UnitPart: ) -def create_structure(message: Message, prefix: str) -> UnitPart: +def create_structure(prefix: str, message: Message) -> UnitPart: if not message.is_definite: return UnitPart() unit = UnitPart() - unit += _create_structure_type(message, prefix) - unit += _create_valid_structure_function(message, prefix) - unit += _create_to_structure_procedure(message) - unit += _create_sufficient_buffer_length_function(message, prefix) - unit += _create_to_context_procedure(message) + unit += _create_structure_type(prefix, message) + unit += _create_valid_structure_function(prefix, message) + unit += _create_to_structure_procedure(prefix, message) + unit += _create_sufficient_buffer_length_function(prefix, message) + unit += _create_to_context_procedure(prefix, message) return unit -def _create_structure_type(message: Message, prefix: str) -> UnitPart: +def _create_structure_type(prefix: str, message: Message) -> UnitPart: assert len(message.paths(FINAL)) == 1 components = [] @@ -3010,7 +3138,7 @@ def _create_structure_type(message: Message, prefix: str) -> UnitPart: ) -def _create_valid_structure_function(message: Message, prefix: str) -> UnitPart: +def _create_valid_structure_function(prefix: str, message: Message) -> UnitPart: assert len(message.paths(FINAL)) == 1 valid_values = [ @@ -3067,7 +3195,7 @@ def _create_valid_structure_function(message: Message, prefix: str) -> UnitPart: ) -def _create_sufficient_buffer_length_function(message: Message, prefix: str) -> UnitPart: +def _create_sufficient_buffer_length_function(prefix: str, message: Message) -> UnitPart: assert len(message.paths(FINAL)) == 1 specification = FunctionSpecification( @@ -3117,7 +3245,7 @@ def _create_sufficient_buffer_length_function(message: Message, prefix: str) -> ) -def _create_to_structure_procedure(message: Message) -> UnitPart: +def _create_to_structure_procedure(prefix: str, message: Message) -> UnitPart: assert len(message.paths(FINAL)) == 1 statements: ty.List[Statement] = [] @@ -3201,8 +3329,11 @@ def _create_to_structure_procedure(message: Message) -> UnitPart: [ Precondition( AndThen( - Call("Has_Buffer", [Variable("Ctx")]), - Call("Structural_Valid_Message", [Variable("Ctx")]), + Call(ID(prefix * message.identifier * "Has_Buffer"), [Variable("Ctx")]), + Call( + ID(prefix * message.identifier * "Structural_Valid_Message"), + [Variable("Ctx")], + ), ) ), Postcondition( @@ -3250,7 +3381,7 @@ def func(expression: expr.Expr) -> expr.Expr: return func -def _create_to_context_procedure(message: Message) -> UnitPart: +def _create_to_context_procedure(prefix: str, message: Message) -> UnitPart: assert len(message.paths(FINAL)) == 1 body: ty.List[Statement] = [CallStatement("Reset", [Variable("Ctx")])] @@ -3331,9 +3462,15 @@ def _create_to_context_procedure(message: Message) -> UnitPart: Precondition( AndThen( Not(Constrained("Ctx")), - Call("Has_Buffer", [Variable("Ctx")]), - Call("Valid_Structure", [Variable("Struct")]), - Call("Sufficient_Buffer_Length", [Variable("Ctx"), Variable("Struct")]), + Call(ID(prefix * message.identifier * "Has_Buffer"), [Variable("Ctx")]), + Call( + ID(prefix * message.identifier * "Valid_Structure"), + [Variable("Struct")], + ), + Call( + ID(prefix * message.identifier * "Sufficient_Buffer_Length"), + [Variable("Ctx"), Variable("Struct")], + ), ) ), Postcondition( @@ -3358,10 +3495,10 @@ def _create_to_context_procedure(message: Message) -> UnitPart: ) -def _switch_update_conditions(message: Message, field: Field) -> ty.Sequence[Expr]: +def _switch_update_conditions(prefix: str, message: Message, field: Field) -> ty.Sequence[Expr]: return [ - Not(Call("Has_Buffer", [Variable("Ctx")])), - Call(f"{common.sequence_name(message, field)}.Has_Buffer", [Variable("Seq_Ctx")]), + Not(Call(ID(prefix * message.identifier * "Has_Buffer"), [Variable("Ctx")])), + Call(prefix * common.sequence_name(message, field) * "Has_Buffer", [Variable("Seq_Ctx")]), Equal(Variable("Ctx.Buffer_First"), Variable("Seq_Ctx.Buffer_First")), Equal(Variable("Ctx.Buffer_Last"), Variable("Seq_Ctx.Buffer_Last")), Equal( diff --git a/rflx/generator/parser.py b/rflx/generator/parser.py index 37cf9ece8..384d46d16 100644 --- a/rflx/generator/parser.py +++ b/rflx/generator/parser.py @@ -69,8 +69,8 @@ class ParserGenerator: def __init__(self, prefix: str = "") -> None: self.prefix = prefix - @staticmethod def create_get_function( + self, message: Message, scalar_fields: Mapping[Field, Scalar], composite_fields: Sequence[Field], @@ -196,13 +196,35 @@ def create_get_function( [ Precondition( AndThen( - Call("Has_Buffer", [Variable("Ctx")]), - Call("Valid_Next", [Variable("Ctx"), Variable("Fld")]), Call( - "Sufficient_Buffer_Length", [Variable("Ctx"), Variable("Fld")] + ID(self.prefix * message.identifier * "Has_Buffer"), + [Variable("Ctx")], + ), + Call( + ID(self.prefix * message.identifier * "Valid_Next"), + [Variable("Ctx"), Variable("Fld")], + ), + Call( + ID( + self.prefix + * message.identifier + * "Sufficient_Buffer_Length" + ), + [Variable("Ctx"), Variable("Fld")], ), *( - [Not(Call("Composite_Field", [Variable("Fld")]))] + [ + Not( + Call( + ID( + self.prefix + * message.identifier + * "Composite_Field" + ), + [Variable("Fld")], + ) + ) + ] if composite_fields else [] ), @@ -213,8 +235,8 @@ def create_get_function( ], ) - @staticmethod def create_verify_procedure( + self, message: Message, scalar_fields: Mapping[Field, Scalar], composite_fields: Sequence[Field], @@ -358,7 +380,12 @@ def create_verify_procedure( SubprogramDeclaration( specification, [ - Precondition(Call("Has_Buffer", [Variable("Ctx")])), + Precondition( + Call( + ID(self.prefix * message.identifier * "Has_Buffer"), + [Variable("Ctx")], + ) + ), Postcondition( And( Call("Has_Buffer", [Variable("Ctx")]), @@ -483,8 +510,7 @@ def create_verify_procedure( ], ) - @staticmethod - def create_verify_message_procedure(message: Message) -> UnitPart: + def create_verify_message_procedure(self, message: Message) -> UnitPart: specification = ProcedureSpecification( "Verify_Message", [InOutParameter(["Ctx"], "Context")] ) @@ -499,7 +525,12 @@ def create_verify_message_procedure(message: Message) -> UnitPart: SubprogramDeclaration( specification, [ - Precondition(Call("Has_Buffer", [Variable("Ctx")])), + Precondition( + Call( + ID(self.prefix * message.identifier * "Has_Buffer"), + [Variable("Ctx")], + ) + ), Postcondition( And( Call("Has_Buffer", [Variable("Ctx")]), @@ -685,7 +716,14 @@ def create_structural_valid_message_function(self, message: Message) -> UnitPart [ SubprogramDeclaration( specification, - [Precondition(Call("Has_Buffer", [Variable("Ctx")]))], + [ + Precondition( + Call( + ID(self.prefix * message.identifier * "Has_Buffer"), + [Variable("Ctx")], + ) + ) + ], ) ], private=[ @@ -705,7 +743,14 @@ def create_valid_message_function(self, message: Message) -> UnitPart: [ SubprogramDeclaration( specification, - [Precondition(Call("Has_Buffer", [Variable("Ctx")]))], + [ + Precondition( + Call( + ID(self.prefix * message.identifier * "Has_Buffer"), + [Variable("Ctx")], + ) + ) + ], ) ], private=[ @@ -750,7 +795,9 @@ def create_incomplete_message_function() -> UnitPart: ], ) - def create_scalar_getter_functions(self, scalar_fields: Mapping[Field, Scalar]) -> UnitPart: + def create_scalar_getter_functions( + self, message: Message, scalar_fields: Mapping[Field, Scalar] + ) -> UnitPart: def specification(field: Field, field_type: Type) -> FunctionSpecification: if field_type.package == BUILTINS_PACKAGE: type_identifier = ID(field_type.name) @@ -776,7 +823,15 @@ def result(field: Field) -> Expr: specification(f, t), [ Precondition( - Call("Valid", [Variable("Ctx"), Variable(f.affixed_name)]), + Call( + ID(self.prefix * message.identifier * "Valid"), + [ + Variable("Ctx"), + Variable( + ID(self.prefix * message.identifier * f.affixed_name) + ), + ], + ), ) ], ) @@ -790,8 +845,9 @@ def result(field: Field) -> Expr: ], ) - @staticmethod - def create_opaque_getter_functions(opaque_fields: Sequence[Field]) -> UnitPart: + def create_opaque_getter_functions( + self, message: Message, opaque_fields: Sequence[Field] + ) -> UnitPart: def name(field: Field) -> str: return f"Get_{field.name}" @@ -810,14 +866,27 @@ def specification(field: Field) -> FunctionSpecification: Ghost(), Precondition( AndThen( - Call("Has_Buffer", [Variable("Ctx")]), Call( - "Structural_Valid", - [Variable("Ctx"), Variable(f.affixed_name)], + ID(self.prefix * message.identifier * "Has_Buffer"), + [Variable("Ctx")], + ), + Call( + ID(self.prefix * message.identifier * "Structural_Valid"), + [ + Variable("Ctx"), + Variable( + ID(self.prefix * message.identifier * f.affixed_name) + ), + ], ), Call( - "Valid_Next", - [Variable("Ctx"), Variable(f.affixed_name)], + ID(self.prefix * message.identifier * "Valid_Next"), + [ + Variable("Ctx"), + Variable( + ID(self.prefix * message.identifier * f.affixed_name) + ), + ], ), ) ), @@ -891,8 +960,9 @@ def specification(field: Field) -> FunctionSpecification: ], ) - @staticmethod - def create_opaque_getter_procedures(opaque_fields: Sequence[Field]) -> UnitPart: + def create_opaque_getter_procedures( + self, message: Message, opaque_fields: Sequence[Field] + ) -> UnitPart: def specification(field: Field) -> ProcedureSpecification: return ProcedureSpecification( f"Get_{field.name}", @@ -906,14 +976,27 @@ def specification(field: Field) -> ProcedureSpecification: [ Precondition( AndThen( - Call("Has_Buffer", [Variable("Ctx")]), Call( - "Structural_Valid", - [Variable("Ctx"), Variable(f.affixed_name)], + ID(self.prefix * message.identifier * "Has_Buffer"), + [Variable("Ctx")], ), Call( - "Valid_Next", - [Variable("Ctx"), Variable(f.affixed_name)], + ID(self.prefix * message.identifier * "Structural_Valid"), + [ + Variable("Ctx"), + Variable( + ID(self.prefix * message.identifier * f.affixed_name) + ), + ], + ), + Call( + ID(self.prefix * message.identifier * "Valid_Next"), + [ + Variable("Ctx"), + Variable( + ID(self.prefix * message.identifier * f.affixed_name) + ), + ], ), Equal( Length("Data"), @@ -921,10 +1004,16 @@ def specification(field: Field) -> ProcedureSpecification: const.TYPES_TO_LENGTH, [ Call( - "Field_Size", + ID(self.prefix * message.identifier * "Field_Size"), [ Variable("Ctx"), - Variable(f.affixed_name), + Variable( + ID( + self.prefix + * message.identifier + * f.affixed_name + ) + ), ], ) ], @@ -1008,8 +1097,9 @@ def specification(field: Field) -> ProcedureSpecification: ], ) - @staticmethod - def create_generic_opaque_getter_procedures(opaque_fields: Sequence[Field]) -> UnitPart: + def create_generic_opaque_getter_procedures( + self, message: Message, opaque_fields: Sequence[Field] + ) -> UnitPart: def specification(field: Field) -> ProcedureSpecification: return ProcedureSpecification( f"Generic_Get_{field.name}", [Parameter(["Ctx"], "Context")] @@ -1022,10 +1112,18 @@ def specification(field: Field) -> ProcedureSpecification: [ Precondition( And( - Call("Has_Buffer", [Variable("Ctx")]), Call( - "Present", - [Variable("Ctx"), Variable(f.affixed_name)], + ID(self.prefix * message.identifier * "Has_Buffer"), + [Variable("Ctx")], + ), + Call( + ID(self.prefix * message.identifier * "Present"), + [ + Variable("Ctx"), + Variable( + ID(self.prefix * message.identifier * f.affixed_name) + ), + ], ), ) ) diff --git a/rflx/generator/serializer.py b/rflx/generator/serializer.py index 317f7e94c..a69ddc7c7 100644 --- a/rflx/generator/serializer.py +++ b/rflx/generator/serializer.py @@ -51,6 +51,7 @@ Size, Slice, Statement, + StrID, String, Sub, SubprogramBody, @@ -150,7 +151,10 @@ def create_valid_size_function(self, message: Message) -> UnitPart: [ Precondition( And( - Call("Valid_Next", [Variable("Ctx"), Variable("Fld")]), + Call( + ID(self.prefix * message.identifier * "Valid_Next"), + [Variable("Ctx"), Variable("Fld")], + ), ) ) ], @@ -158,8 +162,7 @@ def create_valid_size_function(self, message: Message) -> UnitPart: ], ) - @staticmethod - def create_valid_length_function() -> UnitPart: + def create_valid_length_function(self, message: Message) -> UnitPart: specification = FunctionSpecification( "Valid_Length", "Boolean", @@ -182,7 +185,10 @@ def create_valid_length_function() -> UnitPart: [ Precondition( And( - Call("Valid_Next", [Variable("Ctx"), Variable("Fld")]), + Call( + ID(self.prefix * message.identifier * "Valid_Next"), + [Variable("Ctx"), Variable("Fld")], + ), ) ), Postcondition(TRUE), @@ -386,17 +392,26 @@ def set_context_cursor(field_type: CursorState) -> Assignment: [ Precondition( AndThen( - Call("Has_Buffer", [Variable("Ctx")]), - Call("Valid_Next", [Variable("Ctx"), Variable("Fld")]), - Call("Valid_Value", [Variable("Fld"), Variable("Val")]), Call( - "Valid_Size", + ID(self.prefix * message.identifier * "Has_Buffer"), + [Variable("Ctx")], + ), + Call( + ID(self.prefix * message.identifier * "Valid_Next"), + [Variable("Ctx"), Variable("Fld")], + ), + Call( + ID(self.prefix * message.identifier * "Valid_Value"), + [Variable("Fld"), Variable("Val")], + ), + Call( + ID(self.prefix * message.identifier * "Valid_Size"), [Variable("Ctx"), Variable("Fld"), Variable("Size")], ), LessEqual( Variable("Size"), Call( - "Available_Space", + ID(self.prefix * message.identifier * "Available_Space"), [Variable("Ctx"), Variable("Fld")], ), ), @@ -405,7 +420,14 @@ def set_context_cursor(field_type: CursorState) -> Assignment: If( [ ( - Call("Composite_Field", [Variable("Fld")]), + Call( + ID( + self.prefix + * message.identifier + * "Composite_Field" + ), + [Variable("Fld")], + ), Equal( Mod( Variable("Size"), Size(const.TYPES_BYTE) @@ -576,7 +598,9 @@ def precondition( ) -> Precondition: return Precondition( AndThen( - *self.setter_preconditions(field.affixed_name), + *self.setter_preconditions( + message, ID(self.prefix * message.identifier * field.affixed_name) + ), Call( f"Valid_{field_type.name}" if is_builtin_type(field_type.identifier) @@ -584,12 +608,24 @@ def precondition( [ Variable("Val") if use_enum_records_directly - else Call("To_Base_Integer", [Variable("Val")]) + else Call( + common.to_base_integer(self.prefix, field_type.package), + [Variable("Val")], + ) ], ), - common.sufficient_space_for_field_condition(Variable(field.affixed_name)), + common.sufficient_space_for_field_condition( + ID(self.prefix * message.identifier), + Variable(ID(self.prefix * message.identifier * field.affixed_name)), + ), common.field_condition_call( - message, field, value=Call("To_Base_Integer", [Variable("Val")]) + self.prefix, + message, + field, + value=Call( + common.to_base_integer(self.prefix, field_type.package), + [Variable("Val")], + ), ), ) ) @@ -635,7 +671,10 @@ def body( [ Variable("Ctx"), Variable(field.affixed_name), - Call("To_Base_Integer", [Variable("Val")]), + Call( + common.to_base_integer(self.prefix, field_type.package), + [Variable("Val")], + ), ], ), ], @@ -752,23 +791,34 @@ def body( [ Precondition( AndThen( - *self.setter_preconditions("Fld"), + *self.setter_preconditions(message, "Fld"), In( Variable("Fld"), ChoiceList(*[Variable(f.affixed_name) for f in scalar_fields]), ), - Call("Valid_Value", [Variable("Fld"), Variable("Val")]), Call( - "Valid_Size", + ID(self.prefix * message.identifier * "Valid_Value"), + [Variable("Fld"), Variable("Val")], + ), + Call( + ID(self.prefix * message.identifier * "Valid_Size"), [ Variable("Ctx"), Variable("Fld"), - Call("Field_Size", [Variable("Ctx"), Variable("Fld")]), + Call( + ID(self.prefix * message.identifier * "Field_Size"), + [Variable("Ctx"), Variable("Fld")], + ), ], ), - common.sufficient_space_for_field_condition(Variable("Fld")), + common.sufficient_space_for_field_condition( + ID(self.prefix * message.identifier), Variable("Fld") + ), In( - Call("Field_Size", [Variable("Ctx"), Variable("Fld")]), + Call( + ID(self.prefix * message.identifier * "Field_Size"), + [Variable("Ctx"), Variable("Fld")], + ), ValueRange(Number(1), Size(const.TYPES_BASE_INT)), ), Call( @@ -779,7 +829,12 @@ def body( "Natural", [ Call( - "Field_Size", [Variable("Ctx"), Variable("Fld")] + ID( + self.prefix + * message.identifier + * "Field_Size" + ), + [Variable("Ctx"), Variable("Fld")], ) ], ), @@ -850,17 +905,26 @@ def specification(field: Field) -> ProcedureSpecification: [ Precondition( AndThen( - *self.setter_preconditions(f.affixed_name), - *self.composite_setter_preconditions(f), + *self.setter_preconditions( + message, + ID(self.prefix * message.identifier * f.affixed_name), + ), + *self.composite_setter_preconditions(message, f), *self.composite_setter_field_condition_precondition( message, f, empty=True ), Equal( Call( - "Field_Size", + ID(self.prefix * message.identifier * "Field_Size"), [ Variable("Ctx"), - Variable(f.affixed_name), + Variable( + ID( + self.prefix + * message.identifier + * f.affixed_name + ) + ), ], ), Number(0), @@ -917,7 +981,10 @@ def specification(field: Field) -> ProcedureSpecification: f"Set_{field.name}", [ InOutParameter(["Ctx"], "Context"), - Parameter(["Seq_Ctx"], f"{common.sequence_name(message, field)}.Context"), + Parameter( + ["Seq_Ctx"], + self.prefix * common.sequence_name(message, field) * "Context", + ), ], ) @@ -928,28 +995,34 @@ def specification(field: Field) -> ProcedureSpecification: [ Precondition( AndThen( - *self.setter_preconditions(f.affixed_name), - *self.composite_setter_preconditions(f), + *self.setter_preconditions( + message, ID(self.prefix * message.identifier * f.affixed_name) + ), + *self.composite_setter_preconditions(message, f), *self.composite_setter_field_condition_precondition( message, f, empty=True ), Call( - "Valid_Length", + ID(self.prefix * message.identifier * "Valid_Length"), [ Variable("Ctx"), - Variable(f.affixed_name), + Variable( + ID(self.prefix * message.identifier * f.affixed_name) + ), Call( - f"{common.sequence_name(message, f)}.Byte_Size", + self.prefix + * common.sequence_name(message, f) + * "Byte_Size", [Variable("Seq_Ctx")], ), ], ), Call( - f"{common.sequence_name(message, f)}.Has_Buffer", + self.prefix * common.sequence_name(message, f) * "Has_Buffer", [Variable("Seq_Ctx")], ), Call( - f"{common.sequence_name(message, f)}.Valid", + self.prefix * common.sequence_name(message, f) * "Valid", [Variable("Seq_Ctx")], ), ) @@ -992,7 +1065,9 @@ def specification(field: Field) -> ProcedureSpecification: const.TYPES_TO_BIT_LENGTH, [ Call( - f"{common.sequence_name(message, f)}.Byte_Size", + self.prefix + * common.sequence_name(message, f) + * "Byte_Size", [Variable("Seq_Ctx")], ) ], @@ -1018,7 +1093,7 @@ def specification(field: Field) -> ProcedureSpecification: ], ), CallStatement( - f"{common.sequence_name(message, f)}.Copy", + self.prefix * common.sequence_name(message, f) * "Copy", [ Variable("Seq_Ctx"), Indexed( @@ -1047,18 +1122,23 @@ def specification(field: Field) -> ProcedureSpecification: [ Precondition( AndThen( - *self.setter_preconditions(f.affixed_name), - *self.composite_setter_preconditions(f), + *self.setter_preconditions( + message, ID(self.prefix * message.identifier * f.affixed_name) + ), + *self.composite_setter_preconditions(message, f), Call( - "Valid_Length", + ID(self.prefix * message.identifier * "Valid_Length"), [ Variable("Ctx"), - Variable(f.affixed_name), + Variable( + ID(self.prefix * message.identifier * f.affixed_name) + ), Length("Data"), ], ), common.sufficient_space_for_field_condition( - Variable(f.affixed_name), + ID(self.prefix * message.identifier), + Variable(ID(self.prefix * message.identifier * f.affixed_name)), Mul(Length("Data"), Size(const.TYPES_BYTE)), ), *self.composite_setter_field_condition_precondition(message, f), @@ -1202,13 +1282,17 @@ def formal_parameters(field: Field) -> List[FormalSubprogramDeclaration]: [ Precondition( AndThen( - *self.setter_preconditions(f.affixed_name), - *self.composite_setter_preconditions(f), + *self.setter_preconditions( + message, ID(self.prefix * message.identifier * f.affixed_name) + ), + *self.composite_setter_preconditions(message, f), Call( - "Valid_Length", + ID(self.prefix * message.identifier * "Valid_Length"), [ Variable("Ctx"), - Variable(f.affixed_name), + Variable( + ID(self.prefix * message.identifier * f.affixed_name) + ), Variable("Length"), ], ), @@ -1217,10 +1301,20 @@ def formal_parameters(field: Field) -> List[FormalSubprogramDeclaration]: const.TYPES_TO_LENGTH, [ Call( - "Available_Space", + ID( + self.prefix + * message.identifier + * "Available_Space" + ), [ Variable("Ctx"), - Variable(f.affixed_name), + Variable( + ID( + self.prefix + * message.identifier + * f.affixed_name + ) + ), ], ), ], @@ -1340,8 +1434,15 @@ def specification_public_with_length(field: Field) -> ProcedureSpecification: [ Precondition( AndThen( - *self.setter_preconditions(f.affixed_name), - *self.composite_setter_preconditions(f), + *self.setter_preconditions( + message, + ID( + self.prefix + * message.identifier + * f.affixed_name + ), + ), + *self.composite_setter_preconditions(message, f), ) ), Postcondition( @@ -1363,16 +1464,34 @@ def specification_public_with_length(field: Field) -> ProcedureSpecification: [ Precondition( AndThen( - *self.setter_preconditions(f.affixed_name), + *self.setter_preconditions( + message, + ID( + self.prefix + * message.identifier + * f.affixed_name + ), + ), Call( - "Valid_Length", + ID( + self.prefix + * message.identifier + * "Valid_Length" + ), [ Variable("Ctx"), - Variable(f.affixed_name), + Variable( + ID( + self.prefix + * message.identifier + * f.affixed_name + ) + ), Variable("Length"), ], ), *self.composite_setter_preconditions( + message, f, Call( const.TYPES_TO_BIT_LENGTH, [Variable("Length")] @@ -1444,12 +1563,21 @@ def specification_public_with_length(field: Field) -> ProcedureSpecification: [ Precondition( AndThen( - *self.setter_preconditions(f.affixed_name), + *self.setter_preconditions( + message, + ID(self.prefix * message.identifier * f.affixed_name), + ), Call( - "Valid_Length", + ID(self.prefix * message.identifier * "Valid_Length"), [ Variable("Ctx"), - Variable(f.affixed_name), + Variable( + ID( + self.prefix + * message.identifier + * f.affixed_name + ) + ), Variable("Length"), ], ), @@ -1458,10 +1586,20 @@ def specification_public_with_length(field: Field) -> ProcedureSpecification: const.TYPES_TO_LENGTH, [ Call( - "Available_Space", + ID( + self.prefix + * message.identifier + * "Available_Space" + ), [ Variable("Ctx"), - Variable(f.affixed_name), + Variable( + ID( + self.prefix + * message.identifier + * f.affixed_name + ) + ), ], ), ], @@ -1471,8 +1609,19 @@ def specification_public_with_length(field: Field) -> ProcedureSpecification: Equal( Mod( Call( - "Field_First", - [Variable("Ctx"), Variable(f.affixed_name)], + ID( + self.prefix * message.identifier * "Field_First" + ), + [ + Variable("Ctx"), + Variable( + ID( + self.prefix + * message.identifier + * f.affixed_name + ) + ), + ], ), Size(const.TYPES_BYTE), ), @@ -1542,12 +1691,14 @@ def specification_public_with_length(field: Field) -> ProcedureSpecification: ], ) - @staticmethod - def setter_preconditions(field_name: str) -> List[Expr]: + def setter_preconditions(self, message: Message, field_name: StrID) -> List[Expr]: return [ Not(Constrained("Ctx")), - Call("Has_Buffer", [Variable("Ctx")]), - Call("Valid_Next", [Variable("Ctx"), Variable(field_name)]), + Call(ID(self.prefix * message.identifier * "Has_Buffer"), [Variable("Ctx")]), + Call( + ID(self.prefix * message.identifier * "Valid_Next"), + [Variable("Ctx"), Variable(field_name)], + ), ] def private_setter_postconditions(self, message: Message, field: Field) -> List[Expr]: @@ -1655,12 +1806,12 @@ def composite_setter_postconditions(field: Field) -> List[Expr]: Call("Structural_Valid", [Variable("Ctx"), Variable(field.affixed_name)]), ] - @staticmethod def composite_setter_field_condition_precondition( - message: Message, field: Field, empty: bool = False + self, message: Message, field: Field, empty: bool = False ) -> List[Expr]: return [ common.field_condition_call( + self.prefix, message, field, aggregate=None if empty else Variable("Data"), @@ -1668,10 +1819,15 @@ def composite_setter_field_condition_precondition( ), ] - @staticmethod - def composite_setter_preconditions(field: Field, size: Expr = None) -> List[Expr]: + def composite_setter_preconditions( + self, message: Message, field: Field, size: Expr = None + ) -> List[Expr]: return [ - common.sufficient_space_for_field_condition(Variable(field.affixed_name), size), + common.sufficient_space_for_field_condition( + ID(self.prefix * message.identifier), + Variable(ID(self.prefix * message.identifier * field.affixed_name)), + size, + ), ] def scalar_setter_and_getter_relation( diff --git a/tests/integration/messages_with_single_opaque_field/generated/rflx-test-message.adb b/tests/integration/messages_with_single_opaque_field/generated/rflx-test-message.adb index 2b7835d23..3bb44c54a 100644 --- a/tests/integration/messages_with_single_opaque_field/generated/rflx-test-message.adb +++ b/tests/integration/messages_with_single_opaque_field/generated/rflx-test-message.adb @@ -75,9 +75,9 @@ is F_Final)) with Pre => - Has_Buffer (Ctx) - and Structural_Valid (Ctx, Fld) - and Valid_Predecessor (Ctx, Fld); + RFLX.Test.Message.Has_Buffer (Ctx) + and RFLX.Test.Message.Structural_Valid (Ctx, Fld) + and RFLX.Test.Message.Valid_Predecessor (Ctx, Fld); pragma Warnings (On, "precondition is always False"); @@ -88,8 +88,8 @@ is and Field_First (Ctx, Fld) + Field_Size (Ctx, Fld) - 1 <= Ctx.Written_Last) with Pre => - Has_Buffer (Ctx) - and Valid_Next (Ctx, Fld); + RFLX.Test.Message.Has_Buffer (Ctx) + and RFLX.Test.Message.Valid_Next (Ctx, Fld); function Equal (Ctx : Context; Fld : Field; Data : RFLX_Types.Bytes) return Boolean is (Sufficient_Buffer_Length (Ctx, Fld) @@ -101,7 +101,7 @@ is procedure Reset_Dependent_Fields (Ctx : in out Context; Fld : Field) with Pre => - Valid_Next (Ctx, Fld), + RFLX.Test.Message.Valid_Next (Ctx, Fld), Post => Valid_Next (Ctx, Fld) and Invalid (Ctx.Cursors (Fld)) @@ -195,12 +195,12 @@ is procedure Set (Ctx : in out Context; Fld : Field; Val : RFLX_Types.Base_Integer; Size : RFLX_Types.Bit_Length; State_Valid : Boolean; Buffer_First : out RFLX_Types.Index; Buffer_Last : out RFLX_Types.Index; Offset : out RFLX_Types.Offset) with Pre => - Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) - and then Valid_Value (Fld, Val) - and then Valid_Size (Ctx, Fld, Size) - and then Size <= Available_Space (Ctx, Fld) - and then (if Composite_Field (Fld) then Size mod RFLX_Types.Byte'Size = 0 else State_Valid), + RFLX.Test.Message.Has_Buffer (Ctx) + and then RFLX.Test.Message.Valid_Next (Ctx, Fld) + and then RFLX.Test.Message.Valid_Value (Fld, Val) + and then RFLX.Test.Message.Valid_Size (Ctx, Fld, Size) + and then Size <= RFLX.Test.Message.Available_Space (Ctx, Fld) + and then (if RFLX.Test.Message.Composite_Field (Fld) then Size mod RFLX_Types.Byte'Size = 0 else State_Valid), Post => Valid_Next (Ctx, Fld) and then Buffer_First = RFLX_Types.To_Index (Field_First (Ctx, Fld)) @@ -258,11 +258,11 @@ is procedure Initialize_Data_Private (Ctx : in out Context; Length : RFLX_Types.Length) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Data) - and then Valid_Length (Ctx, F_Data, Length) - and then RFLX_Types.To_Length (Available_Space (Ctx, F_Data)) >= Length - and then Field_First (Ctx, F_Data) mod RFLX_Types.Byte'Size = 1, + and then RFLX.Test.Message.Has_Buffer (Ctx) + and then RFLX.Test.Message.Valid_Next (Ctx, RFLX.Test.Message.F_Data) + and then RFLX.Test.Message.Valid_Length (Ctx, RFLX.Test.Message.F_Data, Length) + and then RFLX_Types.To_Length (RFLX.Test.Message.Available_Space (Ctx, RFLX.Test.Message.F_Data)) >= Length + and then RFLX.Test.Message.Field_First (Ctx, RFLX.Test.Message.F_Data) mod RFLX_Types.Byte'Size = 1, Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Data) diff --git a/tests/integration/messages_with_single_opaque_field/generated/rflx-test-message.ads b/tests/integration/messages_with_single_opaque_field/generated/rflx-test-message.ads index 8006c22a7..27e21567d 100644 --- a/tests/integration/messages_with_single_opaque_field/generated/rflx-test-message.ads +++ b/tests/integration/messages_with_single_opaque_field/generated/rflx-test-message.ads @@ -124,7 +124,7 @@ is procedure Reset (Ctx : in out Context) with Pre => not Ctx'Constrained - and Has_Buffer (Ctx), + and RFLX.Test.Message.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -136,7 +136,7 @@ is procedure Reset (Ctx : in out Context; First : RFLX_Types.Bit_Index; Last : RFLX_Types.Bit_Length) with Pre => not Ctx'Constrained - and Has_Buffer (Ctx) + and RFLX.Test.Message.Has_Buffer (Ctx) and RFLX_Types.To_Index (First) >= Ctx.Buffer_First and RFLX_Types.To_Index (Last) <= Ctx.Buffer_Last and First <= Last + 1 @@ -153,7 +153,7 @@ is procedure Take_Buffer (Ctx : in out Context; Buffer : out RFLX_Types.Bytes_Ptr) with Pre => - Has_Buffer (Ctx), + RFLX.Test.Message.Has_Buffer (Ctx), Post => not Has_Buffer (Ctx) and Buffer /= null @@ -169,15 +169,15 @@ is procedure Copy (Ctx : Context; Buffer : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) - and then Byte_Size (Ctx) = Buffer'Length; + RFLX.Test.Message.Has_Buffer (Ctx) + and then RFLX.Test.Message.Structural_Valid_Message (Ctx) + and then RFLX.Test.Message.Byte_Size (Ctx) = Buffer'Length; function Read (Ctx : Context) return RFLX_Types.Bytes with Ghost, Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx); + RFLX.Test.Message.Has_Buffer (Ctx) + and then RFLX.Test.Message.Structural_Valid_Message (Ctx); pragma Warnings (Off, "formal parameter ""*"" is not referenced"); @@ -191,8 +191,8 @@ is with function Pre (Buffer : RFLX_Types.Bytes) return Boolean is Always_Valid; procedure Generic_Read (Ctx : Context) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) + RFLX.Test.Message.Has_Buffer (Ctx) + and then RFLX.Test.Message.Structural_Valid_Message (Ctx) and then Pre (Read (Ctx)); pragma Warnings (Off, "formal parameter ""*"" is not referenced"); @@ -208,9 +208,9 @@ is procedure Generic_Write (Ctx : in out Context; Offset : RFLX_Types.Length := 0) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Offset < Buffer_Length (Ctx) - and then Pre (Buffer_Length (Ctx), Offset), + and then RFLX.Test.Message.Has_Buffer (Ctx) + and then Offset < RFLX.Test.Message.Buffer_Length (Ctx) + and then Pre (RFLX.Test.Message.Buffer_Length (Ctx), Offset), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -222,7 +222,7 @@ is function Buffer_Length (Ctx : Context) return RFLX_Types.Length with Pre => - Has_Buffer (Ctx); + RFLX.Test.Message.Has_Buffer (Ctx); function Size (Ctx : Context) return RFLX_Types.Bit_Length with Post => @@ -232,16 +232,16 @@ is function Message_Last (Ctx : Context) return RFLX_Types.Bit_Length with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx); + RFLX.Test.Message.Has_Buffer (Ctx) + and then RFLX.Test.Message.Structural_Valid_Message (Ctx); function Written_Last (Ctx : Context) return RFLX_Types.Bit_Length; procedure Data (Ctx : Context; Data : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) - and then Data'Length = Byte_Size (Ctx); + RFLX.Test.Message.Has_Buffer (Ctx) + and then RFLX.Test.Message.Structural_Valid_Message (Ctx) + and then Data'Length = RFLX.Test.Message.Byte_Size (Ctx); pragma Warnings (Off, "postcondition does not mention function result"); @@ -255,7 +255,7 @@ is function Path_Condition (Ctx : Context; Fld : Field) return Boolean with Pre => - Valid_Predecessor (Ctx, Fld), + RFLX.Test.Message.Valid_Predecessor (Ctx, Fld), Post => True; @@ -265,10 +265,10 @@ is function Field_Condition (Ctx : Context; Fld : Field) return Boolean with Pre => - Has_Buffer (Ctx) - and then Valid_Predecessor (Ctx, Fld) - and then Valid_Next (Ctx, Fld) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld), + RFLX.Test.Message.Has_Buffer (Ctx) + and then RFLX.Test.Message.Valid_Predecessor (Ctx, Fld) + and then RFLX.Test.Message.Valid_Next (Ctx, Fld) + and then RFLX.Test.Message.Available_Space (Ctx, Fld) >= RFLX.Test.Message.Field_Size (Ctx, Fld), Post => True; @@ -276,7 +276,7 @@ is function Field_Size (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld), + RFLX.Test.Message.Valid_Next (Ctx, Fld), Post => (case Fld is when F_Data => @@ -286,7 +286,7 @@ is function Field_First (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Index with Pre => - Valid_Next (Ctx, Fld), + RFLX.Test.Message.Valid_Next (Ctx, Fld), Post => True; @@ -294,8 +294,8 @@ is function Field_Last (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld), + RFLX.Test.Message.Valid_Next (Ctx, Fld) + and then RFLX.Test.Message.Available_Space (Ctx, Fld) >= RFLX.Test.Message.Field_Size (Ctx, Fld), Post => (case Fld is when F_Data => @@ -321,16 +321,16 @@ is function Available_Space (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld); + RFLX.Test.Message.Valid_Next (Ctx, Fld); function Equal (Ctx : Context; Fld : Field; Data : RFLX_Types.Bytes) return Boolean with Pre => - Has_Buffer (Ctx) - and Valid_Next (Ctx, Fld); + RFLX.Test.Message.Has_Buffer (Ctx) + and RFLX.Test.Message.Valid_Next (Ctx, Fld); procedure Verify (Ctx : in out Context; Fld : Field) with Pre => - Has_Buffer (Ctx), + RFLX.Test.Message.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -340,7 +340,7 @@ is procedure Verify_Message (Ctx : in out Context) with Pre => - Has_Buffer (Ctx), + RFLX.Test.Message.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -362,11 +362,11 @@ is function Structural_Valid_Message (Ctx : Context) return Boolean with Pre => - Has_Buffer (Ctx); + RFLX.Test.Message.Has_Buffer (Ctx); function Valid_Message (Ctx : Context) return Boolean with Pre => - Has_Buffer (Ctx); + RFLX.Test.Message.Has_Buffer (Ctx); pragma Warnings (Off, "postcondition does not mention function result"); @@ -383,18 +383,18 @@ is function Get_Data (Ctx : Context) return RFLX_Types.Bytes with Ghost, Pre => - Has_Buffer (Ctx) - and then Structural_Valid (Ctx, F_Data) - and then Valid_Next (Ctx, F_Data), + RFLX.Test.Message.Has_Buffer (Ctx) + and then RFLX.Test.Message.Structural_Valid (Ctx, RFLX.Test.Message.F_Data) + and then RFLX.Test.Message.Valid_Next (Ctx, RFLX.Test.Message.F_Data), Post => Get_Data'Result'Length = RFLX_Types.To_Length (Field_Size (Ctx, F_Data)); procedure Get_Data (Ctx : Context; Data : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid (Ctx, F_Data) - and then Valid_Next (Ctx, F_Data) - and then Data'Length = RFLX_Types.To_Length (Field_Size (Ctx, F_Data)), + RFLX.Test.Message.Has_Buffer (Ctx) + and then RFLX.Test.Message.Structural_Valid (Ctx, RFLX.Test.Message.F_Data) + and then RFLX.Test.Message.Valid_Next (Ctx, RFLX.Test.Message.F_Data) + and then Data'Length = RFLX_Types.To_Length (RFLX.Test.Message.Field_Size (Ctx, RFLX.Test.Message.F_Data)), Post => Equal (Ctx, F_Data, Data); @@ -402,14 +402,14 @@ is with procedure Process_Data (Data : RFLX_Types.Bytes); procedure Generic_Get_Data (Ctx : Context) with Pre => - Has_Buffer (Ctx) - and Present (Ctx, F_Data); + RFLX.Test.Message.Has_Buffer (Ctx) + and RFLX.Test.Message.Present (Ctx, RFLX.Test.Message.F_Data); pragma Warnings (Off, "postcondition does not mention function result"); function Valid_Length (Ctx : Context; Fld : Field; Length : RFLX_Types.Length) return Boolean with Pre => - Valid_Next (Ctx, Fld), + RFLX.Test.Message.Valid_Next (Ctx, Fld), Post => True; @@ -418,11 +418,11 @@ is procedure Set_Data_Empty (Ctx : in out Context) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Data) - and then Available_Space (Ctx, F_Data) >= Field_Size (Ctx, F_Data) - and then Field_Condition (Ctx, F_Data) - and then Field_Size (Ctx, F_Data) = 0, + and then RFLX.Test.Message.Has_Buffer (Ctx) + and then RFLX.Test.Message.Valid_Next (Ctx, RFLX.Test.Message.F_Data) + and then RFLX.Test.Message.Available_Space (Ctx, RFLX.Test.Message.F_Data) >= RFLX.Test.Message.Field_Size (Ctx, RFLX.Test.Message.F_Data) + and then RFLX.Test.Message.Field_Condition (Ctx, RFLX.Test.Message.F_Data) + and then RFLX.Test.Message.Field_Size (Ctx, RFLX.Test.Message.F_Data) = 0, Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Data) @@ -438,10 +438,10 @@ is procedure Initialize_Data (Ctx : in out Context; Length : RFLX_Types.Length) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Data) - and then Valid_Length (Ctx, F_Data, Length) - and then Available_Space (Ctx, F_Data) >= RFLX_Types.To_Bit_Length (Length), + and then RFLX.Test.Message.Has_Buffer (Ctx) + and then RFLX.Test.Message.Valid_Next (Ctx, RFLX.Test.Message.F_Data) + and then RFLX.Test.Message.Valid_Length (Ctx, RFLX.Test.Message.F_Data, Length) + and then RFLX.Test.Message.Available_Space (Ctx, RFLX.Test.Message.F_Data) >= RFLX_Types.To_Bit_Length (Length), Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Data) @@ -458,12 +458,12 @@ is procedure Set_Data (Ctx : in out Context; Data : RFLX_Types.Bytes) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Data) - and then Available_Space (Ctx, F_Data) >= Field_Size (Ctx, F_Data) - and then Valid_Length (Ctx, F_Data, Data'Length) - and then Available_Space (Ctx, F_Data) >= Data'Length * RFLX_Types.Byte'Size - and then Field_Condition (Ctx, F_Data), + and then RFLX.Test.Message.Has_Buffer (Ctx) + and then RFLX.Test.Message.Valid_Next (Ctx, RFLX.Test.Message.F_Data) + and then RFLX.Test.Message.Available_Space (Ctx, RFLX.Test.Message.F_Data) >= RFLX.Test.Message.Field_Size (Ctx, RFLX.Test.Message.F_Data) + and then RFLX.Test.Message.Valid_Length (Ctx, RFLX.Test.Message.F_Data, Data'Length) + and then RFLX.Test.Message.Available_Space (Ctx, RFLX.Test.Message.F_Data) >= Data'Length * RFLX_Types.Byte'Size + and then RFLX.Test.Message.Field_Condition (Ctx, RFLX.Test.Message.F_Data), Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Data) @@ -483,11 +483,11 @@ is procedure Generic_Set_Data (Ctx : in out Context; Length : RFLX_Types.Length) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Data) - and then Available_Space (Ctx, F_Data) >= Field_Size (Ctx, F_Data) - and then Valid_Length (Ctx, F_Data, Length) - and then RFLX_Types.To_Length (Available_Space (Ctx, F_Data)) >= Length + and then RFLX.Test.Message.Has_Buffer (Ctx) + and then RFLX.Test.Message.Valid_Next (Ctx, RFLX.Test.Message.F_Data) + and then RFLX.Test.Message.Available_Space (Ctx, RFLX.Test.Message.F_Data) >= RFLX.Test.Message.Field_Size (Ctx, RFLX.Test.Message.F_Data) + and then RFLX.Test.Message.Valid_Length (Ctx, RFLX.Test.Message.F_Data, Length) + and then RFLX_Types.To_Length (RFLX.Test.Message.Available_Space (Ctx, RFLX.Test.Message.F_Data)) >= Length and then Process_Data_Pre (Length), Post => Has_Buffer (Ctx) @@ -601,7 +601,7 @@ private function Initialized (Ctx : Context) return Boolean is (Ctx.Verified_Last = Ctx.First - 1 and then Valid_Next (Ctx, F_Data) - and then Field_First (Ctx, F_Data) rem RFLX_Types.Byte'Size = 1 + and then RFLX.Test.Message.Field_First (Ctx, RFLX.Test.Message.F_Data) rem RFLX_Types.Byte'Size = 1 and then Available_Space (Ctx, F_Data) = Ctx.Last - Ctx.First + 1 and then (for all F in Field => Invalid (Ctx, F))); @@ -703,7 +703,7 @@ private (Size <= Available_Space (Ctx, Fld)) with Pre => - Valid_Next (Ctx, Fld); + RFLX.Test.Message.Valid_Next (Ctx, Fld); function Valid_Length (Ctx : Context; Fld : Field; Length : RFLX_Types.Length) return Boolean is (Valid_Size (Ctx, Fld, RFLX_Types.To_Bit_Length (Length))); diff --git a/tests/integration/parameterized_messages/generated/rflx-test-message.adb b/tests/integration/parameterized_messages/generated/rflx-test-message.adb index a46aa64d2..3e0a54cc7 100644 --- a/tests/integration/parameterized_messages/generated/rflx-test-message.adb +++ b/tests/integration/parameterized_messages/generated/rflx-test-message.adb @@ -86,9 +86,9 @@ is F_Final)) with Pre => - Has_Buffer (Ctx) - and Structural_Valid (Ctx, Fld) - and Valid_Predecessor (Ctx, Fld); + RFLX.Test.Message.Has_Buffer (Ctx) + and RFLX.Test.Message.Structural_Valid (Ctx, Fld) + and RFLX.Test.Message.Valid_Predecessor (Ctx, Fld); pragma Warnings (On, "precondition is always False"); @@ -106,8 +106,8 @@ is and Field_First (Ctx, Fld) + Field_Size (Ctx, Fld) - 1 <= Ctx.Written_Last) with Pre => - Has_Buffer (Ctx) - and Valid_Next (Ctx, Fld); + RFLX.Test.Message.Has_Buffer (Ctx) + and RFLX.Test.Message.Valid_Next (Ctx, Fld); function Equal (Ctx : Context; Fld : Field; Data : RFLX_Types.Bytes) return Boolean is (Sufficient_Buffer_Length (Ctx, Fld) @@ -119,7 +119,7 @@ is procedure Reset_Dependent_Fields (Ctx : in out Context; Fld : Field) with Pre => - Valid_Next (Ctx, Fld), + RFLX.Test.Message.Valid_Next (Ctx, Fld), Post => Valid_Next (Ctx, Fld) and Invalid (Ctx.Cursors (Fld)) @@ -248,11 +248,11 @@ is procedure Initialize_Data_Private (Ctx : in out Context; Length : RFLX_Types.Length) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Data) - and then Valid_Length (Ctx, F_Data, Length) - and then RFLX_Types.To_Length (Available_Space (Ctx, F_Data)) >= Length - and then Field_First (Ctx, F_Data) mod RFLX_Types.Byte'Size = 1, + and then RFLX.Test.Message.Has_Buffer (Ctx) + and then RFLX.Test.Message.Valid_Next (Ctx, RFLX.Test.Message.F_Data) + and then RFLX.Test.Message.Valid_Length (Ctx, RFLX.Test.Message.F_Data, Length) + and then RFLX_Types.To_Length (RFLX.Test.Message.Available_Space (Ctx, RFLX.Test.Message.F_Data)) >= Length + and then RFLX.Test.Message.Field_First (Ctx, RFLX.Test.Message.F_Data) mod RFLX_Types.Byte'Size = 1, Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Data) @@ -294,11 +294,11 @@ is procedure Initialize_Extension_Private (Ctx : in out Context; Length : RFLX_Types.Length) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Extension) - and then Valid_Length (Ctx, F_Extension, Length) - and then RFLX_Types.To_Length (Available_Space (Ctx, F_Extension)) >= Length - and then Field_First (Ctx, F_Extension) mod RFLX_Types.Byte'Size = 1, + and then RFLX.Test.Message.Has_Buffer (Ctx) + and then RFLX.Test.Message.Valid_Next (Ctx, RFLX.Test.Message.F_Extension) + and then RFLX.Test.Message.Valid_Length (Ctx, RFLX.Test.Message.F_Extension, Length) + and then RFLX_Types.To_Length (RFLX.Test.Message.Available_Space (Ctx, RFLX.Test.Message.F_Extension)) >= Length + and then RFLX.Test.Message.Field_First (Ctx, RFLX.Test.Message.F_Extension) mod RFLX_Types.Byte'Size = 1, Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Extension) diff --git a/tests/integration/parameterized_messages/generated/rflx-test-message.ads b/tests/integration/parameterized_messages/generated/rflx-test-message.ads index a0f5ed05e..57b32eec7 100644 --- a/tests/integration/parameterized_messages/generated/rflx-test-message.ads +++ b/tests/integration/parameterized_messages/generated/rflx-test-message.ads @@ -129,7 +129,7 @@ is procedure Reset (Ctx : in out Context; Length : Test.Length; Extended : Boolean) with Pre => not Ctx'Constrained - and Has_Buffer (Ctx), + and RFLX.Test.Message.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -143,7 +143,7 @@ is procedure Reset (Ctx : in out Context; First : RFLX_Types.Bit_Index; Last : RFLX_Types.Bit_Length; Length : Test.Length; Extended : Boolean) with Pre => not Ctx'Constrained - and Has_Buffer (Ctx) + and RFLX.Test.Message.Has_Buffer (Ctx) and RFLX_Types.To_Index (First) >= Ctx.Buffer_First and RFLX_Types.To_Index (Last) <= Ctx.Buffer_Last and First <= Last + 1 @@ -162,7 +162,7 @@ is procedure Take_Buffer (Ctx : in out Context; Buffer : out RFLX_Types.Bytes_Ptr) with Pre => - Has_Buffer (Ctx), + RFLX.Test.Message.Has_Buffer (Ctx), Post => not Has_Buffer (Ctx) and Buffer /= null @@ -180,15 +180,15 @@ is procedure Copy (Ctx : Context; Buffer : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) - and then Byte_Size (Ctx) = Buffer'Length; + RFLX.Test.Message.Has_Buffer (Ctx) + and then RFLX.Test.Message.Structural_Valid_Message (Ctx) + and then RFLX.Test.Message.Byte_Size (Ctx) = Buffer'Length; function Read (Ctx : Context) return RFLX_Types.Bytes with Ghost, Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx); + RFLX.Test.Message.Has_Buffer (Ctx) + and then RFLX.Test.Message.Structural_Valid_Message (Ctx); pragma Warnings (Off, "formal parameter ""*"" is not referenced"); @@ -202,8 +202,8 @@ is with function Pre (Buffer : RFLX_Types.Bytes) return Boolean is Always_Valid; procedure Generic_Read (Ctx : Context) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) + RFLX.Test.Message.Has_Buffer (Ctx) + and then RFLX.Test.Message.Structural_Valid_Message (Ctx) and then Pre (Read (Ctx)); pragma Warnings (Off, "formal parameter ""*"" is not referenced"); @@ -219,9 +219,9 @@ is procedure Generic_Write (Ctx : in out Context; Offset : RFLX_Types.Length := 0) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Offset < Buffer_Length (Ctx) - and then Pre (Buffer_Length (Ctx), Offset), + and then RFLX.Test.Message.Has_Buffer (Ctx) + and then Offset < RFLX.Test.Message.Buffer_Length (Ctx) + and then Pre (RFLX.Test.Message.Buffer_Length (Ctx), Offset), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -233,7 +233,7 @@ is function Buffer_Length (Ctx : Context) return RFLX_Types.Length with Pre => - Has_Buffer (Ctx); + RFLX.Test.Message.Has_Buffer (Ctx); function Size (Ctx : Context) return RFLX_Types.Bit_Length with Post => @@ -243,16 +243,16 @@ is function Message_Last (Ctx : Context) return RFLX_Types.Bit_Length with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx); + RFLX.Test.Message.Has_Buffer (Ctx) + and then RFLX.Test.Message.Structural_Valid_Message (Ctx); function Written_Last (Ctx : Context) return RFLX_Types.Bit_Length; procedure Data (Ctx : Context; Data : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) - and then Data'Length = Byte_Size (Ctx); + RFLX.Test.Message.Has_Buffer (Ctx) + and then RFLX.Test.Message.Structural_Valid_Message (Ctx) + and then Data'Length = RFLX.Test.Message.Byte_Size (Ctx); pragma Warnings (Off, "postcondition does not mention function result"); @@ -266,7 +266,7 @@ is function Path_Condition (Ctx : Context; Fld : Field) return Boolean with Pre => - Valid_Predecessor (Ctx, Fld), + RFLX.Test.Message.Valid_Predecessor (Ctx, Fld), Post => True; @@ -276,10 +276,10 @@ is function Field_Condition (Ctx : Context; Fld : Field) return Boolean with Pre => - Has_Buffer (Ctx) - and then Valid_Predecessor (Ctx, Fld) - and then Valid_Next (Ctx, Fld) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld), + RFLX.Test.Message.Has_Buffer (Ctx) + and then RFLX.Test.Message.Valid_Predecessor (Ctx, Fld) + and then RFLX.Test.Message.Valid_Next (Ctx, Fld) + and then RFLX.Test.Message.Available_Space (Ctx, Fld) >= RFLX.Test.Message.Field_Size (Ctx, Fld), Post => True; @@ -287,7 +287,7 @@ is function Field_Size (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld), + RFLX.Test.Message.Valid_Next (Ctx, Fld), Post => (case Fld is when F_Data | F_Extension => @@ -297,7 +297,7 @@ is function Field_First (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Index with Pre => - Valid_Next (Ctx, Fld), + RFLX.Test.Message.Valid_Next (Ctx, Fld), Post => True; @@ -305,8 +305,8 @@ is function Field_Last (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld), + RFLX.Test.Message.Valid_Next (Ctx, Fld) + and then RFLX.Test.Message.Available_Space (Ctx, Fld) >= RFLX.Test.Message.Field_Size (Ctx, Fld), Post => (case Fld is when F_Data | F_Extension => @@ -332,16 +332,16 @@ is function Available_Space (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld); + RFLX.Test.Message.Valid_Next (Ctx, Fld); function Equal (Ctx : Context; Fld : Field; Data : RFLX_Types.Bytes) return Boolean with Pre => - Has_Buffer (Ctx) - and Valid_Next (Ctx, Fld); + RFLX.Test.Message.Has_Buffer (Ctx) + and RFLX.Test.Message.Valid_Next (Ctx, Fld); procedure Verify (Ctx : in out Context; Fld : Field) with Pre => - Has_Buffer (Ctx), + RFLX.Test.Message.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -353,7 +353,7 @@ is procedure Verify_Message (Ctx : in out Context) with Pre => - Has_Buffer (Ctx), + RFLX.Test.Message.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -377,11 +377,11 @@ is function Structural_Valid_Message (Ctx : Context) return Boolean with Pre => - Has_Buffer (Ctx); + RFLX.Test.Message.Has_Buffer (Ctx); function Valid_Message (Ctx : Context) return Boolean with Pre => - Has_Buffer (Ctx); + RFLX.Test.Message.Has_Buffer (Ctx); pragma Warnings (Off, "postcondition does not mention function result"); @@ -398,36 +398,36 @@ is function Get_Data (Ctx : Context) return RFLX_Types.Bytes with Ghost, Pre => - Has_Buffer (Ctx) - and then Structural_Valid (Ctx, F_Data) - and then Valid_Next (Ctx, F_Data), + RFLX.Test.Message.Has_Buffer (Ctx) + and then RFLX.Test.Message.Structural_Valid (Ctx, RFLX.Test.Message.F_Data) + and then RFLX.Test.Message.Valid_Next (Ctx, RFLX.Test.Message.F_Data), Post => Get_Data'Result'Length = RFLX_Types.To_Length (Field_Size (Ctx, F_Data)); function Get_Extension (Ctx : Context) return RFLX_Types.Bytes with Ghost, Pre => - Has_Buffer (Ctx) - and then Structural_Valid (Ctx, F_Extension) - and then Valid_Next (Ctx, F_Extension), + RFLX.Test.Message.Has_Buffer (Ctx) + and then RFLX.Test.Message.Structural_Valid (Ctx, RFLX.Test.Message.F_Extension) + and then RFLX.Test.Message.Valid_Next (Ctx, RFLX.Test.Message.F_Extension), Post => Get_Extension'Result'Length = RFLX_Types.To_Length (Field_Size (Ctx, F_Extension)); procedure Get_Data (Ctx : Context; Data : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid (Ctx, F_Data) - and then Valid_Next (Ctx, F_Data) - and then Data'Length = RFLX_Types.To_Length (Field_Size (Ctx, F_Data)), + RFLX.Test.Message.Has_Buffer (Ctx) + and then RFLX.Test.Message.Structural_Valid (Ctx, RFLX.Test.Message.F_Data) + and then RFLX.Test.Message.Valid_Next (Ctx, RFLX.Test.Message.F_Data) + and then Data'Length = RFLX_Types.To_Length (RFLX.Test.Message.Field_Size (Ctx, RFLX.Test.Message.F_Data)), Post => Equal (Ctx, F_Data, Data); procedure Get_Extension (Ctx : Context; Data : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid (Ctx, F_Extension) - and then Valid_Next (Ctx, F_Extension) - and then Data'Length = RFLX_Types.To_Length (Field_Size (Ctx, F_Extension)), + RFLX.Test.Message.Has_Buffer (Ctx) + and then RFLX.Test.Message.Structural_Valid (Ctx, RFLX.Test.Message.F_Extension) + and then RFLX.Test.Message.Valid_Next (Ctx, RFLX.Test.Message.F_Extension) + and then Data'Length = RFLX_Types.To_Length (RFLX.Test.Message.Field_Size (Ctx, RFLX.Test.Message.F_Extension)), Post => Equal (Ctx, F_Extension, Data); @@ -435,21 +435,21 @@ is with procedure Process_Data (Data : RFLX_Types.Bytes); procedure Generic_Get_Data (Ctx : Context) with Pre => - Has_Buffer (Ctx) - and Present (Ctx, F_Data); + RFLX.Test.Message.Has_Buffer (Ctx) + and RFLX.Test.Message.Present (Ctx, RFLX.Test.Message.F_Data); generic with procedure Process_Extension (Extension : RFLX_Types.Bytes); procedure Generic_Get_Extension (Ctx : Context) with Pre => - Has_Buffer (Ctx) - and Present (Ctx, F_Extension); + RFLX.Test.Message.Has_Buffer (Ctx) + and RFLX.Test.Message.Present (Ctx, RFLX.Test.Message.F_Extension); pragma Warnings (Off, "postcondition does not mention function result"); function Valid_Length (Ctx : Context; Fld : Field; Length : RFLX_Types.Length) return Boolean with Pre => - Valid_Next (Ctx, Fld), + RFLX.Test.Message.Valid_Next (Ctx, Fld), Post => True; @@ -458,9 +458,9 @@ is procedure Initialize_Data (Ctx : in out Context) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Data) - and then Available_Space (Ctx, F_Data) >= Field_Size (Ctx, F_Data), + and then RFLX.Test.Message.Has_Buffer (Ctx) + and then RFLX.Test.Message.Valid_Next (Ctx, RFLX.Test.Message.F_Data) + and then RFLX.Test.Message.Available_Space (Ctx, RFLX.Test.Message.F_Data) >= RFLX.Test.Message.Field_Size (Ctx, RFLX.Test.Message.F_Data), Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Data) @@ -484,9 +484,9 @@ is procedure Initialize_Extension (Ctx : in out Context) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Extension) - and then Available_Space (Ctx, F_Extension) >= Field_Size (Ctx, F_Extension), + and then RFLX.Test.Message.Has_Buffer (Ctx) + and then RFLX.Test.Message.Valid_Next (Ctx, RFLX.Test.Message.F_Extension) + and then RFLX.Test.Message.Available_Space (Ctx, RFLX.Test.Message.F_Extension) >= RFLX.Test.Message.Field_Size (Ctx, RFLX.Test.Message.F_Extension), Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Extension) @@ -505,12 +505,12 @@ is procedure Set_Data (Ctx : in out Context; Data : RFLX_Types.Bytes) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Data) - and then Available_Space (Ctx, F_Data) >= Field_Size (Ctx, F_Data) - and then Valid_Length (Ctx, F_Data, Data'Length) - and then Available_Space (Ctx, F_Data) >= Data'Length * RFLX_Types.Byte'Size - and then Field_Condition (Ctx, F_Data), + and then RFLX.Test.Message.Has_Buffer (Ctx) + and then RFLX.Test.Message.Valid_Next (Ctx, RFLX.Test.Message.F_Data) + and then RFLX.Test.Message.Available_Space (Ctx, RFLX.Test.Message.F_Data) >= RFLX.Test.Message.Field_Size (Ctx, RFLX.Test.Message.F_Data) + and then RFLX.Test.Message.Valid_Length (Ctx, RFLX.Test.Message.F_Data, Data'Length) + and then RFLX.Test.Message.Available_Space (Ctx, RFLX.Test.Message.F_Data) >= Data'Length * RFLX_Types.Byte'Size + and then RFLX.Test.Message.Field_Condition (Ctx, RFLX.Test.Message.F_Data), Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Data) @@ -535,12 +535,12 @@ is procedure Set_Extension (Ctx : in out Context; Data : RFLX_Types.Bytes) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Extension) - and then Available_Space (Ctx, F_Extension) >= Field_Size (Ctx, F_Extension) - and then Valid_Length (Ctx, F_Extension, Data'Length) - and then Available_Space (Ctx, F_Extension) >= Data'Length * RFLX_Types.Byte'Size - and then Field_Condition (Ctx, F_Extension), + and then RFLX.Test.Message.Has_Buffer (Ctx) + and then RFLX.Test.Message.Valid_Next (Ctx, RFLX.Test.Message.F_Extension) + and then RFLX.Test.Message.Available_Space (Ctx, RFLX.Test.Message.F_Extension) >= RFLX.Test.Message.Field_Size (Ctx, RFLX.Test.Message.F_Extension) + and then RFLX.Test.Message.Valid_Length (Ctx, RFLX.Test.Message.F_Extension, Data'Length) + and then RFLX.Test.Message.Available_Space (Ctx, RFLX.Test.Message.F_Extension) >= Data'Length * RFLX_Types.Byte'Size + and then RFLX.Test.Message.Field_Condition (Ctx, RFLX.Test.Message.F_Extension), Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Extension) @@ -563,11 +563,11 @@ is procedure Generic_Set_Data (Ctx : in out Context; Length : RFLX_Types.Length) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Data) - and then Available_Space (Ctx, F_Data) >= Field_Size (Ctx, F_Data) - and then Valid_Length (Ctx, F_Data, Length) - and then RFLX_Types.To_Length (Available_Space (Ctx, F_Data)) >= Length + and then RFLX.Test.Message.Has_Buffer (Ctx) + and then RFLX.Test.Message.Valid_Next (Ctx, RFLX.Test.Message.F_Data) + and then RFLX.Test.Message.Available_Space (Ctx, RFLX.Test.Message.F_Data) >= RFLX.Test.Message.Field_Size (Ctx, RFLX.Test.Message.F_Data) + and then RFLX.Test.Message.Valid_Length (Ctx, RFLX.Test.Message.F_Data, Length) + and then RFLX_Types.To_Length (RFLX.Test.Message.Available_Space (Ctx, RFLX.Test.Message.F_Data)) >= Length and then Process_Data_Pre (Length), Post => Has_Buffer (Ctx) @@ -595,11 +595,11 @@ is procedure Generic_Set_Extension (Ctx : in out Context; Length : RFLX_Types.Length) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Extension) - and then Available_Space (Ctx, F_Extension) >= Field_Size (Ctx, F_Extension) - and then Valid_Length (Ctx, F_Extension, Length) - and then RFLX_Types.To_Length (Available_Space (Ctx, F_Extension)) >= Length + and then RFLX.Test.Message.Has_Buffer (Ctx) + and then RFLX.Test.Message.Valid_Next (Ctx, RFLX.Test.Message.F_Extension) + and then RFLX.Test.Message.Available_Space (Ctx, RFLX.Test.Message.F_Extension) >= RFLX.Test.Message.Field_Size (Ctx, RFLX.Test.Message.F_Extension) + and then RFLX.Test.Message.Valid_Length (Ctx, RFLX.Test.Message.F_Extension, Length) + and then RFLX_Types.To_Length (RFLX.Test.Message.Available_Space (Ctx, RFLX.Test.Message.F_Extension)) >= Length and then Process_Data_Pre (Length), Post => Has_Buffer (Ctx) @@ -728,7 +728,7 @@ private function Initialized (Ctx : Context) return Boolean is (Ctx.Verified_Last = Ctx.First - 1 and then Valid_Next (Ctx, F_Data) - and then Field_First (Ctx, F_Data) rem RFLX_Types.Byte'Size = 1 + and then RFLX.Test.Message.Field_First (Ctx, RFLX.Test.Message.F_Data) rem RFLX_Types.Byte'Size = 1 and then Available_Space (Ctx, F_Data) = Ctx.Last - Ctx.First + 1 and then (for all F in Field => Invalid (Ctx, F))); @@ -846,7 +846,7 @@ private (Size = Field_Size (Ctx, Fld)) with Pre => - Valid_Next (Ctx, Fld); + RFLX.Test.Message.Valid_Next (Ctx, Fld); function Valid_Length (Ctx : Context; Fld : Field; Length : RFLX_Types.Length) return Boolean is (Valid_Size (Ctx, Fld, RFLX_Types.To_Bit_Length (Length))); diff --git a/tests/integration/session_case_expression_numeric/generated/rflx-test-message.adb b/tests/integration/session_case_expression_numeric/generated/rflx-test-message.adb index 4967fbdeb..1f30ee2bd 100644 --- a/tests/integration/session_case_expression_numeric/generated/rflx-test-message.adb +++ b/tests/integration/session_case_expression_numeric/generated/rflx-test-message.adb @@ -75,9 +75,9 @@ is F_Final)) with Pre => - Has_Buffer (Ctx) - and Structural_Valid (Ctx, Fld) - and Valid_Predecessor (Ctx, Fld); + RFLX.Test.Message.Has_Buffer (Ctx) + and RFLX.Test.Message.Structural_Valid (Ctx, Fld) + and RFLX.Test.Message.Valid_Predecessor (Ctx, Fld); pragma Warnings (On, "precondition is always False"); @@ -88,12 +88,12 @@ is and Field_First (Ctx, Fld) + Field_Size (Ctx, Fld) - 1 <= Ctx.Written_Last) with Pre => - Has_Buffer (Ctx) - and Valid_Next (Ctx, Fld); + RFLX.Test.Message.Has_Buffer (Ctx) + and RFLX.Test.Message.Valid_Next (Ctx, Fld); procedure Reset_Dependent_Fields (Ctx : in out Context; Fld : Field) with Pre => - Valid_Next (Ctx, Fld), + RFLX.Test.Message.Valid_Next (Ctx, Fld), Post => Valid_Next (Ctx, Fld) and Invalid (Ctx.Cursors (Fld)) @@ -123,9 +123,9 @@ is function Get (Ctx : Context; Fld : Field) return RFLX_Types.Base_Integer with Pre => - Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) - and then Sufficient_Buffer_Length (Ctx, Fld) + RFLX.Test.Message.Has_Buffer (Ctx) + and then RFLX.Test.Message.Valid_Next (Ctx, Fld) + and then RFLX.Test.Message.Sufficient_Buffer_Length (Ctx, Fld) is First : constant RFLX_Types.Bit_Index := Field_First (Ctx, Fld); Last : constant RFLX_Types.Bit_Index := Field_Last (Ctx, Fld); @@ -181,11 +181,11 @@ is procedure Set (Ctx : in out Context; Fld : Field; Val : RFLX_Types.Base_Integer; Size : RFLX_Types.Bit_Length; State_Valid : Boolean; Buffer_First : out RFLX_Types.Index; Buffer_Last : out RFLX_Types.Index; Offset : out RFLX_Types.Offset) with Pre => - Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) - and then Valid_Value (Fld, Val) - and then Valid_Size (Ctx, Fld, Size) - and then Size <= Available_Space (Ctx, Fld) + RFLX.Test.Message.Has_Buffer (Ctx) + and then RFLX.Test.Message.Valid_Next (Ctx, Fld) + and then RFLX.Test.Message.Valid_Value (Fld, Val) + and then RFLX.Test.Message.Valid_Size (Ctx, Fld, Size) + and then Size <= RFLX.Test.Message.Available_Space (Ctx, Fld) and then State_Valid, Post => Valid_Next (Ctx, Fld) @@ -238,14 +238,14 @@ is procedure Set_Scalar (Ctx : in out Context; Fld : Field; Val : RFLX_Types.Base_Integer) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) + and then RFLX.Test.Message.Has_Buffer (Ctx) + and then RFLX.Test.Message.Valid_Next (Ctx, Fld) and then Fld in F_Value - and then Valid_Value (Fld, Val) - and then Valid_Size (Ctx, Fld, Field_Size (Ctx, Fld)) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld) - and then Field_Size (Ctx, Fld) in 1 .. RFLX_Types.Base_Integer'Size - and then RFLX_Types.Fits_Into (Val, Natural (Field_Size (Ctx, Fld))), + and then RFLX.Test.Message.Valid_Value (Fld, Val) + and then RFLX.Test.Message.Valid_Size (Ctx, Fld, RFLX.Test.Message.Field_Size (Ctx, Fld)) + and then RFLX.Test.Message.Available_Space (Ctx, Fld) >= RFLX.Test.Message.Field_Size (Ctx, Fld) + and then RFLX.Test.Message.Field_Size (Ctx, Fld) in 1 .. RFLX_Types.Base_Integer'Size + and then RFLX_Types.Fits_Into (Val, Natural (RFLX.Test.Message.Field_Size (Ctx, Fld))), Post => Has_Buffer (Ctx) and Valid (Ctx, Fld) @@ -272,7 +272,7 @@ is procedure Set_Value (Ctx : in out Context; Val : RFLX.Test.Tiny_Int) is begin - Set_Scalar (Ctx, F_Value, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_Value, RFLX.Test.To_Base_Integer (Val)); end Set_Value; procedure To_Structure (Ctx : Context; Struct : out Structure) is diff --git a/tests/integration/session_case_expression_numeric/generated/rflx-test-message.ads b/tests/integration/session_case_expression_numeric/generated/rflx-test-message.ads index 3e4636b6a..de77d206c 100644 --- a/tests/integration/session_case_expression_numeric/generated/rflx-test-message.ads +++ b/tests/integration/session_case_expression_numeric/generated/rflx-test-message.ads @@ -120,7 +120,7 @@ is procedure Reset (Ctx : in out Context) with Pre => not Ctx'Constrained - and Has_Buffer (Ctx), + and RFLX.Test.Message.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -132,7 +132,7 @@ is procedure Reset (Ctx : in out Context; First : RFLX_Types.Bit_Index; Last : RFLX_Types.Bit_Length) with Pre => not Ctx'Constrained - and Has_Buffer (Ctx) + and RFLX.Test.Message.Has_Buffer (Ctx) and RFLX_Types.To_Index (First) >= Ctx.Buffer_First and RFLX_Types.To_Index (Last) <= Ctx.Buffer_Last and First <= Last + 1 @@ -149,7 +149,7 @@ is procedure Take_Buffer (Ctx : in out Context; Buffer : out RFLX_Types.Bytes_Ptr) with Pre => - Has_Buffer (Ctx), + RFLX.Test.Message.Has_Buffer (Ctx), Post => not Has_Buffer (Ctx) and Buffer /= null @@ -165,15 +165,15 @@ is procedure Copy (Ctx : Context; Buffer : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) - and then Byte_Size (Ctx) = Buffer'Length; + RFLX.Test.Message.Has_Buffer (Ctx) + and then RFLX.Test.Message.Structural_Valid_Message (Ctx) + and then RFLX.Test.Message.Byte_Size (Ctx) = Buffer'Length; function Read (Ctx : Context) return RFLX_Types.Bytes with Ghost, Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx); + RFLX.Test.Message.Has_Buffer (Ctx) + and then RFLX.Test.Message.Structural_Valid_Message (Ctx); pragma Warnings (Off, "formal parameter ""*"" is not referenced"); @@ -187,8 +187,8 @@ is with function Pre (Buffer : RFLX_Types.Bytes) return Boolean is Always_Valid; procedure Generic_Read (Ctx : Context) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) + RFLX.Test.Message.Has_Buffer (Ctx) + and then RFLX.Test.Message.Structural_Valid_Message (Ctx) and then Pre (Read (Ctx)); pragma Warnings (Off, "formal parameter ""*"" is not referenced"); @@ -204,9 +204,9 @@ is procedure Generic_Write (Ctx : in out Context; Offset : RFLX_Types.Length := 0) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Offset < Buffer_Length (Ctx) - and then Pre (Buffer_Length (Ctx), Offset), + and then RFLX.Test.Message.Has_Buffer (Ctx) + and then Offset < RFLX.Test.Message.Buffer_Length (Ctx) + and then Pre (RFLX.Test.Message.Buffer_Length (Ctx), Offset), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -218,7 +218,7 @@ is function Buffer_Length (Ctx : Context) return RFLX_Types.Length with Pre => - Has_Buffer (Ctx); + RFLX.Test.Message.Has_Buffer (Ctx); function Size (Ctx : Context) return RFLX_Types.Bit_Length with Post => @@ -228,16 +228,16 @@ is function Message_Last (Ctx : Context) return RFLX_Types.Bit_Length with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx); + RFLX.Test.Message.Has_Buffer (Ctx) + and then RFLX.Test.Message.Structural_Valid_Message (Ctx); function Written_Last (Ctx : Context) return RFLX_Types.Bit_Length; procedure Data (Ctx : Context; Data : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) - and then Data'Length = Byte_Size (Ctx); + RFLX.Test.Message.Has_Buffer (Ctx) + and then RFLX.Test.Message.Structural_Valid_Message (Ctx) + and then Data'Length = RFLX.Test.Message.Byte_Size (Ctx); pragma Warnings (Off, "postcondition does not mention function result"); @@ -251,7 +251,7 @@ is function Path_Condition (Ctx : Context; Fld : Field) return Boolean with Pre => - Valid_Predecessor (Ctx, Fld), + RFLX.Test.Message.Valid_Predecessor (Ctx, Fld), Post => True; @@ -261,10 +261,10 @@ is function Field_Condition (Ctx : Context; Fld : Field) return Boolean with Pre => - Has_Buffer (Ctx) - and then Valid_Predecessor (Ctx, Fld) - and then Valid_Next (Ctx, Fld) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld), + RFLX.Test.Message.Has_Buffer (Ctx) + and then RFLX.Test.Message.Valid_Predecessor (Ctx, Fld) + and then RFLX.Test.Message.Valid_Next (Ctx, Fld) + and then RFLX.Test.Message.Available_Space (Ctx, Fld) >= RFLX.Test.Message.Field_Size (Ctx, Fld), Post => True; @@ -272,13 +272,13 @@ is function Field_Size (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld); + RFLX.Test.Message.Valid_Next (Ctx, Fld); pragma Warnings (Off, "postcondition does not mention function result"); function Field_First (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Index with Pre => - Valid_Next (Ctx, Fld), + RFLX.Test.Message.Valid_Next (Ctx, Fld), Post => True; @@ -286,8 +286,8 @@ is function Field_Last (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld); + RFLX.Test.Message.Valid_Next (Ctx, Fld) + and then RFLX.Test.Message.Available_Space (Ctx, Fld) >= RFLX.Test.Message.Field_Size (Ctx, Fld); pragma Warnings (Off, "postcondition does not mention function result"); @@ -309,11 +309,11 @@ is function Available_Space (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld); + RFLX.Test.Message.Valid_Next (Ctx, Fld); procedure Verify (Ctx : in out Context; Fld : Field) with Pre => - Has_Buffer (Ctx), + RFLX.Test.Message.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -323,7 +323,7 @@ is procedure Verify_Message (Ctx : in out Context) with Pre => - Has_Buffer (Ctx), + RFLX.Test.Message.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -345,11 +345,11 @@ is function Structural_Valid_Message (Ctx : Context) return Boolean with Pre => - Has_Buffer (Ctx); + RFLX.Test.Message.Has_Buffer (Ctx); function Valid_Message (Ctx : Context) return Boolean with Pre => - Has_Buffer (Ctx); + RFLX.Test.Message.Has_Buffer (Ctx); pragma Warnings (Off, "postcondition does not mention function result"); @@ -363,7 +363,7 @@ is function Get_Value (Ctx : Context) return RFLX.Test.Tiny_Int with Pre => - Valid (Ctx, F_Value); + RFLX.Test.Message.Valid (Ctx, RFLX.Test.Message.F_Value); pragma Warnings (On, "precondition is always False"); @@ -371,7 +371,7 @@ is function Valid_Length (Ctx : Context; Fld : Field; Length : RFLX_Types.Length) return Boolean with Pre => - Valid_Next (Ctx, Fld), + RFLX.Test.Message.Valid_Next (Ctx, Fld), Post => True; @@ -383,11 +383,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Value) - and then RFLX.Test.Valid_Tiny_Int (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_Value) >= Field_Size (Ctx, F_Value) - and then Field_Condition (Ctx, F_Value), + and then RFLX.Test.Message.Has_Buffer (Ctx) + and then RFLX.Test.Message.Valid_Next (Ctx, RFLX.Test.Message.F_Value) + and then RFLX.Test.Valid_Tiny_Int (RFLX.Test.To_Base_Integer (Val)) + and then RFLX.Test.Message.Available_Space (Ctx, RFLX.Test.Message.F_Value) >= RFLX.Test.Message.Field_Size (Ctx, RFLX.Test.Message.F_Value) + and then RFLX.Test.Message.Field_Condition (Ctx, RFLX.Test.Message.F_Value), Post => Has_Buffer (Ctx) and Valid (Ctx, F_Value) @@ -427,8 +427,8 @@ is procedure To_Structure (Ctx : Context; Struct : out Structure) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx), + RFLX.Test.Message.Has_Buffer (Ctx) + and then RFLX.Test.Message.Structural_Valid_Message (Ctx), Post => Valid_Structure (Struct); @@ -437,9 +437,9 @@ is procedure To_Context (Struct : Structure; Ctx : in out Context) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Structure (Struct) - and then Sufficient_Buffer_Length (Ctx, Struct), + and then RFLX.Test.Message.Has_Buffer (Ctx) + and then RFLX.Test.Message.Valid_Structure (Struct) + and then RFLX.Test.Message.Sufficient_Buffer_Length (Ctx, Struct), Post => Has_Buffer (Ctx) and Structural_Valid_Message (Ctx) @@ -531,7 +531,7 @@ private function Initialized (Ctx : Context) return Boolean is (Ctx.Verified_Last = Ctx.First - 1 and then Valid_Next (Ctx, F_Value) - and then Field_First (Ctx, F_Value) rem RFLX_Types.Byte'Size = 1 + and then RFLX.Test.Message.Field_First (Ctx, RFLX.Test.Message.F_Value) rem RFLX_Types.Byte'Size = 1 and then Available_Space (Ctx, F_Value) = Ctx.Last - Ctx.First + 1 and then (for all F in Field => Invalid (Ctx, F))); @@ -638,7 +638,7 @@ private (Size = Field_Size (Ctx, Fld)) with Pre => - Valid_Next (Ctx, Fld); + RFLX.Test.Message.Valid_Next (Ctx, Fld); function Valid_Length (Ctx : Context; Fld : Field; Length : RFLX_Types.Length) return Boolean is (Valid_Size (Ctx, Fld, RFLX_Types.To_Bit_Length (Length))); diff --git a/tests/integration/session_endianness/generated/rflx-messages-msg.adb b/tests/integration/session_endianness/generated/rflx-messages-msg.adb index 34d60849e..522b53342 100644 --- a/tests/integration/session_endianness/generated/rflx-messages-msg.adb +++ b/tests/integration/session_endianness/generated/rflx-messages-msg.adb @@ -77,9 +77,9 @@ is F_Final)) with Pre => - Has_Buffer (Ctx) - and Structural_Valid (Ctx, Fld) - and Valid_Predecessor (Ctx, Fld); + RFLX.Messages.Msg.Has_Buffer (Ctx) + and RFLX.Messages.Msg.Structural_Valid (Ctx, Fld) + and RFLX.Messages.Msg.Valid_Predecessor (Ctx, Fld); pragma Warnings (On, "precondition is always False"); @@ -97,12 +97,12 @@ is and Field_First (Ctx, Fld) + Field_Size (Ctx, Fld) - 1 <= Ctx.Written_Last) with Pre => - Has_Buffer (Ctx) - and Valid_Next (Ctx, Fld); + RFLX.Messages.Msg.Has_Buffer (Ctx) + and RFLX.Messages.Msg.Valid_Next (Ctx, Fld); procedure Reset_Dependent_Fields (Ctx : in out Context; Fld : Field) with Pre => - Valid_Next (Ctx, Fld), + RFLX.Messages.Msg.Valid_Next (Ctx, Fld), Post => Valid_Next (Ctx, Fld) and Invalid (Ctx.Cursors (Fld)) @@ -141,9 +141,9 @@ is function Get (Ctx : Context; Fld : Field) return RFLX_Types.Base_Integer with Pre => - Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) - and then Sufficient_Buffer_Length (Ctx, Fld) + RFLX.Messages.Msg.Has_Buffer (Ctx) + and then RFLX.Messages.Msg.Valid_Next (Ctx, Fld) + and then RFLX.Messages.Msg.Sufficient_Buffer_Length (Ctx, Fld) is First : constant RFLX_Types.Bit_Index := Field_First (Ctx, Fld); Last : constant RFLX_Types.Bit_Index := Field_Last (Ctx, Fld); @@ -201,11 +201,11 @@ is procedure Set (Ctx : in out Context; Fld : Field; Val : RFLX_Types.Base_Integer; Size : RFLX_Types.Bit_Length; State_Valid : Boolean; Buffer_First : out RFLX_Types.Index; Buffer_Last : out RFLX_Types.Index; Offset : out RFLX_Types.Offset) with Pre => - Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) - and then Valid_Value (Fld, Val) - and then Valid_Size (Ctx, Fld, Size) - and then Size <= Available_Space (Ctx, Fld) + RFLX.Messages.Msg.Has_Buffer (Ctx) + and then RFLX.Messages.Msg.Valid_Next (Ctx, Fld) + and then RFLX.Messages.Msg.Valid_Value (Fld, Val) + and then RFLX.Messages.Msg.Valid_Size (Ctx, Fld, Size) + and then Size <= RFLX.Messages.Msg.Available_Space (Ctx, Fld) and then State_Valid, Post => Valid_Next (Ctx, Fld) @@ -265,14 +265,14 @@ is procedure Set_Scalar (Ctx : in out Context; Fld : Field; Val : RFLX_Types.Base_Integer) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) + and then RFLX.Messages.Msg.Has_Buffer (Ctx) + and then RFLX.Messages.Msg.Valid_Next (Ctx, Fld) and then Fld in F_A | F_B - and then Valid_Value (Fld, Val) - and then Valid_Size (Ctx, Fld, Field_Size (Ctx, Fld)) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld) - and then Field_Size (Ctx, Fld) in 1 .. RFLX_Types.Base_Integer'Size - and then RFLX_Types.Fits_Into (Val, Natural (Field_Size (Ctx, Fld))), + and then RFLX.Messages.Msg.Valid_Value (Fld, Val) + and then RFLX.Messages.Msg.Valid_Size (Ctx, Fld, RFLX.Messages.Msg.Field_Size (Ctx, Fld)) + and then RFLX.Messages.Msg.Available_Space (Ctx, Fld) >= RFLX.Messages.Msg.Field_Size (Ctx, Fld) + and then RFLX.Messages.Msg.Field_Size (Ctx, Fld) in 1 .. RFLX_Types.Base_Integer'Size + and then RFLX_Types.Fits_Into (Val, Natural (RFLX.Messages.Msg.Field_Size (Ctx, Fld))), Post => Has_Buffer (Ctx) and Valid (Ctx, Fld) @@ -306,12 +306,12 @@ is procedure Set_A (Ctx : in out Context; Val : RFLX.Messages.Integer) is begin - Set_Scalar (Ctx, F_A, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_A, RFLX.Messages.To_Base_Integer (Val)); end Set_A; procedure Set_B (Ctx : in out Context; Val : RFLX.Messages.Enum_T) is begin - Set_Scalar (Ctx, F_B, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_B, RFLX.Messages.To_Base_Integer (Val)); end Set_B; procedure To_Structure (Ctx : Context; Struct : out Structure) is diff --git a/tests/integration/session_endianness/generated/rflx-messages-msg.ads b/tests/integration/session_endianness/generated/rflx-messages-msg.ads index 59e7b8893..de934ab57 100644 --- a/tests/integration/session_endianness/generated/rflx-messages-msg.ads +++ b/tests/integration/session_endianness/generated/rflx-messages-msg.ads @@ -120,7 +120,7 @@ is procedure Reset (Ctx : in out Context) with Pre => not Ctx'Constrained - and Has_Buffer (Ctx), + and RFLX.Messages.Msg.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -132,7 +132,7 @@ is procedure Reset (Ctx : in out Context; First : RFLX_Types.Bit_Index; Last : RFLX_Types.Bit_Length) with Pre => not Ctx'Constrained - and Has_Buffer (Ctx) + and RFLX.Messages.Msg.Has_Buffer (Ctx) and RFLX_Types.To_Index (First) >= Ctx.Buffer_First and RFLX_Types.To_Index (Last) <= Ctx.Buffer_Last and First <= Last + 1 @@ -149,7 +149,7 @@ is procedure Take_Buffer (Ctx : in out Context; Buffer : out RFLX_Types.Bytes_Ptr) with Pre => - Has_Buffer (Ctx), + RFLX.Messages.Msg.Has_Buffer (Ctx), Post => not Has_Buffer (Ctx) and Buffer /= null @@ -165,15 +165,15 @@ is procedure Copy (Ctx : Context; Buffer : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) - and then Byte_Size (Ctx) = Buffer'Length; + RFLX.Messages.Msg.Has_Buffer (Ctx) + and then RFLX.Messages.Msg.Structural_Valid_Message (Ctx) + and then RFLX.Messages.Msg.Byte_Size (Ctx) = Buffer'Length; function Read (Ctx : Context) return RFLX_Types.Bytes with Ghost, Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx); + RFLX.Messages.Msg.Has_Buffer (Ctx) + and then RFLX.Messages.Msg.Structural_Valid_Message (Ctx); pragma Warnings (Off, "formal parameter ""*"" is not referenced"); @@ -187,8 +187,8 @@ is with function Pre (Buffer : RFLX_Types.Bytes) return Boolean is Always_Valid; procedure Generic_Read (Ctx : Context) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) + RFLX.Messages.Msg.Has_Buffer (Ctx) + and then RFLX.Messages.Msg.Structural_Valid_Message (Ctx) and then Pre (Read (Ctx)); pragma Warnings (Off, "formal parameter ""*"" is not referenced"); @@ -204,9 +204,9 @@ is procedure Generic_Write (Ctx : in out Context; Offset : RFLX_Types.Length := 0) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Offset < Buffer_Length (Ctx) - and then Pre (Buffer_Length (Ctx), Offset), + and then RFLX.Messages.Msg.Has_Buffer (Ctx) + and then Offset < RFLX.Messages.Msg.Buffer_Length (Ctx) + and then Pre (RFLX.Messages.Msg.Buffer_Length (Ctx), Offset), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -218,7 +218,7 @@ is function Buffer_Length (Ctx : Context) return RFLX_Types.Length with Pre => - Has_Buffer (Ctx); + RFLX.Messages.Msg.Has_Buffer (Ctx); function Size (Ctx : Context) return RFLX_Types.Bit_Length with Post => @@ -228,16 +228,16 @@ is function Message_Last (Ctx : Context) return RFLX_Types.Bit_Length with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx); + RFLX.Messages.Msg.Has_Buffer (Ctx) + and then RFLX.Messages.Msg.Structural_Valid_Message (Ctx); function Written_Last (Ctx : Context) return RFLX_Types.Bit_Length; procedure Data (Ctx : Context; Data : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) - and then Data'Length = Byte_Size (Ctx); + RFLX.Messages.Msg.Has_Buffer (Ctx) + and then RFLX.Messages.Msg.Structural_Valid_Message (Ctx) + and then Data'Length = RFLX.Messages.Msg.Byte_Size (Ctx); pragma Warnings (Off, "postcondition does not mention function result"); @@ -251,7 +251,7 @@ is function Path_Condition (Ctx : Context; Fld : Field) return Boolean with Pre => - Valid_Predecessor (Ctx, Fld), + RFLX.Messages.Msg.Valid_Predecessor (Ctx, Fld), Post => True; @@ -261,10 +261,10 @@ is function Field_Condition (Ctx : Context; Fld : Field) return Boolean with Pre => - Has_Buffer (Ctx) - and then Valid_Predecessor (Ctx, Fld) - and then Valid_Next (Ctx, Fld) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld), + RFLX.Messages.Msg.Has_Buffer (Ctx) + and then RFLX.Messages.Msg.Valid_Predecessor (Ctx, Fld) + and then RFLX.Messages.Msg.Valid_Next (Ctx, Fld) + and then RFLX.Messages.Msg.Available_Space (Ctx, Fld) >= RFLX.Messages.Msg.Field_Size (Ctx, Fld), Post => True; @@ -272,13 +272,13 @@ is function Field_Size (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld); + RFLX.Messages.Msg.Valid_Next (Ctx, Fld); pragma Warnings (Off, "postcondition does not mention function result"); function Field_First (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Index with Pre => - Valid_Next (Ctx, Fld), + RFLX.Messages.Msg.Valid_Next (Ctx, Fld), Post => True; @@ -286,8 +286,8 @@ is function Field_Last (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld); + RFLX.Messages.Msg.Valid_Next (Ctx, Fld) + and then RFLX.Messages.Msg.Available_Space (Ctx, Fld) >= RFLX.Messages.Msg.Field_Size (Ctx, Fld); pragma Warnings (Off, "postcondition does not mention function result"); @@ -309,11 +309,11 @@ is function Available_Space (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld); + RFLX.Messages.Msg.Valid_Next (Ctx, Fld); procedure Verify (Ctx : in out Context; Fld : Field) with Pre => - Has_Buffer (Ctx), + RFLX.Messages.Msg.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -323,7 +323,7 @@ is procedure Verify_Message (Ctx : in out Context) with Pre => - Has_Buffer (Ctx), + RFLX.Messages.Msg.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -345,11 +345,11 @@ is function Structural_Valid_Message (Ctx : Context) return Boolean with Pre => - Has_Buffer (Ctx); + RFLX.Messages.Msg.Has_Buffer (Ctx); function Valid_Message (Ctx : Context) return Boolean with Pre => - Has_Buffer (Ctx); + RFLX.Messages.Msg.Has_Buffer (Ctx); pragma Warnings (Off, "postcondition does not mention function result"); @@ -363,11 +363,11 @@ is function Get_A (Ctx : Context) return RFLX.Messages.Integer with Pre => - Valid (Ctx, F_A); + RFLX.Messages.Msg.Valid (Ctx, RFLX.Messages.Msg.F_A); function Get_B (Ctx : Context) return RFLX.Messages.Enum_T with Pre => - Valid (Ctx, F_B); + RFLX.Messages.Msg.Valid (Ctx, RFLX.Messages.Msg.F_B); pragma Warnings (On, "precondition is always False"); @@ -375,7 +375,7 @@ is function Valid_Length (Ctx : Context; Fld : Field; Length : RFLX_Types.Length) return Boolean with Pre => - Valid_Next (Ctx, Fld), + RFLX.Messages.Msg.Valid_Next (Ctx, Fld), Post => True; @@ -387,11 +387,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_A) - and then RFLX.Messages.Valid_Integer (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_A) >= Field_Size (Ctx, F_A) - and then Field_Condition (Ctx, F_A), + and then RFLX.Messages.Msg.Has_Buffer (Ctx) + and then RFLX.Messages.Msg.Valid_Next (Ctx, RFLX.Messages.Msg.F_A) + and then RFLX.Messages.Valid_Integer (RFLX.Messages.To_Base_Integer (Val)) + and then RFLX.Messages.Msg.Available_Space (Ctx, RFLX.Messages.Msg.F_A) >= RFLX.Messages.Msg.Field_Size (Ctx, RFLX.Messages.Msg.F_A) + and then RFLX.Messages.Msg.Field_Condition (Ctx, RFLX.Messages.Msg.F_A), Post => Has_Buffer (Ctx) and Valid (Ctx, F_A) @@ -411,11 +411,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_B) - and then RFLX.Messages.Valid_Enum_T (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_B) >= Field_Size (Ctx, F_B) - and then Field_Condition (Ctx, F_B), + and then RFLX.Messages.Msg.Has_Buffer (Ctx) + and then RFLX.Messages.Msg.Valid_Next (Ctx, RFLX.Messages.Msg.F_B) + and then RFLX.Messages.Valid_Enum_T (RFLX.Messages.To_Base_Integer (Val)) + and then RFLX.Messages.Msg.Available_Space (Ctx, RFLX.Messages.Msg.F_B) >= RFLX.Messages.Msg.Field_Size (Ctx, RFLX.Messages.Msg.F_B) + and then RFLX.Messages.Msg.Field_Condition (Ctx, RFLX.Messages.Msg.F_B), Post => Has_Buffer (Ctx) and Valid (Ctx, F_B) @@ -460,8 +460,8 @@ is procedure To_Structure (Ctx : Context; Struct : out Structure) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx), + RFLX.Messages.Msg.Has_Buffer (Ctx) + and then RFLX.Messages.Msg.Structural_Valid_Message (Ctx), Post => Valid_Structure (Struct); @@ -470,9 +470,9 @@ is procedure To_Context (Struct : Structure; Ctx : in out Context) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Structure (Struct) - and then Sufficient_Buffer_Length (Ctx, Struct), + and then RFLX.Messages.Msg.Has_Buffer (Ctx) + and then RFLX.Messages.Msg.Valid_Structure (Struct) + and then RFLX.Messages.Msg.Sufficient_Buffer_Length (Ctx, Struct), Post => Has_Buffer (Ctx) and Structural_Valid_Message (Ctx) @@ -574,7 +574,7 @@ private function Initialized (Ctx : Context) return Boolean is (Ctx.Verified_Last = Ctx.First - 1 and then Valid_Next (Ctx, F_A) - and then Field_First (Ctx, F_A) rem RFLX_Types.Byte'Size = 1 + and then RFLX.Messages.Msg.Field_First (Ctx, RFLX.Messages.Msg.F_A) rem RFLX_Types.Byte'Size = 1 and then Available_Space (Ctx, F_A) = Ctx.Last - Ctx.First + 1 and then (for all F in Field => Invalid (Ctx, F))); @@ -689,7 +689,7 @@ private (Size = Field_Size (Ctx, Fld)) with Pre => - Valid_Next (Ctx, Fld); + RFLX.Messages.Msg.Valid_Next (Ctx, Fld); function Valid_Length (Ctx : Context; Fld : Field; Length : RFLX_Types.Length) return Boolean is (Valid_Size (Ctx, Fld, RFLX_Types.To_Bit_Length (Length))); diff --git a/tests/integration/session_endianness/generated/rflx-messages-msg_le.adb b/tests/integration/session_endianness/generated/rflx-messages-msg_le.adb index 6a645c4c3..ab7461972 100644 --- a/tests/integration/session_endianness/generated/rflx-messages-msg_le.adb +++ b/tests/integration/session_endianness/generated/rflx-messages-msg_le.adb @@ -77,9 +77,9 @@ is F_Final)) with Pre => - Has_Buffer (Ctx) - and Structural_Valid (Ctx, Fld) - and Valid_Predecessor (Ctx, Fld); + RFLX.Messages.Msg_LE.Has_Buffer (Ctx) + and RFLX.Messages.Msg_LE.Structural_Valid (Ctx, Fld) + and RFLX.Messages.Msg_LE.Valid_Predecessor (Ctx, Fld); pragma Warnings (On, "precondition is always False"); @@ -97,12 +97,12 @@ is and Field_First (Ctx, Fld) + Field_Size (Ctx, Fld) - 1 <= Ctx.Written_Last) with Pre => - Has_Buffer (Ctx) - and Valid_Next (Ctx, Fld); + RFLX.Messages.Msg_LE.Has_Buffer (Ctx) + and RFLX.Messages.Msg_LE.Valid_Next (Ctx, Fld); procedure Reset_Dependent_Fields (Ctx : in out Context; Fld : Field) with Pre => - Valid_Next (Ctx, Fld), + RFLX.Messages.Msg_LE.Valid_Next (Ctx, Fld), Post => Valid_Next (Ctx, Fld) and Invalid (Ctx.Cursors (Fld)) @@ -141,9 +141,9 @@ is function Get (Ctx : Context; Fld : Field) return RFLX_Types.Base_Integer with Pre => - Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) - and then Sufficient_Buffer_Length (Ctx, Fld) + RFLX.Messages.Msg_LE.Has_Buffer (Ctx) + and then RFLX.Messages.Msg_LE.Valid_Next (Ctx, Fld) + and then RFLX.Messages.Msg_LE.Sufficient_Buffer_Length (Ctx, Fld) is First : constant RFLX_Types.Bit_Index := Field_First (Ctx, Fld); Last : constant RFLX_Types.Bit_Index := Field_Last (Ctx, Fld); @@ -201,11 +201,11 @@ is procedure Set (Ctx : in out Context; Fld : Field; Val : RFLX_Types.Base_Integer; Size : RFLX_Types.Bit_Length; State_Valid : Boolean; Buffer_First : out RFLX_Types.Index; Buffer_Last : out RFLX_Types.Index; Offset : out RFLX_Types.Offset) with Pre => - Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) - and then Valid_Value (Fld, Val) - and then Valid_Size (Ctx, Fld, Size) - and then Size <= Available_Space (Ctx, Fld) + RFLX.Messages.Msg_LE.Has_Buffer (Ctx) + and then RFLX.Messages.Msg_LE.Valid_Next (Ctx, Fld) + and then RFLX.Messages.Msg_LE.Valid_Value (Fld, Val) + and then RFLX.Messages.Msg_LE.Valid_Size (Ctx, Fld, Size) + and then Size <= RFLX.Messages.Msg_LE.Available_Space (Ctx, Fld) and then State_Valid, Post => Valid_Next (Ctx, Fld) @@ -265,14 +265,14 @@ is procedure Set_Scalar (Ctx : in out Context; Fld : Field; Val : RFLX_Types.Base_Integer) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) + and then RFLX.Messages.Msg_LE.Has_Buffer (Ctx) + and then RFLX.Messages.Msg_LE.Valid_Next (Ctx, Fld) and then Fld in F_C | F_D - and then Valid_Value (Fld, Val) - and then Valid_Size (Ctx, Fld, Field_Size (Ctx, Fld)) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld) - and then Field_Size (Ctx, Fld) in 1 .. RFLX_Types.Base_Integer'Size - and then RFLX_Types.Fits_Into (Val, Natural (Field_Size (Ctx, Fld))), + and then RFLX.Messages.Msg_LE.Valid_Value (Fld, Val) + and then RFLX.Messages.Msg_LE.Valid_Size (Ctx, Fld, RFLX.Messages.Msg_LE.Field_Size (Ctx, Fld)) + and then RFLX.Messages.Msg_LE.Available_Space (Ctx, Fld) >= RFLX.Messages.Msg_LE.Field_Size (Ctx, Fld) + and then RFLX.Messages.Msg_LE.Field_Size (Ctx, Fld) in 1 .. RFLX_Types.Base_Integer'Size + and then RFLX_Types.Fits_Into (Val, Natural (RFLX.Messages.Msg_LE.Field_Size (Ctx, Fld))), Post => Has_Buffer (Ctx) and Valid (Ctx, Fld) @@ -306,12 +306,12 @@ is procedure Set_C (Ctx : in out Context; Val : RFLX.Messages.Integer) is begin - Set_Scalar (Ctx, F_C, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_C, RFLX.Messages.To_Base_Integer (Val)); end Set_C; procedure Set_D (Ctx : in out Context; Val : RFLX.Messages.Enum_T) is begin - Set_Scalar (Ctx, F_D, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_D, RFLX.Messages.To_Base_Integer (Val)); end Set_D; procedure To_Structure (Ctx : Context; Struct : out Structure) is diff --git a/tests/integration/session_endianness/generated/rflx-messages-msg_le.ads b/tests/integration/session_endianness/generated/rflx-messages-msg_le.ads index 86068b0d2..b007ee965 100644 --- a/tests/integration/session_endianness/generated/rflx-messages-msg_le.ads +++ b/tests/integration/session_endianness/generated/rflx-messages-msg_le.ads @@ -120,7 +120,7 @@ is procedure Reset (Ctx : in out Context) with Pre => not Ctx'Constrained - and Has_Buffer (Ctx), + and RFLX.Messages.Msg_LE.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -132,7 +132,7 @@ is procedure Reset (Ctx : in out Context; First : RFLX_Types.Bit_Index; Last : RFLX_Types.Bit_Length) with Pre => not Ctx'Constrained - and Has_Buffer (Ctx) + and RFLX.Messages.Msg_LE.Has_Buffer (Ctx) and RFLX_Types.To_Index (First) >= Ctx.Buffer_First and RFLX_Types.To_Index (Last) <= Ctx.Buffer_Last and First <= Last + 1 @@ -149,7 +149,7 @@ is procedure Take_Buffer (Ctx : in out Context; Buffer : out RFLX_Types.Bytes_Ptr) with Pre => - Has_Buffer (Ctx), + RFLX.Messages.Msg_LE.Has_Buffer (Ctx), Post => not Has_Buffer (Ctx) and Buffer /= null @@ -165,15 +165,15 @@ is procedure Copy (Ctx : Context; Buffer : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) - and then Byte_Size (Ctx) = Buffer'Length; + RFLX.Messages.Msg_LE.Has_Buffer (Ctx) + and then RFLX.Messages.Msg_LE.Structural_Valid_Message (Ctx) + and then RFLX.Messages.Msg_LE.Byte_Size (Ctx) = Buffer'Length; function Read (Ctx : Context) return RFLX_Types.Bytes with Ghost, Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx); + RFLX.Messages.Msg_LE.Has_Buffer (Ctx) + and then RFLX.Messages.Msg_LE.Structural_Valid_Message (Ctx); pragma Warnings (Off, "formal parameter ""*"" is not referenced"); @@ -187,8 +187,8 @@ is with function Pre (Buffer : RFLX_Types.Bytes) return Boolean is Always_Valid; procedure Generic_Read (Ctx : Context) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) + RFLX.Messages.Msg_LE.Has_Buffer (Ctx) + and then RFLX.Messages.Msg_LE.Structural_Valid_Message (Ctx) and then Pre (Read (Ctx)); pragma Warnings (Off, "formal parameter ""*"" is not referenced"); @@ -204,9 +204,9 @@ is procedure Generic_Write (Ctx : in out Context; Offset : RFLX_Types.Length := 0) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Offset < Buffer_Length (Ctx) - and then Pre (Buffer_Length (Ctx), Offset), + and then RFLX.Messages.Msg_LE.Has_Buffer (Ctx) + and then Offset < RFLX.Messages.Msg_LE.Buffer_Length (Ctx) + and then Pre (RFLX.Messages.Msg_LE.Buffer_Length (Ctx), Offset), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -218,7 +218,7 @@ is function Buffer_Length (Ctx : Context) return RFLX_Types.Length with Pre => - Has_Buffer (Ctx); + RFLX.Messages.Msg_LE.Has_Buffer (Ctx); function Size (Ctx : Context) return RFLX_Types.Bit_Length with Post => @@ -228,16 +228,16 @@ is function Message_Last (Ctx : Context) return RFLX_Types.Bit_Length with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx); + RFLX.Messages.Msg_LE.Has_Buffer (Ctx) + and then RFLX.Messages.Msg_LE.Structural_Valid_Message (Ctx); function Written_Last (Ctx : Context) return RFLX_Types.Bit_Length; procedure Data (Ctx : Context; Data : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) - and then Data'Length = Byte_Size (Ctx); + RFLX.Messages.Msg_LE.Has_Buffer (Ctx) + and then RFLX.Messages.Msg_LE.Structural_Valid_Message (Ctx) + and then Data'Length = RFLX.Messages.Msg_LE.Byte_Size (Ctx); pragma Warnings (Off, "postcondition does not mention function result"); @@ -251,7 +251,7 @@ is function Path_Condition (Ctx : Context; Fld : Field) return Boolean with Pre => - Valid_Predecessor (Ctx, Fld), + RFLX.Messages.Msg_LE.Valid_Predecessor (Ctx, Fld), Post => True; @@ -261,10 +261,10 @@ is function Field_Condition (Ctx : Context; Fld : Field) return Boolean with Pre => - Has_Buffer (Ctx) - and then Valid_Predecessor (Ctx, Fld) - and then Valid_Next (Ctx, Fld) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld), + RFLX.Messages.Msg_LE.Has_Buffer (Ctx) + and then RFLX.Messages.Msg_LE.Valid_Predecessor (Ctx, Fld) + and then RFLX.Messages.Msg_LE.Valid_Next (Ctx, Fld) + and then RFLX.Messages.Msg_LE.Available_Space (Ctx, Fld) >= RFLX.Messages.Msg_LE.Field_Size (Ctx, Fld), Post => True; @@ -272,13 +272,13 @@ is function Field_Size (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld); + RFLX.Messages.Msg_LE.Valid_Next (Ctx, Fld); pragma Warnings (Off, "postcondition does not mention function result"); function Field_First (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Index with Pre => - Valid_Next (Ctx, Fld), + RFLX.Messages.Msg_LE.Valid_Next (Ctx, Fld), Post => True; @@ -286,8 +286,8 @@ is function Field_Last (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld); + RFLX.Messages.Msg_LE.Valid_Next (Ctx, Fld) + and then RFLX.Messages.Msg_LE.Available_Space (Ctx, Fld) >= RFLX.Messages.Msg_LE.Field_Size (Ctx, Fld); pragma Warnings (Off, "postcondition does not mention function result"); @@ -309,11 +309,11 @@ is function Available_Space (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld); + RFLX.Messages.Msg_LE.Valid_Next (Ctx, Fld); procedure Verify (Ctx : in out Context; Fld : Field) with Pre => - Has_Buffer (Ctx), + RFLX.Messages.Msg_LE.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -323,7 +323,7 @@ is procedure Verify_Message (Ctx : in out Context) with Pre => - Has_Buffer (Ctx), + RFLX.Messages.Msg_LE.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -345,11 +345,11 @@ is function Structural_Valid_Message (Ctx : Context) return Boolean with Pre => - Has_Buffer (Ctx); + RFLX.Messages.Msg_LE.Has_Buffer (Ctx); function Valid_Message (Ctx : Context) return Boolean with Pre => - Has_Buffer (Ctx); + RFLX.Messages.Msg_LE.Has_Buffer (Ctx); pragma Warnings (Off, "postcondition does not mention function result"); @@ -363,11 +363,11 @@ is function Get_C (Ctx : Context) return RFLX.Messages.Integer with Pre => - Valid (Ctx, F_C); + RFLX.Messages.Msg_LE.Valid (Ctx, RFLX.Messages.Msg_LE.F_C); function Get_D (Ctx : Context) return RFLX.Messages.Enum_T with Pre => - Valid (Ctx, F_D); + RFLX.Messages.Msg_LE.Valid (Ctx, RFLX.Messages.Msg_LE.F_D); pragma Warnings (On, "precondition is always False"); @@ -375,7 +375,7 @@ is function Valid_Length (Ctx : Context; Fld : Field; Length : RFLX_Types.Length) return Boolean with Pre => - Valid_Next (Ctx, Fld), + RFLX.Messages.Msg_LE.Valid_Next (Ctx, Fld), Post => True; @@ -387,11 +387,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_C) - and then RFLX.Messages.Valid_Integer (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_C) >= Field_Size (Ctx, F_C) - and then Field_Condition (Ctx, F_C), + and then RFLX.Messages.Msg_LE.Has_Buffer (Ctx) + and then RFLX.Messages.Msg_LE.Valid_Next (Ctx, RFLX.Messages.Msg_LE.F_C) + and then RFLX.Messages.Valid_Integer (RFLX.Messages.To_Base_Integer (Val)) + and then RFLX.Messages.Msg_LE.Available_Space (Ctx, RFLX.Messages.Msg_LE.F_C) >= RFLX.Messages.Msg_LE.Field_Size (Ctx, RFLX.Messages.Msg_LE.F_C) + and then RFLX.Messages.Msg_LE.Field_Condition (Ctx, RFLX.Messages.Msg_LE.F_C), Post => Has_Buffer (Ctx) and Valid (Ctx, F_C) @@ -411,11 +411,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_D) - and then RFLX.Messages.Valid_Enum_T (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_D) >= Field_Size (Ctx, F_D) - and then Field_Condition (Ctx, F_D), + and then RFLX.Messages.Msg_LE.Has_Buffer (Ctx) + and then RFLX.Messages.Msg_LE.Valid_Next (Ctx, RFLX.Messages.Msg_LE.F_D) + and then RFLX.Messages.Valid_Enum_T (RFLX.Messages.To_Base_Integer (Val)) + and then RFLX.Messages.Msg_LE.Available_Space (Ctx, RFLX.Messages.Msg_LE.F_D) >= RFLX.Messages.Msg_LE.Field_Size (Ctx, RFLX.Messages.Msg_LE.F_D) + and then RFLX.Messages.Msg_LE.Field_Condition (Ctx, RFLX.Messages.Msg_LE.F_D), Post => Has_Buffer (Ctx) and Valid (Ctx, F_D) @@ -460,8 +460,8 @@ is procedure To_Structure (Ctx : Context; Struct : out Structure) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx), + RFLX.Messages.Msg_LE.Has_Buffer (Ctx) + and then RFLX.Messages.Msg_LE.Structural_Valid_Message (Ctx), Post => Valid_Structure (Struct); @@ -470,9 +470,9 @@ is procedure To_Context (Struct : Structure; Ctx : in out Context) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Structure (Struct) - and then Sufficient_Buffer_Length (Ctx, Struct), + and then RFLX.Messages.Msg_LE.Has_Buffer (Ctx) + and then RFLX.Messages.Msg_LE.Valid_Structure (Struct) + and then RFLX.Messages.Msg_LE.Sufficient_Buffer_Length (Ctx, Struct), Post => Has_Buffer (Ctx) and Structural_Valid_Message (Ctx) @@ -574,7 +574,7 @@ private function Initialized (Ctx : Context) return Boolean is (Ctx.Verified_Last = Ctx.First - 1 and then Valid_Next (Ctx, F_C) - and then Field_First (Ctx, F_C) rem RFLX_Types.Byte'Size = 1 + and then RFLX.Messages.Msg_LE.Field_First (Ctx, RFLX.Messages.Msg_LE.F_C) rem RFLX_Types.Byte'Size = 1 and then Available_Space (Ctx, F_C) = Ctx.Last - Ctx.First + 1 and then (for all F in Field => Invalid (Ctx, F))); @@ -689,7 +689,7 @@ private (Size = Field_Size (Ctx, Fld)) with Pre => - Valid_Next (Ctx, Fld); + RFLX.Messages.Msg_LE.Valid_Next (Ctx, Fld); function Valid_Length (Ctx : Context; Fld : Field; Length : RFLX_Types.Length) return Boolean is (Valid_Size (Ctx, Fld, RFLX_Types.To_Bit_Length (Length))); diff --git a/tests/integration/session_endianness/generated/rflx-messages-msg_le_nested.adb b/tests/integration/session_endianness/generated/rflx-messages-msg_le_nested.adb index 0cca7f3de..0c873158e 100644 --- a/tests/integration/session_endianness/generated/rflx-messages-msg_le_nested.adb +++ b/tests/integration/session_endianness/generated/rflx-messages-msg_le_nested.adb @@ -79,9 +79,9 @@ is F_Final)) with Pre => - Has_Buffer (Ctx) - and Structural_Valid (Ctx, Fld) - and Valid_Predecessor (Ctx, Fld); + RFLX.Messages.Msg_LE_Nested.Has_Buffer (Ctx) + and RFLX.Messages.Msg_LE_Nested.Structural_Valid (Ctx, Fld) + and RFLX.Messages.Msg_LE_Nested.Valid_Predecessor (Ctx, Fld); pragma Warnings (On, "precondition is always False"); @@ -101,12 +101,12 @@ is and Field_First (Ctx, Fld) + Field_Size (Ctx, Fld) - 1 <= Ctx.Written_Last) with Pre => - Has_Buffer (Ctx) - and Valid_Next (Ctx, Fld); + RFLX.Messages.Msg_LE_Nested.Has_Buffer (Ctx) + and RFLX.Messages.Msg_LE_Nested.Valid_Next (Ctx, Fld); procedure Reset_Dependent_Fields (Ctx : in out Context; Fld : Field) with Pre => - Valid_Next (Ctx, Fld), + RFLX.Messages.Msg_LE_Nested.Valid_Next (Ctx, Fld), Post => Valid_Next (Ctx, Fld) and Invalid (Ctx.Cursors (Fld)) @@ -145,9 +145,9 @@ is function Get (Ctx : Context; Fld : Field) return RFLX_Types.Base_Integer with Pre => - Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) - and then Sufficient_Buffer_Length (Ctx, Fld) + RFLX.Messages.Msg_LE_Nested.Has_Buffer (Ctx) + and then RFLX.Messages.Msg_LE_Nested.Valid_Next (Ctx, Fld) + and then RFLX.Messages.Msg_LE_Nested.Sufficient_Buffer_Length (Ctx, Fld) is First : constant RFLX_Types.Bit_Index := Field_First (Ctx, Fld); Last : constant RFLX_Types.Bit_Index := Field_Last (Ctx, Fld); @@ -205,11 +205,11 @@ is procedure Set (Ctx : in out Context; Fld : Field; Val : RFLX_Types.Base_Integer; Size : RFLX_Types.Bit_Length; State_Valid : Boolean; Buffer_First : out RFLX_Types.Index; Buffer_Last : out RFLX_Types.Index; Offset : out RFLX_Types.Offset) with Pre => - Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) - and then Valid_Value (Fld, Val) - and then Valid_Size (Ctx, Fld, Size) - and then Size <= Available_Space (Ctx, Fld) + RFLX.Messages.Msg_LE_Nested.Has_Buffer (Ctx) + and then RFLX.Messages.Msg_LE_Nested.Valid_Next (Ctx, Fld) + and then RFLX.Messages.Msg_LE_Nested.Valid_Value (Fld, Val) + and then RFLX.Messages.Msg_LE_Nested.Valid_Size (Ctx, Fld, Size) + and then Size <= RFLX.Messages.Msg_LE_Nested.Available_Space (Ctx, Fld) and then State_Valid, Post => Valid_Next (Ctx, Fld) @@ -273,14 +273,14 @@ is procedure Set_Scalar (Ctx : in out Context; Fld : Field; Val : RFLX_Types.Base_Integer) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) + and then RFLX.Messages.Msg_LE_Nested.Has_Buffer (Ctx) + and then RFLX.Messages.Msg_LE_Nested.Valid_Next (Ctx, Fld) and then Fld in F_X_A | F_X_B | F_Y - and then Valid_Value (Fld, Val) - and then Valid_Size (Ctx, Fld, Field_Size (Ctx, Fld)) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld) - and then Field_Size (Ctx, Fld) in 1 .. RFLX_Types.Base_Integer'Size - and then RFLX_Types.Fits_Into (Val, Natural (Field_Size (Ctx, Fld))), + and then RFLX.Messages.Msg_LE_Nested.Valid_Value (Fld, Val) + and then RFLX.Messages.Msg_LE_Nested.Valid_Size (Ctx, Fld, RFLX.Messages.Msg_LE_Nested.Field_Size (Ctx, Fld)) + and then RFLX.Messages.Msg_LE_Nested.Available_Space (Ctx, Fld) >= RFLX.Messages.Msg_LE_Nested.Field_Size (Ctx, Fld) + and then RFLX.Messages.Msg_LE_Nested.Field_Size (Ctx, Fld) in 1 .. RFLX_Types.Base_Integer'Size + and then RFLX_Types.Fits_Into (Val, Natural (RFLX.Messages.Msg_LE_Nested.Field_Size (Ctx, Fld))), Post => Has_Buffer (Ctx) and Valid (Ctx, Fld) @@ -318,17 +318,17 @@ is procedure Set_X_A (Ctx : in out Context; Val : RFLX.Messages.Integer) is begin - Set_Scalar (Ctx, F_X_A, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_X_A, RFLX.Messages.To_Base_Integer (Val)); end Set_X_A; procedure Set_X_B (Ctx : in out Context; Val : RFLX.Messages.Enum_T) is begin - Set_Scalar (Ctx, F_X_B, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_X_B, RFLX.Messages.To_Base_Integer (Val)); end Set_X_B; procedure Set_Y (Ctx : in out Context; Val : RFLX.Messages.Enum_T) is begin - Set_Scalar (Ctx, F_Y, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_Y, RFLX.Messages.To_Base_Integer (Val)); end Set_Y; procedure To_Structure (Ctx : Context; Struct : out Structure) is diff --git a/tests/integration/session_endianness/generated/rflx-messages-msg_le_nested.ads b/tests/integration/session_endianness/generated/rflx-messages-msg_le_nested.ads index 915326644..38f5f9647 100644 --- a/tests/integration/session_endianness/generated/rflx-messages-msg_le_nested.ads +++ b/tests/integration/session_endianness/generated/rflx-messages-msg_le_nested.ads @@ -120,7 +120,7 @@ is procedure Reset (Ctx : in out Context) with Pre => not Ctx'Constrained - and Has_Buffer (Ctx), + and RFLX.Messages.Msg_LE_Nested.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -132,7 +132,7 @@ is procedure Reset (Ctx : in out Context; First : RFLX_Types.Bit_Index; Last : RFLX_Types.Bit_Length) with Pre => not Ctx'Constrained - and Has_Buffer (Ctx) + and RFLX.Messages.Msg_LE_Nested.Has_Buffer (Ctx) and RFLX_Types.To_Index (First) >= Ctx.Buffer_First and RFLX_Types.To_Index (Last) <= Ctx.Buffer_Last and First <= Last + 1 @@ -149,7 +149,7 @@ is procedure Take_Buffer (Ctx : in out Context; Buffer : out RFLX_Types.Bytes_Ptr) with Pre => - Has_Buffer (Ctx), + RFLX.Messages.Msg_LE_Nested.Has_Buffer (Ctx), Post => not Has_Buffer (Ctx) and Buffer /= null @@ -165,15 +165,15 @@ is procedure Copy (Ctx : Context; Buffer : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) - and then Byte_Size (Ctx) = Buffer'Length; + RFLX.Messages.Msg_LE_Nested.Has_Buffer (Ctx) + and then RFLX.Messages.Msg_LE_Nested.Structural_Valid_Message (Ctx) + and then RFLX.Messages.Msg_LE_Nested.Byte_Size (Ctx) = Buffer'Length; function Read (Ctx : Context) return RFLX_Types.Bytes with Ghost, Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx); + RFLX.Messages.Msg_LE_Nested.Has_Buffer (Ctx) + and then RFLX.Messages.Msg_LE_Nested.Structural_Valid_Message (Ctx); pragma Warnings (Off, "formal parameter ""*"" is not referenced"); @@ -187,8 +187,8 @@ is with function Pre (Buffer : RFLX_Types.Bytes) return Boolean is Always_Valid; procedure Generic_Read (Ctx : Context) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) + RFLX.Messages.Msg_LE_Nested.Has_Buffer (Ctx) + and then RFLX.Messages.Msg_LE_Nested.Structural_Valid_Message (Ctx) and then Pre (Read (Ctx)); pragma Warnings (Off, "formal parameter ""*"" is not referenced"); @@ -204,9 +204,9 @@ is procedure Generic_Write (Ctx : in out Context; Offset : RFLX_Types.Length := 0) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Offset < Buffer_Length (Ctx) - and then Pre (Buffer_Length (Ctx), Offset), + and then RFLX.Messages.Msg_LE_Nested.Has_Buffer (Ctx) + and then Offset < RFLX.Messages.Msg_LE_Nested.Buffer_Length (Ctx) + and then Pre (RFLX.Messages.Msg_LE_Nested.Buffer_Length (Ctx), Offset), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -218,7 +218,7 @@ is function Buffer_Length (Ctx : Context) return RFLX_Types.Length with Pre => - Has_Buffer (Ctx); + RFLX.Messages.Msg_LE_Nested.Has_Buffer (Ctx); function Size (Ctx : Context) return RFLX_Types.Bit_Length with Post => @@ -228,16 +228,16 @@ is function Message_Last (Ctx : Context) return RFLX_Types.Bit_Length with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx); + RFLX.Messages.Msg_LE_Nested.Has_Buffer (Ctx) + and then RFLX.Messages.Msg_LE_Nested.Structural_Valid_Message (Ctx); function Written_Last (Ctx : Context) return RFLX_Types.Bit_Length; procedure Data (Ctx : Context; Data : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) - and then Data'Length = Byte_Size (Ctx); + RFLX.Messages.Msg_LE_Nested.Has_Buffer (Ctx) + and then RFLX.Messages.Msg_LE_Nested.Structural_Valid_Message (Ctx) + and then Data'Length = RFLX.Messages.Msg_LE_Nested.Byte_Size (Ctx); pragma Warnings (Off, "postcondition does not mention function result"); @@ -251,7 +251,7 @@ is function Path_Condition (Ctx : Context; Fld : Field) return Boolean with Pre => - Valid_Predecessor (Ctx, Fld), + RFLX.Messages.Msg_LE_Nested.Valid_Predecessor (Ctx, Fld), Post => True; @@ -261,10 +261,10 @@ is function Field_Condition (Ctx : Context; Fld : Field) return Boolean with Pre => - Has_Buffer (Ctx) - and then Valid_Predecessor (Ctx, Fld) - and then Valid_Next (Ctx, Fld) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld), + RFLX.Messages.Msg_LE_Nested.Has_Buffer (Ctx) + and then RFLX.Messages.Msg_LE_Nested.Valid_Predecessor (Ctx, Fld) + and then RFLX.Messages.Msg_LE_Nested.Valid_Next (Ctx, Fld) + and then RFLX.Messages.Msg_LE_Nested.Available_Space (Ctx, Fld) >= RFLX.Messages.Msg_LE_Nested.Field_Size (Ctx, Fld), Post => True; @@ -272,13 +272,13 @@ is function Field_Size (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld); + RFLX.Messages.Msg_LE_Nested.Valid_Next (Ctx, Fld); pragma Warnings (Off, "postcondition does not mention function result"); function Field_First (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Index with Pre => - Valid_Next (Ctx, Fld), + RFLX.Messages.Msg_LE_Nested.Valid_Next (Ctx, Fld), Post => True; @@ -286,8 +286,8 @@ is function Field_Last (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld); + RFLX.Messages.Msg_LE_Nested.Valid_Next (Ctx, Fld) + and then RFLX.Messages.Msg_LE_Nested.Available_Space (Ctx, Fld) >= RFLX.Messages.Msg_LE_Nested.Field_Size (Ctx, Fld); pragma Warnings (Off, "postcondition does not mention function result"); @@ -309,11 +309,11 @@ is function Available_Space (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld); + RFLX.Messages.Msg_LE_Nested.Valid_Next (Ctx, Fld); procedure Verify (Ctx : in out Context; Fld : Field) with Pre => - Has_Buffer (Ctx), + RFLX.Messages.Msg_LE_Nested.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -323,7 +323,7 @@ is procedure Verify_Message (Ctx : in out Context) with Pre => - Has_Buffer (Ctx), + RFLX.Messages.Msg_LE_Nested.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -345,11 +345,11 @@ is function Structural_Valid_Message (Ctx : Context) return Boolean with Pre => - Has_Buffer (Ctx); + RFLX.Messages.Msg_LE_Nested.Has_Buffer (Ctx); function Valid_Message (Ctx : Context) return Boolean with Pre => - Has_Buffer (Ctx); + RFLX.Messages.Msg_LE_Nested.Has_Buffer (Ctx); pragma Warnings (Off, "postcondition does not mention function result"); @@ -363,15 +363,15 @@ is function Get_X_A (Ctx : Context) return RFLX.Messages.Integer with Pre => - Valid (Ctx, F_X_A); + RFLX.Messages.Msg_LE_Nested.Valid (Ctx, RFLX.Messages.Msg_LE_Nested.F_X_A); function Get_X_B (Ctx : Context) return RFLX.Messages.Enum_T with Pre => - Valid (Ctx, F_X_B); + RFLX.Messages.Msg_LE_Nested.Valid (Ctx, RFLX.Messages.Msg_LE_Nested.F_X_B); function Get_Y (Ctx : Context) return RFLX.Messages.Enum_T with Pre => - Valid (Ctx, F_Y); + RFLX.Messages.Msg_LE_Nested.Valid (Ctx, RFLX.Messages.Msg_LE_Nested.F_Y); pragma Warnings (On, "precondition is always False"); @@ -379,7 +379,7 @@ is function Valid_Length (Ctx : Context; Fld : Field; Length : RFLX_Types.Length) return Boolean with Pre => - Valid_Next (Ctx, Fld), + RFLX.Messages.Msg_LE_Nested.Valid_Next (Ctx, Fld), Post => True; @@ -391,11 +391,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_X_A) - and then RFLX.Messages.Valid_Integer (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_X_A) >= Field_Size (Ctx, F_X_A) - and then Field_Condition (Ctx, F_X_A), + and then RFLX.Messages.Msg_LE_Nested.Has_Buffer (Ctx) + and then RFLX.Messages.Msg_LE_Nested.Valid_Next (Ctx, RFLX.Messages.Msg_LE_Nested.F_X_A) + and then RFLX.Messages.Valid_Integer (RFLX.Messages.To_Base_Integer (Val)) + and then RFLX.Messages.Msg_LE_Nested.Available_Space (Ctx, RFLX.Messages.Msg_LE_Nested.F_X_A) >= RFLX.Messages.Msg_LE_Nested.Field_Size (Ctx, RFLX.Messages.Msg_LE_Nested.F_X_A) + and then RFLX.Messages.Msg_LE_Nested.Field_Condition (Ctx, RFLX.Messages.Msg_LE_Nested.F_X_A), Post => Has_Buffer (Ctx) and Valid (Ctx, F_X_A) @@ -416,11 +416,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_X_B) - and then RFLX.Messages.Valid_Enum_T (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_X_B) >= Field_Size (Ctx, F_X_B) - and then Field_Condition (Ctx, F_X_B), + and then RFLX.Messages.Msg_LE_Nested.Has_Buffer (Ctx) + and then RFLX.Messages.Msg_LE_Nested.Valid_Next (Ctx, RFLX.Messages.Msg_LE_Nested.F_X_B) + and then RFLX.Messages.Valid_Enum_T (RFLX.Messages.To_Base_Integer (Val)) + and then RFLX.Messages.Msg_LE_Nested.Available_Space (Ctx, RFLX.Messages.Msg_LE_Nested.F_X_B) >= RFLX.Messages.Msg_LE_Nested.Field_Size (Ctx, RFLX.Messages.Msg_LE_Nested.F_X_B) + and then RFLX.Messages.Msg_LE_Nested.Field_Condition (Ctx, RFLX.Messages.Msg_LE_Nested.F_X_B), Post => Has_Buffer (Ctx) and Valid (Ctx, F_X_B) @@ -444,11 +444,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Y) - and then RFLX.Messages.Valid_Enum_T (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_Y) >= Field_Size (Ctx, F_Y) - and then Field_Condition (Ctx, F_Y), + and then RFLX.Messages.Msg_LE_Nested.Has_Buffer (Ctx) + and then RFLX.Messages.Msg_LE_Nested.Valid_Next (Ctx, RFLX.Messages.Msg_LE_Nested.F_Y) + and then RFLX.Messages.Valid_Enum_T (RFLX.Messages.To_Base_Integer (Val)) + and then RFLX.Messages.Msg_LE_Nested.Available_Space (Ctx, RFLX.Messages.Msg_LE_Nested.F_Y) >= RFLX.Messages.Msg_LE_Nested.Field_Size (Ctx, RFLX.Messages.Msg_LE_Nested.F_Y) + and then RFLX.Messages.Msg_LE_Nested.Field_Condition (Ctx, RFLX.Messages.Msg_LE_Nested.F_Y), Post => Has_Buffer (Ctx) and Valid (Ctx, F_Y) @@ -495,8 +495,8 @@ is procedure To_Structure (Ctx : Context; Struct : out Structure) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx), + RFLX.Messages.Msg_LE_Nested.Has_Buffer (Ctx) + and then RFLX.Messages.Msg_LE_Nested.Structural_Valid_Message (Ctx), Post => Valid_Structure (Struct); @@ -505,9 +505,9 @@ is procedure To_Context (Struct : Structure; Ctx : in out Context) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Structure (Struct) - and then Sufficient_Buffer_Length (Ctx, Struct), + and then RFLX.Messages.Msg_LE_Nested.Has_Buffer (Ctx) + and then RFLX.Messages.Msg_LE_Nested.Valid_Structure (Struct) + and then RFLX.Messages.Msg_LE_Nested.Sufficient_Buffer_Length (Ctx, Struct), Post => Has_Buffer (Ctx) and Structural_Valid_Message (Ctx) @@ -621,7 +621,7 @@ private function Initialized (Ctx : Context) return Boolean is (Ctx.Verified_Last = Ctx.First - 1 and then Valid_Next (Ctx, F_X_A) - and then Field_First (Ctx, F_X_A) rem RFLX_Types.Byte'Size = 1 + and then RFLX.Messages.Msg_LE_Nested.Field_First (Ctx, RFLX.Messages.Msg_LE_Nested.F_X_A) rem RFLX_Types.Byte'Size = 1 and then Available_Space (Ctx, F_X_A) = Ctx.Last - Ctx.First + 1 and then (for all F in Field => Invalid (Ctx, F))); @@ -742,7 +742,7 @@ private (Size = Field_Size (Ctx, Fld)) with Pre => - Valid_Next (Ctx, Fld); + RFLX.Messages.Msg_LE_Nested.Valid_Next (Ctx, Fld); function Valid_Length (Ctx : Context; Fld : Field; Length : RFLX_Types.Length) return Boolean is (Valid_Size (Ctx, Fld, RFLX_Types.To_Bit_Length (Length))); diff --git a/tests/integration/session_functions/generated/rflx-test-definite_message.adb b/tests/integration/session_functions/generated/rflx-test-definite_message.adb index b022a91b1..e737f6bae 100644 --- a/tests/integration/session_functions/generated/rflx-test-definite_message.adb +++ b/tests/integration/session_functions/generated/rflx-test-definite_message.adb @@ -79,9 +79,9 @@ is F_Final)) with Pre => - Has_Buffer (Ctx) - and Structural_Valid (Ctx, Fld) - and Valid_Predecessor (Ctx, Fld); + RFLX.Test.Definite_Message.Has_Buffer (Ctx) + and RFLX.Test.Definite_Message.Structural_Valid (Ctx, Fld) + and RFLX.Test.Definite_Message.Valid_Predecessor (Ctx, Fld); pragma Warnings (On, "precondition is always False"); @@ -101,8 +101,8 @@ is and Field_First (Ctx, Fld) + Field_Size (Ctx, Fld) - 1 <= Ctx.Written_Last) with Pre => - Has_Buffer (Ctx) - and Valid_Next (Ctx, Fld); + RFLX.Test.Definite_Message.Has_Buffer (Ctx) + and RFLX.Test.Definite_Message.Valid_Next (Ctx, Fld); function Equal (Ctx : Context; Fld : Field; Data : RFLX_Types.Bytes) return Boolean is (Sufficient_Buffer_Length (Ctx, Fld) @@ -116,7 +116,7 @@ is procedure Reset_Dependent_Fields (Ctx : in out Context; Fld : Field) with Pre => - Valid_Next (Ctx, Fld), + RFLX.Test.Definite_Message.Valid_Next (Ctx, Fld), Post => Valid_Next (Ctx, Fld) and Invalid (Ctx.Cursors (Fld)) @@ -158,10 +158,10 @@ is function Get (Ctx : Context; Fld : Field) return RFLX_Types.Base_Integer with Pre => - Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) - and then Sufficient_Buffer_Length (Ctx, Fld) - and then not Composite_Field (Fld) + RFLX.Test.Definite_Message.Has_Buffer (Ctx) + and then RFLX.Test.Definite_Message.Valid_Next (Ctx, Fld) + and then RFLX.Test.Definite_Message.Sufficient_Buffer_Length (Ctx, Fld) + and then not RFLX.Test.Definite_Message.Composite_Field (Fld) is First : constant RFLX_Types.Bit_Index := Field_First (Ctx, Fld); Last : constant RFLX_Types.Bit_Index := Field_Last (Ctx, Fld); @@ -247,12 +247,17 @@ is procedure Set (Ctx : in out Context; Fld : Field; Val : RFLX_Types.Base_Integer; Size : RFLX_Types.Bit_Length; State_Valid : Boolean; Buffer_First : out RFLX_Types.Index; Buffer_Last : out RFLX_Types.Index; Offset : out RFLX_Types.Offset) with Pre => - Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) - and then Valid_Value (Fld, Val) - and then Valid_Size (Ctx, Fld, Size) - and then Size <= Available_Space (Ctx, Fld) - and then (if Composite_Field (Fld) then Size mod RFLX_Types.Byte'Size = 0 else State_Valid), + RFLX.Test.Definite_Message.Has_Buffer (Ctx) + and then RFLX.Test.Definite_Message.Valid_Next (Ctx, Fld) + and then RFLX.Test.Definite_Message.Valid_Value (Fld, Val) + and then RFLX.Test.Definite_Message.Valid_Size (Ctx, Fld, Size) + and then Size <= RFLX.Test.Definite_Message.Available_Space (Ctx, Fld) + and then (if + RFLX.Test.Definite_Message.Composite_Field (Fld) + then + Size mod RFLX_Types.Byte'Size = 0 + else + State_Valid), Post => Valid_Next (Ctx, Fld) and then Invalid_Successor (Ctx, Fld) @@ -316,14 +321,14 @@ is procedure Set_Scalar (Ctx : in out Context; Fld : Field; Val : RFLX_Types.Base_Integer) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) + and then RFLX.Test.Definite_Message.Has_Buffer (Ctx) + and then RFLX.Test.Definite_Message.Valid_Next (Ctx, Fld) and then Fld in F_Message_Type | F_Length - and then Valid_Value (Fld, Val) - and then Valid_Size (Ctx, Fld, Field_Size (Ctx, Fld)) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld) - and then Field_Size (Ctx, Fld) in 1 .. RFLX_Types.Base_Integer'Size - and then RFLX_Types.Fits_Into (Val, Natural (Field_Size (Ctx, Fld))), + and then RFLX.Test.Definite_Message.Valid_Value (Fld, Val) + and then RFLX.Test.Definite_Message.Valid_Size (Ctx, Fld, RFLX.Test.Definite_Message.Field_Size (Ctx, Fld)) + and then RFLX.Test.Definite_Message.Available_Space (Ctx, Fld) >= RFLX.Test.Definite_Message.Field_Size (Ctx, Fld) + and then RFLX.Test.Definite_Message.Field_Size (Ctx, Fld) in 1 .. RFLX_Types.Base_Integer'Size + and then RFLX_Types.Fits_Into (Val, Natural (RFLX.Test.Definite_Message.Field_Size (Ctx, Fld))), Post => Has_Buffer (Ctx) and Valid (Ctx, Fld) @@ -360,22 +365,22 @@ is procedure Set_Message_Type (Ctx : in out Context; Val : RFLX.Universal.Option_Type_Enum) is begin - Set_Scalar (Ctx, F_Message_Type, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_Message_Type, RFLX.Universal.To_Base_Integer (Val)); end Set_Message_Type; procedure Set_Length (Ctx : in out Context; Val : RFLX.Test.Length) is begin - Set_Scalar (Ctx, F_Length, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_Length, RFLX.Test.To_Base_Integer (Val)); end Set_Length; procedure Set_Message_Type (Ctx : in out Context; Val : RFLX.Universal.Option_Type) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Message_Type) + and then RFLX.Test.Definite_Message.Has_Buffer (Ctx) + and then RFLX.Test.Definite_Message.Valid_Next (Ctx, RFLX.Test.Definite_Message.F_Message_Type) and then RFLX.Universal.Valid_Option_Type (Val) - and then Available_Space (Ctx, F_Message_Type) >= Field_Size (Ctx, F_Message_Type) - and then Field_Condition (Ctx, F_Message_Type), + and then RFLX.Test.Definite_Message.Available_Space (Ctx, RFLX.Test.Definite_Message.F_Message_Type) >= RFLX.Test.Definite_Message.Field_Size (Ctx, RFLX.Test.Definite_Message.F_Message_Type) + and then RFLX.Test.Definite_Message.Field_Condition (Ctx, RFLX.Test.Definite_Message.F_Message_Type), Post => Has_Buffer (Ctx) and Valid (Ctx, F_Message_Type) @@ -393,7 +398,7 @@ is and Field_First (Ctx, F_Message_Type) = Field_First (Ctx, F_Message_Type)'Old is begin - Set_Scalar (Ctx, F_Message_Type, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_Message_Type, RFLX.Universal.To_Base_Integer (Val)); end Set_Message_Type; procedure Set_Data_Empty (Ctx : in out Context) is @@ -406,11 +411,11 @@ is procedure Initialize_Data_Private (Ctx : in out Context; Length : RFLX_Types.Length) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Data) - and then Valid_Length (Ctx, F_Data, Length) - and then RFLX_Types.To_Length (Available_Space (Ctx, F_Data)) >= Length - and then Field_First (Ctx, F_Data) mod RFLX_Types.Byte'Size = 1, + and then RFLX.Test.Definite_Message.Has_Buffer (Ctx) + and then RFLX.Test.Definite_Message.Valid_Next (Ctx, RFLX.Test.Definite_Message.F_Data) + and then RFLX.Test.Definite_Message.Valid_Length (Ctx, RFLX.Test.Definite_Message.F_Data, Length) + and then RFLX_Types.To_Length (RFLX.Test.Definite_Message.Available_Space (Ctx, RFLX.Test.Definite_Message.F_Data)) >= Length + and then RFLX.Test.Definite_Message.Field_First (Ctx, RFLX.Test.Definite_Message.F_Data) mod RFLX_Types.Byte'Size = 1, Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Data) diff --git a/tests/integration/session_functions/generated/rflx-test-definite_message.ads b/tests/integration/session_functions/generated/rflx-test-definite_message.ads index 3303bc942..95352294f 100644 --- a/tests/integration/session_functions/generated/rflx-test-definite_message.ads +++ b/tests/integration/session_functions/generated/rflx-test-definite_message.ads @@ -126,7 +126,7 @@ is procedure Reset (Ctx : in out Context) with Pre => not Ctx'Constrained - and Has_Buffer (Ctx), + and RFLX.Test.Definite_Message.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -138,7 +138,7 @@ is procedure Reset (Ctx : in out Context; First : RFLX_Types.Bit_Index; Last : RFLX_Types.Bit_Length) with Pre => not Ctx'Constrained - and Has_Buffer (Ctx) + and RFLX.Test.Definite_Message.Has_Buffer (Ctx) and RFLX_Types.To_Index (First) >= Ctx.Buffer_First and RFLX_Types.To_Index (Last) <= Ctx.Buffer_Last and First <= Last + 1 @@ -155,7 +155,7 @@ is procedure Take_Buffer (Ctx : in out Context; Buffer : out RFLX_Types.Bytes_Ptr) with Pre => - Has_Buffer (Ctx), + RFLX.Test.Definite_Message.Has_Buffer (Ctx), Post => not Has_Buffer (Ctx) and Buffer /= null @@ -171,15 +171,15 @@ is procedure Copy (Ctx : Context; Buffer : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) - and then Byte_Size (Ctx) = Buffer'Length; + RFLX.Test.Definite_Message.Has_Buffer (Ctx) + and then RFLX.Test.Definite_Message.Structural_Valid_Message (Ctx) + and then RFLX.Test.Definite_Message.Byte_Size (Ctx) = Buffer'Length; function Read (Ctx : Context) return RFLX_Types.Bytes with Ghost, Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx); + RFLX.Test.Definite_Message.Has_Buffer (Ctx) + and then RFLX.Test.Definite_Message.Structural_Valid_Message (Ctx); pragma Warnings (Off, "formal parameter ""*"" is not referenced"); @@ -193,8 +193,8 @@ is with function Pre (Buffer : RFLX_Types.Bytes) return Boolean is Always_Valid; procedure Generic_Read (Ctx : Context) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) + RFLX.Test.Definite_Message.Has_Buffer (Ctx) + and then RFLX.Test.Definite_Message.Structural_Valid_Message (Ctx) and then Pre (Read (Ctx)); pragma Warnings (Off, "formal parameter ""*"" is not referenced"); @@ -210,9 +210,9 @@ is procedure Generic_Write (Ctx : in out Context; Offset : RFLX_Types.Length := 0) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Offset < Buffer_Length (Ctx) - and then Pre (Buffer_Length (Ctx), Offset), + and then RFLX.Test.Definite_Message.Has_Buffer (Ctx) + and then Offset < RFLX.Test.Definite_Message.Buffer_Length (Ctx) + and then Pre (RFLX.Test.Definite_Message.Buffer_Length (Ctx), Offset), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -224,7 +224,7 @@ is function Buffer_Length (Ctx : Context) return RFLX_Types.Length with Pre => - Has_Buffer (Ctx); + RFLX.Test.Definite_Message.Has_Buffer (Ctx); function Size (Ctx : Context) return RFLX_Types.Bit_Length with Post => @@ -234,16 +234,16 @@ is function Message_Last (Ctx : Context) return RFLX_Types.Bit_Length with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx); + RFLX.Test.Definite_Message.Has_Buffer (Ctx) + and then RFLX.Test.Definite_Message.Structural_Valid_Message (Ctx); function Written_Last (Ctx : Context) return RFLX_Types.Bit_Length; procedure Data (Ctx : Context; Data : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) - and then Data'Length = Byte_Size (Ctx); + RFLX.Test.Definite_Message.Has_Buffer (Ctx) + and then RFLX.Test.Definite_Message.Structural_Valid_Message (Ctx) + and then Data'Length = RFLX.Test.Definite_Message.Byte_Size (Ctx); pragma Warnings (Off, "postcondition does not mention function result"); @@ -257,7 +257,7 @@ is function Path_Condition (Ctx : Context; Fld : Field) return Boolean with Pre => - Valid_Predecessor (Ctx, Fld), + RFLX.Test.Definite_Message.Valid_Predecessor (Ctx, Fld), Post => True; @@ -267,10 +267,10 @@ is function Field_Condition (Ctx : Context; Fld : Field) return Boolean with Pre => - Has_Buffer (Ctx) - and then Valid_Predecessor (Ctx, Fld) - and then Valid_Next (Ctx, Fld) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld), + RFLX.Test.Definite_Message.Has_Buffer (Ctx) + and then RFLX.Test.Definite_Message.Valid_Predecessor (Ctx, Fld) + and then RFLX.Test.Definite_Message.Valid_Next (Ctx, Fld) + and then RFLX.Test.Definite_Message.Available_Space (Ctx, Fld) >= RFLX.Test.Definite_Message.Field_Size (Ctx, Fld), Post => True; @@ -278,7 +278,7 @@ is function Field_Size (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld), + RFLX.Test.Definite_Message.Valid_Next (Ctx, Fld), Post => (case Fld is when F_Data => @@ -290,7 +290,7 @@ is function Field_First (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Index with Pre => - Valid_Next (Ctx, Fld), + RFLX.Test.Definite_Message.Valid_Next (Ctx, Fld), Post => True; @@ -298,8 +298,8 @@ is function Field_Last (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld), + RFLX.Test.Definite_Message.Valid_Next (Ctx, Fld) + and then RFLX.Test.Definite_Message.Available_Space (Ctx, Fld) >= RFLX.Test.Definite_Message.Field_Size (Ctx, Fld), Post => (case Fld is when F_Data => @@ -327,16 +327,16 @@ is function Available_Space (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld); + RFLX.Test.Definite_Message.Valid_Next (Ctx, Fld); function Equal (Ctx : Context; Fld : Field; Data : RFLX_Types.Bytes) return Boolean with Pre => - Has_Buffer (Ctx) - and Valid_Next (Ctx, Fld); + RFLX.Test.Definite_Message.Has_Buffer (Ctx) + and RFLX.Test.Definite_Message.Valid_Next (Ctx, Fld); procedure Verify (Ctx : in out Context; Fld : Field) with Pre => - Has_Buffer (Ctx), + RFLX.Test.Definite_Message.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -346,7 +346,7 @@ is procedure Verify_Message (Ctx : in out Context) with Pre => - Has_Buffer (Ctx), + RFLX.Test.Definite_Message.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -368,11 +368,11 @@ is function Structural_Valid_Message (Ctx : Context) return Boolean with Pre => - Has_Buffer (Ctx); + RFLX.Test.Definite_Message.Has_Buffer (Ctx); function Valid_Message (Ctx : Context) return Boolean with Pre => - Has_Buffer (Ctx); + RFLX.Test.Definite_Message.Has_Buffer (Ctx); pragma Warnings (Off, "postcondition does not mention function result"); @@ -386,29 +386,29 @@ is function Get_Message_Type (Ctx : Context) return RFLX.Universal.Option_Type with Pre => - Valid (Ctx, F_Message_Type); + RFLX.Test.Definite_Message.Valid (Ctx, RFLX.Test.Definite_Message.F_Message_Type); function Get_Length (Ctx : Context) return RFLX.Test.Length with Pre => - Valid (Ctx, F_Length); + RFLX.Test.Definite_Message.Valid (Ctx, RFLX.Test.Definite_Message.F_Length); pragma Warnings (On, "precondition is always False"); function Get_Data (Ctx : Context) return RFLX_Types.Bytes with Ghost, Pre => - Has_Buffer (Ctx) - and then Structural_Valid (Ctx, F_Data) - and then Valid_Next (Ctx, F_Data), + RFLX.Test.Definite_Message.Has_Buffer (Ctx) + and then RFLX.Test.Definite_Message.Structural_Valid (Ctx, RFLX.Test.Definite_Message.F_Data) + and then RFLX.Test.Definite_Message.Valid_Next (Ctx, RFLX.Test.Definite_Message.F_Data), Post => Get_Data'Result'Length = RFLX_Types.To_Length (Field_Size (Ctx, F_Data)); procedure Get_Data (Ctx : Context; Data : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid (Ctx, F_Data) - and then Valid_Next (Ctx, F_Data) - and then Data'Length = RFLX_Types.To_Length (Field_Size (Ctx, F_Data)), + RFLX.Test.Definite_Message.Has_Buffer (Ctx) + and then RFLX.Test.Definite_Message.Structural_Valid (Ctx, RFLX.Test.Definite_Message.F_Data) + and then RFLX.Test.Definite_Message.Valid_Next (Ctx, RFLX.Test.Definite_Message.F_Data) + and then Data'Length = RFLX_Types.To_Length (RFLX.Test.Definite_Message.Field_Size (Ctx, RFLX.Test.Definite_Message.F_Data)), Post => Equal (Ctx, F_Data, Data); @@ -416,14 +416,14 @@ is with procedure Process_Data (Data : RFLX_Types.Bytes); procedure Generic_Get_Data (Ctx : Context) with Pre => - Has_Buffer (Ctx) - and Present (Ctx, F_Data); + RFLX.Test.Definite_Message.Has_Buffer (Ctx) + and RFLX.Test.Definite_Message.Present (Ctx, RFLX.Test.Definite_Message.F_Data); pragma Warnings (Off, "postcondition does not mention function result"); function Valid_Length (Ctx : Context; Fld : Field; Length : RFLX_Types.Length) return Boolean with Pre => - Valid_Next (Ctx, Fld), + RFLX.Test.Definite_Message.Valid_Next (Ctx, Fld), Post => True; @@ -435,11 +435,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Message_Type) - and then RFLX.Universal.Valid_Option_Type (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_Message_Type) >= Field_Size (Ctx, F_Message_Type) - and then Field_Condition (Ctx, F_Message_Type), + and then RFLX.Test.Definite_Message.Has_Buffer (Ctx) + and then RFLX.Test.Definite_Message.Valid_Next (Ctx, RFLX.Test.Definite_Message.F_Message_Type) + and then RFLX.Universal.Valid_Option_Type (RFLX.Universal.To_Base_Integer (Val)) + and then RFLX.Test.Definite_Message.Available_Space (Ctx, RFLX.Test.Definite_Message.F_Message_Type) >= RFLX.Test.Definite_Message.Field_Size (Ctx, RFLX.Test.Definite_Message.F_Message_Type) + and then RFLX.Test.Definite_Message.Field_Condition (Ctx, RFLX.Test.Definite_Message.F_Message_Type), Post => Has_Buffer (Ctx) and Valid (Ctx, F_Message_Type) @@ -460,11 +460,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Length) - and then RFLX.Test.Valid_Length (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_Length) >= Field_Size (Ctx, F_Length) - and then Field_Condition (Ctx, F_Length), + and then RFLX.Test.Definite_Message.Has_Buffer (Ctx) + and then RFLX.Test.Definite_Message.Valid_Next (Ctx, RFLX.Test.Definite_Message.F_Length) + and then RFLX.Test.Valid_Length (RFLX.Test.To_Base_Integer (Val)) + and then RFLX.Test.Definite_Message.Available_Space (Ctx, RFLX.Test.Definite_Message.F_Length) >= RFLX.Test.Definite_Message.Field_Size (Ctx, RFLX.Test.Definite_Message.F_Length) + and then RFLX.Test.Definite_Message.Field_Condition (Ctx, RFLX.Test.Definite_Message.F_Length), Post => Has_Buffer (Ctx) and Valid (Ctx, F_Length) @@ -489,11 +489,11 @@ is procedure Set_Data_Empty (Ctx : in out Context) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Data) - and then Available_Space (Ctx, F_Data) >= Field_Size (Ctx, F_Data) - and then Field_Condition (Ctx, F_Data) - and then Field_Size (Ctx, F_Data) = 0, + and then RFLX.Test.Definite_Message.Has_Buffer (Ctx) + and then RFLX.Test.Definite_Message.Valid_Next (Ctx, RFLX.Test.Definite_Message.F_Data) + and then RFLX.Test.Definite_Message.Available_Space (Ctx, RFLX.Test.Definite_Message.F_Data) >= RFLX.Test.Definite_Message.Field_Size (Ctx, RFLX.Test.Definite_Message.F_Data) + and then RFLX.Test.Definite_Message.Field_Condition (Ctx, RFLX.Test.Definite_Message.F_Data) + and then RFLX.Test.Definite_Message.Field_Size (Ctx, RFLX.Test.Definite_Message.F_Data) = 0, Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Data) @@ -512,9 +512,9 @@ is procedure Initialize_Data (Ctx : in out Context) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Data) - and then Available_Space (Ctx, F_Data) >= Field_Size (Ctx, F_Data), + and then RFLX.Test.Definite_Message.Has_Buffer (Ctx) + and then RFLX.Test.Definite_Message.Valid_Next (Ctx, RFLX.Test.Definite_Message.F_Data) + and then RFLX.Test.Definite_Message.Available_Space (Ctx, RFLX.Test.Definite_Message.F_Data) >= RFLX.Test.Definite_Message.Field_Size (Ctx, RFLX.Test.Definite_Message.F_Data), Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Data) @@ -533,12 +533,12 @@ is procedure Set_Data (Ctx : in out Context; Data : RFLX_Types.Bytes) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Data) - and then Available_Space (Ctx, F_Data) >= Field_Size (Ctx, F_Data) - and then Valid_Length (Ctx, F_Data, Data'Length) - and then Available_Space (Ctx, F_Data) >= Data'Length * RFLX_Types.Byte'Size - and then Field_Condition (Ctx, F_Data), + and then RFLX.Test.Definite_Message.Has_Buffer (Ctx) + and then RFLX.Test.Definite_Message.Valid_Next (Ctx, RFLX.Test.Definite_Message.F_Data) + and then RFLX.Test.Definite_Message.Available_Space (Ctx, RFLX.Test.Definite_Message.F_Data) >= RFLX.Test.Definite_Message.Field_Size (Ctx, RFLX.Test.Definite_Message.F_Data) + and then RFLX.Test.Definite_Message.Valid_Length (Ctx, RFLX.Test.Definite_Message.F_Data, Data'Length) + and then RFLX.Test.Definite_Message.Available_Space (Ctx, RFLX.Test.Definite_Message.F_Data) >= Data'Length * RFLX_Types.Byte'Size + and then RFLX.Test.Definite_Message.Field_Condition (Ctx, RFLX.Test.Definite_Message.F_Data), Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Data) @@ -561,11 +561,11 @@ is procedure Generic_Set_Data (Ctx : in out Context; Length : RFLX_Types.Length) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Data) - and then Available_Space (Ctx, F_Data) >= Field_Size (Ctx, F_Data) - and then Valid_Length (Ctx, F_Data, Length) - and then RFLX_Types.To_Length (Available_Space (Ctx, F_Data)) >= Length + and then RFLX.Test.Definite_Message.Has_Buffer (Ctx) + and then RFLX.Test.Definite_Message.Valid_Next (Ctx, RFLX.Test.Definite_Message.F_Data) + and then RFLX.Test.Definite_Message.Available_Space (Ctx, RFLX.Test.Definite_Message.F_Data) >= RFLX.Test.Definite_Message.Field_Size (Ctx, RFLX.Test.Definite_Message.F_Data) + and then RFLX.Test.Definite_Message.Valid_Length (Ctx, RFLX.Test.Definite_Message.F_Data, Length) + and then RFLX_Types.To_Length (RFLX.Test.Definite_Message.Available_Space (Ctx, RFLX.Test.Definite_Message.F_Data)) >= Length and then Process_Data_Pre (Length), Post => Has_Buffer (Ctx) @@ -608,8 +608,8 @@ is procedure To_Structure (Ctx : Context; Struct : out Structure) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx), + RFLX.Test.Definite_Message.Has_Buffer (Ctx) + and then RFLX.Test.Definite_Message.Structural_Valid_Message (Ctx), Post => Valid_Structure (Struct); @@ -618,9 +618,9 @@ is procedure To_Context (Struct : Structure; Ctx : in out Context) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Structure (Struct) - and then Sufficient_Buffer_Length (Ctx, Struct), + and then RFLX.Test.Definite_Message.Has_Buffer (Ctx) + and then RFLX.Test.Definite_Message.Valid_Structure (Struct) + and then RFLX.Test.Definite_Message.Sufficient_Buffer_Length (Ctx, Struct), Post => Has_Buffer (Ctx) and Structural_Valid_Message (Ctx) @@ -734,7 +734,7 @@ private function Initialized (Ctx : Context) return Boolean is (Ctx.Verified_Last = Ctx.First - 1 and then Valid_Next (Ctx, F_Message_Type) - and then Field_First (Ctx, F_Message_Type) rem RFLX_Types.Byte'Size = 1 + and then RFLX.Test.Definite_Message.Field_First (Ctx, RFLX.Test.Definite_Message.F_Message_Type) rem RFLX_Types.Byte'Size = 1 and then Available_Space (Ctx, F_Message_Type) = Ctx.Last - Ctx.First + 1 and then (for all F in Field => Invalid (Ctx, F))); @@ -856,7 +856,7 @@ private (Size = Field_Size (Ctx, Fld)) with Pre => - Valid_Next (Ctx, Fld); + RFLX.Test.Definite_Message.Valid_Next (Ctx, Fld); function Valid_Length (Ctx : Context; Fld : Field; Length : RFLX_Types.Length) return Boolean is (Valid_Size (Ctx, Fld, RFLX_Types.To_Bit_Length (Length))); diff --git a/tests/integration/session_sequence_append_head/generated/rflx-tlv-message.adb b/tests/integration/session_sequence_append_head/generated/rflx-tlv-message.adb index 9c42246f9..163e565b5 100644 --- a/tests/integration/session_sequence_append_head/generated/rflx-tlv-message.adb +++ b/tests/integration/session_sequence_append_head/generated/rflx-tlv-message.adb @@ -88,9 +88,9 @@ is F_Final)) with Pre => - Has_Buffer (Ctx) - and Structural_Valid (Ctx, Fld) - and Valid_Predecessor (Ctx, Fld); + RFLX.TLV.Message.Has_Buffer (Ctx) + and RFLX.TLV.Message.Structural_Valid (Ctx, Fld) + and RFLX.TLV.Message.Valid_Predecessor (Ctx, Fld); pragma Warnings (On, "precondition is always False"); @@ -110,8 +110,8 @@ is and Field_First (Ctx, Fld) + Field_Size (Ctx, Fld) - 1 <= Ctx.Written_Last) with Pre => - Has_Buffer (Ctx) - and Valid_Next (Ctx, Fld); + RFLX.TLV.Message.Has_Buffer (Ctx) + and RFLX.TLV.Message.Valid_Next (Ctx, Fld); function Equal (Ctx : Context; Fld : Field; Data : RFLX_Types.Bytes) return Boolean is (Sufficient_Buffer_Length (Ctx, Fld) @@ -125,7 +125,7 @@ is procedure Reset_Dependent_Fields (Ctx : in out Context; Fld : Field) with Pre => - Valid_Next (Ctx, Fld), + RFLX.TLV.Message.Valid_Next (Ctx, Fld), Post => Valid_Next (Ctx, Fld) and Invalid (Ctx.Cursors (Fld)) @@ -167,10 +167,10 @@ is function Get (Ctx : Context; Fld : Field) return RFLX_Types.Base_Integer with Pre => - Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) - and then Sufficient_Buffer_Length (Ctx, Fld) - and then not Composite_Field (Fld) + RFLX.TLV.Message.Has_Buffer (Ctx) + and then RFLX.TLV.Message.Valid_Next (Ctx, Fld) + and then RFLX.TLV.Message.Sufficient_Buffer_Length (Ctx, Fld) + and then not RFLX.TLV.Message.Composite_Field (Fld) is First : constant RFLX_Types.Bit_Index := Field_First (Ctx, Fld); Last : constant RFLX_Types.Bit_Index := Field_Last (Ctx, Fld); @@ -258,12 +258,12 @@ is procedure Set (Ctx : in out Context; Fld : Field; Val : RFLX_Types.Base_Integer; Size : RFLX_Types.Bit_Length; State_Valid : Boolean; Buffer_First : out RFLX_Types.Index; Buffer_Last : out RFLX_Types.Index; Offset : out RFLX_Types.Offset) with Pre => - Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) - and then Valid_Value (Fld, Val) - and then Valid_Size (Ctx, Fld, Size) - and then Size <= Available_Space (Ctx, Fld) - and then (if Composite_Field (Fld) then Size mod RFLX_Types.Byte'Size = 0 else State_Valid), + RFLX.TLV.Message.Has_Buffer (Ctx) + and then RFLX.TLV.Message.Valid_Next (Ctx, Fld) + and then RFLX.TLV.Message.Valid_Value (Fld, Val) + and then RFLX.TLV.Message.Valid_Size (Ctx, Fld, Size) + and then Size <= RFLX.TLV.Message.Available_Space (Ctx, Fld) + and then (if RFLX.TLV.Message.Composite_Field (Fld) then Size mod RFLX_Types.Byte'Size = 0 else State_Valid), Post => Valid_Next (Ctx, Fld) and then Invalid_Successor (Ctx, Fld) @@ -333,14 +333,14 @@ is procedure Set_Scalar (Ctx : in out Context; Fld : Field; Val : RFLX_Types.Base_Integer) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) + and then RFLX.TLV.Message.Has_Buffer (Ctx) + and then RFLX.TLV.Message.Valid_Next (Ctx, Fld) and then Fld in F_Tag | F_Length - and then Valid_Value (Fld, Val) - and then Valid_Size (Ctx, Fld, Field_Size (Ctx, Fld)) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld) - and then Field_Size (Ctx, Fld) in 1 .. RFLX_Types.Base_Integer'Size - and then RFLX_Types.Fits_Into (Val, Natural (Field_Size (Ctx, Fld))), + and then RFLX.TLV.Message.Valid_Value (Fld, Val) + and then RFLX.TLV.Message.Valid_Size (Ctx, Fld, RFLX.TLV.Message.Field_Size (Ctx, Fld)) + and then RFLX.TLV.Message.Available_Space (Ctx, Fld) >= RFLX.TLV.Message.Field_Size (Ctx, Fld) + and then RFLX.TLV.Message.Field_Size (Ctx, Fld) in 1 .. RFLX_Types.Base_Integer'Size + and then RFLX_Types.Fits_Into (Val, Natural (RFLX.TLV.Message.Field_Size (Ctx, Fld))), Post => Has_Buffer (Ctx) and Valid (Ctx, Fld) @@ -381,12 +381,12 @@ is procedure Set_Tag (Ctx : in out Context; Val : RFLX.TLV.Tag) is begin - Set_Scalar (Ctx, F_Tag, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_Tag, RFLX.TLV.To_Base_Integer (Val)); end Set_Tag; procedure Set_Length (Ctx : in out Context; Val : RFLX.TLV.Length) is begin - Set_Scalar (Ctx, F_Length, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_Length, RFLX.TLV.To_Base_Integer (Val)); end Set_Length; procedure Set_Value_Empty (Ctx : in out Context) is @@ -399,11 +399,11 @@ is procedure Initialize_Value_Private (Ctx : in out Context; Length : RFLX_Types.Length) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Value) - and then Valid_Length (Ctx, F_Value, Length) - and then RFLX_Types.To_Length (Available_Space (Ctx, F_Value)) >= Length - and then Field_First (Ctx, F_Value) mod RFLX_Types.Byte'Size = 1, + and then RFLX.TLV.Message.Has_Buffer (Ctx) + and then RFLX.TLV.Message.Valid_Next (Ctx, RFLX.TLV.Message.F_Value) + and then RFLX.TLV.Message.Valid_Length (Ctx, RFLX.TLV.Message.F_Value, Length) + and then RFLX_Types.To_Length (RFLX.TLV.Message.Available_Space (Ctx, RFLX.TLV.Message.F_Value)) >= Length + and then RFLX.TLV.Message.Field_First (Ctx, RFLX.TLV.Message.F_Value) mod RFLX_Types.Byte'Size = 1, Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Value) diff --git a/tests/integration/session_sequence_append_head/generated/rflx-tlv-message.ads b/tests/integration/session_sequence_append_head/generated/rflx-tlv-message.ads index 36647a52e..c4f3e606c 100644 --- a/tests/integration/session_sequence_append_head/generated/rflx-tlv-message.ads +++ b/tests/integration/session_sequence_append_head/generated/rflx-tlv-message.ads @@ -124,7 +124,7 @@ is procedure Reset (Ctx : in out Context) with Pre => not Ctx'Constrained - and Has_Buffer (Ctx), + and RFLX.TLV.Message.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -136,7 +136,7 @@ is procedure Reset (Ctx : in out Context; First : RFLX_Types.Bit_Index; Last : RFLX_Types.Bit_Length) with Pre => not Ctx'Constrained - and Has_Buffer (Ctx) + and RFLX.TLV.Message.Has_Buffer (Ctx) and RFLX_Types.To_Index (First) >= Ctx.Buffer_First and RFLX_Types.To_Index (Last) <= Ctx.Buffer_Last and First <= Last + 1 @@ -153,7 +153,7 @@ is procedure Take_Buffer (Ctx : in out Context; Buffer : out RFLX_Types.Bytes_Ptr) with Pre => - Has_Buffer (Ctx), + RFLX.TLV.Message.Has_Buffer (Ctx), Post => not Has_Buffer (Ctx) and Buffer /= null @@ -169,15 +169,15 @@ is procedure Copy (Ctx : Context; Buffer : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) - and then Byte_Size (Ctx) = Buffer'Length; + RFLX.TLV.Message.Has_Buffer (Ctx) + and then RFLX.TLV.Message.Structural_Valid_Message (Ctx) + and then RFLX.TLV.Message.Byte_Size (Ctx) = Buffer'Length; function Read (Ctx : Context) return RFLX_Types.Bytes with Ghost, Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx); + RFLX.TLV.Message.Has_Buffer (Ctx) + and then RFLX.TLV.Message.Structural_Valid_Message (Ctx); pragma Warnings (Off, "formal parameter ""*"" is not referenced"); @@ -191,8 +191,8 @@ is with function Pre (Buffer : RFLX_Types.Bytes) return Boolean is Always_Valid; procedure Generic_Read (Ctx : Context) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) + RFLX.TLV.Message.Has_Buffer (Ctx) + and then RFLX.TLV.Message.Structural_Valid_Message (Ctx) and then Pre (Read (Ctx)); pragma Warnings (Off, "formal parameter ""*"" is not referenced"); @@ -208,9 +208,9 @@ is procedure Generic_Write (Ctx : in out Context; Offset : RFLX_Types.Length := 0) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Offset < Buffer_Length (Ctx) - and then Pre (Buffer_Length (Ctx), Offset), + and then RFLX.TLV.Message.Has_Buffer (Ctx) + and then Offset < RFLX.TLV.Message.Buffer_Length (Ctx) + and then Pre (RFLX.TLV.Message.Buffer_Length (Ctx), Offset), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -222,7 +222,7 @@ is function Buffer_Length (Ctx : Context) return RFLX_Types.Length with Pre => - Has_Buffer (Ctx); + RFLX.TLV.Message.Has_Buffer (Ctx); function Size (Ctx : Context) return RFLX_Types.Bit_Length with Post => @@ -232,16 +232,16 @@ is function Message_Last (Ctx : Context) return RFLX_Types.Bit_Length with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx); + RFLX.TLV.Message.Has_Buffer (Ctx) + and then RFLX.TLV.Message.Structural_Valid_Message (Ctx); function Written_Last (Ctx : Context) return RFLX_Types.Bit_Length; procedure Data (Ctx : Context; Data : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) - and then Data'Length = Byte_Size (Ctx); + RFLX.TLV.Message.Has_Buffer (Ctx) + and then RFLX.TLV.Message.Structural_Valid_Message (Ctx) + and then Data'Length = RFLX.TLV.Message.Byte_Size (Ctx); pragma Warnings (Off, "postcondition does not mention function result"); @@ -255,7 +255,7 @@ is function Path_Condition (Ctx : Context; Fld : Field) return Boolean with Pre => - Valid_Predecessor (Ctx, Fld), + RFLX.TLV.Message.Valid_Predecessor (Ctx, Fld), Post => True; @@ -265,11 +265,11 @@ is function Field_Condition (Ctx : Context; Fld : Field; Val : RFLX_Types.Base_Integer) return Boolean with Pre => - Has_Buffer (Ctx) - and then Valid_Predecessor (Ctx, Fld) - and then Valid_Value (Fld, Val) - and then Valid_Next (Ctx, Fld) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld), + RFLX.TLV.Message.Has_Buffer (Ctx) + and then RFLX.TLV.Message.Valid_Predecessor (Ctx, Fld) + and then RFLX.TLV.Message.Valid_Value (Fld, Val) + and then RFLX.TLV.Message.Valid_Next (Ctx, Fld) + and then RFLX.TLV.Message.Available_Space (Ctx, Fld) >= RFLX.TLV.Message.Field_Size (Ctx, Fld), Post => True; @@ -277,7 +277,7 @@ is function Field_Size (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld), + RFLX.TLV.Message.Valid_Next (Ctx, Fld), Post => (case Fld is when F_Value => @@ -289,7 +289,7 @@ is function Field_First (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Index with Pre => - Valid_Next (Ctx, Fld), + RFLX.TLV.Message.Valid_Next (Ctx, Fld), Post => True; @@ -297,8 +297,8 @@ is function Field_Last (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld), + RFLX.TLV.Message.Valid_Next (Ctx, Fld) + and then RFLX.TLV.Message.Available_Space (Ctx, Fld) >= RFLX.TLV.Message.Field_Size (Ctx, Fld), Post => (case Fld is when F_Value => @@ -326,16 +326,16 @@ is function Available_Space (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld); + RFLX.TLV.Message.Valid_Next (Ctx, Fld); function Equal (Ctx : Context; Fld : Field; Data : RFLX_Types.Bytes) return Boolean with Pre => - Has_Buffer (Ctx) - and Valid_Next (Ctx, Fld); + RFLX.TLV.Message.Has_Buffer (Ctx) + and RFLX.TLV.Message.Valid_Next (Ctx, Fld); procedure Verify (Ctx : in out Context; Fld : Field) with Pre => - Has_Buffer (Ctx), + RFLX.TLV.Message.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -345,7 +345,7 @@ is procedure Verify_Message (Ctx : in out Context) with Pre => - Has_Buffer (Ctx), + RFLX.TLV.Message.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -367,11 +367,11 @@ is function Structural_Valid_Message (Ctx : Context) return Boolean with Pre => - Has_Buffer (Ctx); + RFLX.TLV.Message.Has_Buffer (Ctx); function Valid_Message (Ctx : Context) return Boolean with Pre => - Has_Buffer (Ctx); + RFLX.TLV.Message.Has_Buffer (Ctx); pragma Warnings (Off, "postcondition does not mention function result"); @@ -385,29 +385,29 @@ is function Get_Tag (Ctx : Context) return RFLX.TLV.Tag with Pre => - Valid (Ctx, F_Tag); + RFLX.TLV.Message.Valid (Ctx, RFLX.TLV.Message.F_Tag); function Get_Length (Ctx : Context) return RFLX.TLV.Length with Pre => - Valid (Ctx, F_Length); + RFLX.TLV.Message.Valid (Ctx, RFLX.TLV.Message.F_Length); pragma Warnings (On, "precondition is always False"); function Get_Value (Ctx : Context) return RFLX_Types.Bytes with Ghost, Pre => - Has_Buffer (Ctx) - and then Structural_Valid (Ctx, F_Value) - and then Valid_Next (Ctx, F_Value), + RFLX.TLV.Message.Has_Buffer (Ctx) + and then RFLX.TLV.Message.Structural_Valid (Ctx, RFLX.TLV.Message.F_Value) + and then RFLX.TLV.Message.Valid_Next (Ctx, RFLX.TLV.Message.F_Value), Post => Get_Value'Result'Length = RFLX_Types.To_Length (Field_Size (Ctx, F_Value)); procedure Get_Value (Ctx : Context; Data : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid (Ctx, F_Value) - and then Valid_Next (Ctx, F_Value) - and then Data'Length = RFLX_Types.To_Length (Field_Size (Ctx, F_Value)), + RFLX.TLV.Message.Has_Buffer (Ctx) + and then RFLX.TLV.Message.Structural_Valid (Ctx, RFLX.TLV.Message.F_Value) + and then RFLX.TLV.Message.Valid_Next (Ctx, RFLX.TLV.Message.F_Value) + and then Data'Length = RFLX_Types.To_Length (RFLX.TLV.Message.Field_Size (Ctx, RFLX.TLV.Message.F_Value)), Post => Equal (Ctx, F_Value, Data); @@ -415,14 +415,14 @@ is with procedure Process_Value (Value : RFLX_Types.Bytes); procedure Generic_Get_Value (Ctx : Context) with Pre => - Has_Buffer (Ctx) - and Present (Ctx, F_Value); + RFLX.TLV.Message.Has_Buffer (Ctx) + and RFLX.TLV.Message.Present (Ctx, RFLX.TLV.Message.F_Value); pragma Warnings (Off, "postcondition does not mention function result"); function Valid_Length (Ctx : Context; Fld : Field; Length : RFLX_Types.Length) return Boolean with Pre => - Valid_Next (Ctx, Fld), + RFLX.TLV.Message.Valid_Next (Ctx, Fld), Post => True; @@ -434,11 +434,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Tag) - and then RFLX.TLV.Valid_Tag (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_Tag) >= Field_Size (Ctx, F_Tag) - and then Field_Condition (Ctx, F_Tag, To_Base_Integer (Val)), + and then RFLX.TLV.Message.Has_Buffer (Ctx) + and then RFLX.TLV.Message.Valid_Next (Ctx, RFLX.TLV.Message.F_Tag) + and then RFLX.TLV.Valid_Tag (RFLX.TLV.To_Base_Integer (Val)) + and then RFLX.TLV.Message.Available_Space (Ctx, RFLX.TLV.Message.F_Tag) >= RFLX.TLV.Message.Field_Size (Ctx, RFLX.TLV.Message.F_Tag) + and then RFLX.TLV.Message.Field_Condition (Ctx, RFLX.TLV.Message.F_Tag, RFLX.TLV.To_Base_Integer (Val)), Post => Has_Buffer (Ctx) and Valid (Ctx, F_Tag) @@ -463,11 +463,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Length) - and then RFLX.TLV.Valid_Length (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_Length) >= Field_Size (Ctx, F_Length) - and then Field_Condition (Ctx, F_Length, To_Base_Integer (Val)), + and then RFLX.TLV.Message.Has_Buffer (Ctx) + and then RFLX.TLV.Message.Valid_Next (Ctx, RFLX.TLV.Message.F_Length) + and then RFLX.TLV.Valid_Length (RFLX.TLV.To_Base_Integer (Val)) + and then RFLX.TLV.Message.Available_Space (Ctx, RFLX.TLV.Message.F_Length) >= RFLX.TLV.Message.Field_Size (Ctx, RFLX.TLV.Message.F_Length) + and then RFLX.TLV.Message.Field_Condition (Ctx, RFLX.TLV.Message.F_Length, RFLX.TLV.To_Base_Integer (Val)), Post => Has_Buffer (Ctx) and Valid (Ctx, F_Length) @@ -492,11 +492,11 @@ is procedure Set_Value_Empty (Ctx : in out Context) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Value) - and then Available_Space (Ctx, F_Value) >= Field_Size (Ctx, F_Value) - and then Field_Condition (Ctx, F_Value, 0) - and then Field_Size (Ctx, F_Value) = 0, + and then RFLX.TLV.Message.Has_Buffer (Ctx) + and then RFLX.TLV.Message.Valid_Next (Ctx, RFLX.TLV.Message.F_Value) + and then RFLX.TLV.Message.Available_Space (Ctx, RFLX.TLV.Message.F_Value) >= RFLX.TLV.Message.Field_Size (Ctx, RFLX.TLV.Message.F_Value) + and then RFLX.TLV.Message.Field_Condition (Ctx, RFLX.TLV.Message.F_Value, 0) + and then RFLX.TLV.Message.Field_Size (Ctx, RFLX.TLV.Message.F_Value) = 0, Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Value) @@ -515,9 +515,9 @@ is procedure Initialize_Value (Ctx : in out Context) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Value) - and then Available_Space (Ctx, F_Value) >= Field_Size (Ctx, F_Value), + and then RFLX.TLV.Message.Has_Buffer (Ctx) + and then RFLX.TLV.Message.Valid_Next (Ctx, RFLX.TLV.Message.F_Value) + and then RFLX.TLV.Message.Available_Space (Ctx, RFLX.TLV.Message.F_Value) >= RFLX.TLV.Message.Field_Size (Ctx, RFLX.TLV.Message.F_Value), Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Value) @@ -536,12 +536,12 @@ is procedure Set_Value (Ctx : in out Context; Data : RFLX_Types.Bytes) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Value) - and then Available_Space (Ctx, F_Value) >= Field_Size (Ctx, F_Value) - and then Valid_Length (Ctx, F_Value, Data'Length) - and then Available_Space (Ctx, F_Value) >= Data'Length * RFLX_Types.Byte'Size - and then Field_Condition (Ctx, F_Value, 0), + and then RFLX.TLV.Message.Has_Buffer (Ctx) + and then RFLX.TLV.Message.Valid_Next (Ctx, RFLX.TLV.Message.F_Value) + and then RFLX.TLV.Message.Available_Space (Ctx, RFLX.TLV.Message.F_Value) >= RFLX.TLV.Message.Field_Size (Ctx, RFLX.TLV.Message.F_Value) + and then RFLX.TLV.Message.Valid_Length (Ctx, RFLX.TLV.Message.F_Value, Data'Length) + and then RFLX.TLV.Message.Available_Space (Ctx, RFLX.TLV.Message.F_Value) >= Data'Length * RFLX_Types.Byte'Size + and then RFLX.TLV.Message.Field_Condition (Ctx, RFLX.TLV.Message.F_Value, 0), Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Value) @@ -564,11 +564,11 @@ is procedure Generic_Set_Value (Ctx : in out Context; Length : RFLX_Types.Length) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Value) - and then Available_Space (Ctx, F_Value) >= Field_Size (Ctx, F_Value) - and then Valid_Length (Ctx, F_Value, Length) - and then RFLX_Types.To_Length (Available_Space (Ctx, F_Value)) >= Length + and then RFLX.TLV.Message.Has_Buffer (Ctx) + and then RFLX.TLV.Message.Valid_Next (Ctx, RFLX.TLV.Message.F_Value) + and then RFLX.TLV.Message.Available_Space (Ctx, RFLX.TLV.Message.F_Value) >= RFLX.TLV.Message.Field_Size (Ctx, RFLX.TLV.Message.F_Value) + and then RFLX.TLV.Message.Valid_Length (Ctx, RFLX.TLV.Message.F_Value, Length) + and then RFLX_Types.To_Length (RFLX.TLV.Message.Available_Space (Ctx, RFLX.TLV.Message.F_Value)) >= Length and then Process_Data_Pre (Length), Post => Has_Buffer (Ctx) @@ -709,7 +709,7 @@ private function Initialized (Ctx : Context) return Boolean is (Ctx.Verified_Last = Ctx.First - 1 and then Valid_Next (Ctx, F_Tag) - and then Field_First (Ctx, F_Tag) rem RFLX_Types.Byte'Size = 1 + and then RFLX.TLV.Message.Field_First (Ctx, RFLX.TLV.Message.F_Tag) rem RFLX_Types.Byte'Size = 1 and then Available_Space (Ctx, F_Tag) = Ctx.Last - Ctx.First + 1 and then (for all F in Field => Invalid (Ctx, F))); @@ -846,7 +846,7 @@ private (Size = Field_Size (Ctx, Fld)) with Pre => - Valid_Next (Ctx, Fld); + RFLX.TLV.Message.Valid_Next (Ctx, Fld); function Valid_Length (Ctx : Context; Fld : Field; Length : RFLX_Types.Length) return Boolean is (Valid_Size (Ctx, Fld, RFLX_Types.To_Bit_Length (Length))); diff --git a/tests/integration/shared/generated/rflx-universal-contains.ads b/tests/integration/shared/generated/rflx-universal-contains.ads index b7c15ee64..d467872a1 100644 --- a/tests/integration/shared/generated/rflx-universal-contains.ads +++ b/tests/integration/shared/generated/rflx-universal-contains.ads @@ -26,7 +26,7 @@ is and not Universal_Option_SDU_Context'Constrained and RFLX.Universal.Message.Has_Buffer (Universal_Message_PDU_Context) and RFLX.Universal.Message.Present (Universal_Message_PDU_Context, RFLX.Universal.Message.F_Data) - and Option_In_Message_Data (Universal_Message_PDU_Context), + and RFLX.Universal.Contains.Option_In_Message_Data (Universal_Message_PDU_Context), Post => not RFLX.Universal.Message.Has_Buffer (Universal_Message_PDU_Context) and RFLX.Universal.Option.Has_Buffer (Universal_Option_SDU_Context) @@ -46,7 +46,7 @@ is and then RFLX.Universal.Option.Has_Buffer (Universal_Option_SDU_Context) and then RFLX.Universal.Message.Has_Buffer (Universal_Message_PDU_Context) and then RFLX.Universal.Message.Present (Universal_Message_PDU_Context, RFLX.Universal.Message.F_Data) - and then Option_In_Message_Data (Universal_Message_PDU_Context) + and then RFLX.Universal.Contains.Option_In_Message_Data (Universal_Message_PDU_Context) and then RFLX_Types.To_Last_Bit_Index (Universal_Option_SDU_Context.Buffer_Last) - RFLX_Types.To_First_Bit_Index (Universal_Option_SDU_Context.Buffer_First) + 1 >= RFLX.Universal.Message.Field_Size (Universal_Message_PDU_Context, RFLX.Universal.Message.F_Data) and then RFLX_Types.To_First_Bit_Index (Universal_Option_SDU_Context.Buffer_First) + RFLX.Universal.Message.Field_Size (Universal_Message_PDU_Context, RFLX.Universal.Message.F_Data) - 1 < RFLX_Types.Bit_Index'Last, Post => diff --git a/tests/integration/shared/generated/rflx-universal-message.adb b/tests/integration/shared/generated/rflx-universal-message.adb index 263bc3922..21bbce0dd 100644 --- a/tests/integration/shared/generated/rflx-universal-message.adb +++ b/tests/integration/shared/generated/rflx-universal-message.adb @@ -120,9 +120,9 @@ is F_Final)) with Pre => - Has_Buffer (Ctx) - and Structural_Valid (Ctx, Fld) - and Valid_Predecessor (Ctx, Fld); + RFLX.Universal.Message.Has_Buffer (Ctx) + and RFLX.Universal.Message.Structural_Valid (Ctx, Fld) + and RFLX.Universal.Message.Valid_Predecessor (Ctx, Fld); pragma Warnings (On, "precondition is always False"); @@ -148,8 +148,8 @@ is and Field_First (Ctx, Fld) + Field_Size (Ctx, Fld) - 1 <= Ctx.Written_Last) with Pre => - Has_Buffer (Ctx) - and Valid_Next (Ctx, Fld); + RFLX.Universal.Message.Has_Buffer (Ctx) + and RFLX.Universal.Message.Valid_Next (Ctx, Fld); function Equal (Ctx : Context; Fld : Field; Data : RFLX_Types.Bytes) return Boolean is (Sufficient_Buffer_Length (Ctx, Fld) @@ -163,7 +163,7 @@ is procedure Reset_Dependent_Fields (Ctx : in out Context; Fld : Field) with Pre => - Valid_Next (Ctx, Fld), + RFLX.Universal.Message.Valid_Next (Ctx, Fld), Post => Valid_Next (Ctx, Fld) and Invalid (Ctx.Cursors (Fld)) @@ -205,10 +205,10 @@ is function Get (Ctx : Context; Fld : Field) return RFLX_Types.Base_Integer with Pre => - Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) - and then Sufficient_Buffer_Length (Ctx, Fld) - and then not Composite_Field (Fld) + RFLX.Universal.Message.Has_Buffer (Ctx) + and then RFLX.Universal.Message.Valid_Next (Ctx, Fld) + and then RFLX.Universal.Message.Sufficient_Buffer_Length (Ctx, Fld) + and then not RFLX.Universal.Message.Composite_Field (Fld) is First : constant RFLX_Types.Bit_Index := Field_First (Ctx, Fld); Last : constant RFLX_Types.Bit_Index := Field_Last (Ctx, Fld); @@ -306,12 +306,17 @@ is procedure Set (Ctx : in out Context; Fld : Field; Val : RFLX_Types.Base_Integer; Size : RFLX_Types.Bit_Length; State_Valid : Boolean; Buffer_First : out RFLX_Types.Index; Buffer_Last : out RFLX_Types.Index; Offset : out RFLX_Types.Offset) with Pre => - Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) - and then Valid_Value (Fld, Val) - and then Valid_Size (Ctx, Fld, Size) - and then Size <= Available_Space (Ctx, Fld) - and then (if Composite_Field (Fld) then Size mod RFLX_Types.Byte'Size = 0 else State_Valid), + RFLX.Universal.Message.Has_Buffer (Ctx) + and then RFLX.Universal.Message.Valid_Next (Ctx, Fld) + and then RFLX.Universal.Message.Valid_Value (Fld, Val) + and then RFLX.Universal.Message.Valid_Size (Ctx, Fld, Size) + and then Size <= RFLX.Universal.Message.Available_Space (Ctx, Fld) + and then (if + RFLX.Universal.Message.Composite_Field (Fld) + then + Size mod RFLX_Types.Byte'Size = 0 + else + State_Valid), Post => Valid_Next (Ctx, Fld) and then Invalid_Successor (Ctx, Fld) @@ -452,14 +457,14 @@ is procedure Set_Scalar (Ctx : in out Context; Fld : Field; Val : RFLX_Types.Base_Integer) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) + and then RFLX.Universal.Message.Has_Buffer (Ctx) + and then RFLX.Universal.Message.Valid_Next (Ctx, Fld) and then Fld in F_Message_Type | F_Length | F_Value - and then Valid_Value (Fld, Val) - and then Valid_Size (Ctx, Fld, Field_Size (Ctx, Fld)) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld) - and then Field_Size (Ctx, Fld) in 1 .. RFLX_Types.Base_Integer'Size - and then RFLX_Types.Fits_Into (Val, Natural (Field_Size (Ctx, Fld))), + and then RFLX.Universal.Message.Valid_Value (Fld, Val) + and then RFLX.Universal.Message.Valid_Size (Ctx, Fld, RFLX.Universal.Message.Field_Size (Ctx, Fld)) + and then RFLX.Universal.Message.Available_Space (Ctx, Fld) >= RFLX.Universal.Message.Field_Size (Ctx, Fld) + and then RFLX.Universal.Message.Field_Size (Ctx, Fld) in 1 .. RFLX_Types.Base_Integer'Size + and then RFLX_Types.Fits_Into (Val, Natural (RFLX.Universal.Message.Field_Size (Ctx, Fld))), Post => Has_Buffer (Ctx) and Valid (Ctx, Fld) @@ -541,17 +546,17 @@ is procedure Set_Message_Type (Ctx : in out Context; Val : RFLX.Universal.Message_Type) is begin - Set_Scalar (Ctx, F_Message_Type, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_Message_Type, RFLX.Universal.To_Base_Integer (Val)); end Set_Message_Type; procedure Set_Length (Ctx : in out Context; Val : RFLX.Universal.Length) is begin - Set_Scalar (Ctx, F_Length, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_Length, RFLX.Universal.To_Base_Integer (Val)); end Set_Length; procedure Set_Value (Ctx : in out Context; Val : RFLX.Universal.Value) is begin - Set_Scalar (Ctx, F_Value, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_Value, RFLX.Universal.To_Base_Integer (Val)); end Set_Value; procedure Set_Data_Empty (Ctx : in out Context) is @@ -582,44 +587,44 @@ is Set (Ctx, F_Values, 0, 0, True, Unused_Buffer_First, Unused_Buffer_Last, Unused_Offset); end Set_Values_Empty; - procedure Set_Option_Types (Ctx : in out Context; Seq_Ctx : Universal.Option_Types.Context) is - Size : constant RFLX_Types.Bit_Length := RFLX_Types.To_Bit_Length (Universal.Option_Types.Byte_Size (Seq_Ctx)); + procedure Set_Option_Types (Ctx : in out Context; Seq_Ctx : RFLX.Universal.Option_Types.Context) is + Size : constant RFLX_Types.Bit_Length := RFLX_Types.To_Bit_Length (RFLX.Universal.Option_Types.Byte_Size (Seq_Ctx)); Unused_First, Unused_Last : RFLX_Types.Bit_Index; Buffer_First, Buffer_Last : RFLX_Types.Index; Unused_Offset : RFLX_Types.Offset; begin Set (Ctx, F_Option_Types, 0, Size, True, Buffer_First, Buffer_Last, Unused_Offset); - Universal.Option_Types.Copy (Seq_Ctx, Ctx.Buffer.all (Buffer_First .. Buffer_Last)); + RFLX.Universal.Option_Types.Copy (Seq_Ctx, Ctx.Buffer.all (Buffer_First .. Buffer_Last)); end Set_Option_Types; - procedure Set_Options (Ctx : in out Context; Seq_Ctx : Universal.Options.Context) is - Size : constant RFLX_Types.Bit_Length := RFLX_Types.To_Bit_Length (Universal.Options.Byte_Size (Seq_Ctx)); + procedure Set_Options (Ctx : in out Context; Seq_Ctx : RFLX.Universal.Options.Context) is + Size : constant RFLX_Types.Bit_Length := RFLX_Types.To_Bit_Length (RFLX.Universal.Options.Byte_Size (Seq_Ctx)); Unused_First, Unused_Last : RFLX_Types.Bit_Index; Buffer_First, Buffer_Last : RFLX_Types.Index; Unused_Offset : RFLX_Types.Offset; begin Set (Ctx, F_Options, 0, Size, True, Buffer_First, Buffer_Last, Unused_Offset); - Universal.Options.Copy (Seq_Ctx, Ctx.Buffer.all (Buffer_First .. Buffer_Last)); + RFLX.Universal.Options.Copy (Seq_Ctx, Ctx.Buffer.all (Buffer_First .. Buffer_Last)); end Set_Options; - procedure Set_Values (Ctx : in out Context; Seq_Ctx : Universal.Values.Context) is - Size : constant RFLX_Types.Bit_Length := RFLX_Types.To_Bit_Length (Universal.Values.Byte_Size (Seq_Ctx)); + procedure Set_Values (Ctx : in out Context; Seq_Ctx : RFLX.Universal.Values.Context) is + Size : constant RFLX_Types.Bit_Length := RFLX_Types.To_Bit_Length (RFLX.Universal.Values.Byte_Size (Seq_Ctx)); Unused_First, Unused_Last : RFLX_Types.Bit_Index; Buffer_First, Buffer_Last : RFLX_Types.Index; Unused_Offset : RFLX_Types.Offset; begin Set (Ctx, F_Values, 0, Size, True, Buffer_First, Buffer_Last, Unused_Offset); - Universal.Values.Copy (Seq_Ctx, Ctx.Buffer.all (Buffer_First .. Buffer_Last)); + RFLX.Universal.Values.Copy (Seq_Ctx, Ctx.Buffer.all (Buffer_First .. Buffer_Last)); end Set_Values; procedure Initialize_Data_Private (Ctx : in out Context; Length : RFLX_Types.Length) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Data) - and then Valid_Length (Ctx, F_Data, Length) - and then RFLX_Types.To_Length (Available_Space (Ctx, F_Data)) >= Length - and then Field_First (Ctx, F_Data) mod RFLX_Types.Byte'Size = 1, + and then RFLX.Universal.Message.Has_Buffer (Ctx) + and then RFLX.Universal.Message.Valid_Next (Ctx, RFLX.Universal.Message.F_Data) + and then RFLX.Universal.Message.Valid_Length (Ctx, RFLX.Universal.Message.F_Data, Length) + and then RFLX_Types.To_Length (RFLX.Universal.Message.Available_Space (Ctx, RFLX.Universal.Message.F_Data)) >= Length + and then RFLX.Universal.Message.Field_First (Ctx, RFLX.Universal.Message.F_Data) mod RFLX_Types.Byte'Size = 1, Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Data) @@ -659,11 +664,11 @@ is procedure Initialize_Option_Types_Private (Ctx : in out Context; Length : RFLX_Types.Length) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Option_Types) - and then Valid_Length (Ctx, F_Option_Types, Length) - and then RFLX_Types.To_Length (Available_Space (Ctx, F_Option_Types)) >= Length - and then Field_First (Ctx, F_Option_Types) mod RFLX_Types.Byte'Size = 1, + and then RFLX.Universal.Message.Has_Buffer (Ctx) + and then RFLX.Universal.Message.Valid_Next (Ctx, RFLX.Universal.Message.F_Option_Types) + and then RFLX.Universal.Message.Valid_Length (Ctx, RFLX.Universal.Message.F_Option_Types, Length) + and then RFLX_Types.To_Length (RFLX.Universal.Message.Available_Space (Ctx, RFLX.Universal.Message.F_Option_Types)) >= Length + and then RFLX.Universal.Message.Field_First (Ctx, RFLX.Universal.Message.F_Option_Types) mod RFLX_Types.Byte'Size = 1, Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Option_Types) @@ -703,11 +708,11 @@ is procedure Initialize_Options_Private (Ctx : in out Context; Length : RFLX_Types.Length) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Options) - and then Valid_Length (Ctx, F_Options, Length) - and then RFLX_Types.To_Length (Available_Space (Ctx, F_Options)) >= Length - and then Field_First (Ctx, F_Options) mod RFLX_Types.Byte'Size = 1, + and then RFLX.Universal.Message.Has_Buffer (Ctx) + and then RFLX.Universal.Message.Valid_Next (Ctx, RFLX.Universal.Message.F_Options) + and then RFLX.Universal.Message.Valid_Length (Ctx, RFLX.Universal.Message.F_Options, Length) + and then RFLX_Types.To_Length (RFLX.Universal.Message.Available_Space (Ctx, RFLX.Universal.Message.F_Options)) >= Length + and then RFLX.Universal.Message.Field_First (Ctx, RFLX.Universal.Message.F_Options) mod RFLX_Types.Byte'Size = 1, Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Options) @@ -745,11 +750,11 @@ is procedure Initialize_Values_Private (Ctx : in out Context; Length : RFLX_Types.Length) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Values) - and then Valid_Length (Ctx, F_Values, Length) - and then RFLX_Types.To_Length (Available_Space (Ctx, F_Values)) >= Length - and then Field_First (Ctx, F_Values) mod RFLX_Types.Byte'Size = 1, + and then RFLX.Universal.Message.Has_Buffer (Ctx) + and then RFLX.Universal.Message.Valid_Next (Ctx, RFLX.Universal.Message.F_Values) + and then RFLX.Universal.Message.Valid_Length (Ctx, RFLX.Universal.Message.F_Values, Length) + and then RFLX_Types.To_Length (RFLX.Universal.Message.Available_Space (Ctx, RFLX.Universal.Message.F_Values)) >= Length + and then RFLX.Universal.Message.Field_First (Ctx, RFLX.Universal.Message.F_Values) mod RFLX_Types.Byte'Size = 1, Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Values) @@ -802,7 +807,7 @@ is Initialize_Data_Private (Ctx, Length); end Generic_Set_Data; - procedure Switch_To_Option_Types (Ctx : in out Context; Seq_Ctx : out Universal.Option_Types.Context) is + procedure Switch_To_Option_Types (Ctx : in out Context; Seq_Ctx : out RFLX.Universal.Option_Types.Context) is First : constant RFLX_Types.Bit_Index := Field_First (Ctx, F_Option_Types); Last : constant RFLX_Types.Bit_Index := Field_Last (Ctx, F_Option_Types); Buffer : RFLX_Types.Bytes_Ptr; @@ -817,11 +822,11 @@ is end if; Take_Buffer (Ctx, Buffer); pragma Warnings (Off, "unused assignment to ""Buffer"""); - Universal.Option_Types.Initialize (Seq_Ctx, Buffer, First, Last); + RFLX.Universal.Option_Types.Initialize (Seq_Ctx, Buffer, First, Last); pragma Warnings (On, "unused assignment to ""Buffer"""); end Switch_To_Option_Types; - procedure Switch_To_Options (Ctx : in out Context; Seq_Ctx : out Universal.Options.Context) is + procedure Switch_To_Options (Ctx : in out Context; Seq_Ctx : out RFLX.Universal.Options.Context) is First : constant RFLX_Types.Bit_Index := Field_First (Ctx, F_Options); Last : constant RFLX_Types.Bit_Index := Field_Last (Ctx, F_Options); Buffer : RFLX_Types.Bytes_Ptr; @@ -836,11 +841,11 @@ is end if; Take_Buffer (Ctx, Buffer); pragma Warnings (Off, "unused assignment to ""Buffer"""); - Universal.Options.Initialize (Seq_Ctx, Buffer, First, Last); + RFLX.Universal.Options.Initialize (Seq_Ctx, Buffer, First, Last); pragma Warnings (On, "unused assignment to ""Buffer"""); end Switch_To_Options; - procedure Switch_To_Values (Ctx : in out Context; Seq_Ctx : out Universal.Values.Context) is + procedure Switch_To_Values (Ctx : in out Context; Seq_Ctx : out RFLX.Universal.Values.Context) is First : constant RFLX_Types.Bit_Index := Field_First (Ctx, F_Values); Last : constant RFLX_Types.Bit_Index := Field_Last (Ctx, F_Values); Buffer : RFLX_Types.Bytes_Ptr; @@ -855,37 +860,37 @@ is end if; Take_Buffer (Ctx, Buffer); pragma Warnings (Off, "unused assignment to ""Buffer"""); - Universal.Values.Initialize (Seq_Ctx, Buffer, First, Last); + RFLX.Universal.Values.Initialize (Seq_Ctx, Buffer, First, Last); pragma Warnings (On, "unused assignment to ""Buffer"""); end Switch_To_Values; - procedure Update_Option_Types (Ctx : in out Context; Seq_Ctx : in out Universal.Option_Types.Context) is - Valid_Sequence : constant Boolean := Universal.Option_Types.Valid (Seq_Ctx); + procedure Update_Option_Types (Ctx : in out Context; Seq_Ctx : in out RFLX.Universal.Option_Types.Context) is + Valid_Sequence : constant Boolean := RFLX.Universal.Option_Types.Valid (Seq_Ctx); Buffer : RFLX_Types.Bytes_Ptr; begin - Universal.Option_Types.Take_Buffer (Seq_Ctx, Buffer); + RFLX.Universal.Option_Types.Take_Buffer (Seq_Ctx, Buffer); Ctx.Buffer := Buffer; if Valid_Sequence then Ctx.Cursors (F_Option_Types) := (State => S_Valid, First => Ctx.Cursors (F_Option_Types).First, Last => Ctx.Cursors (F_Option_Types).Last, Value => Ctx.Cursors (F_Option_Types).Value, Predecessor => Ctx.Cursors (F_Option_Types).Predecessor); end if; end Update_Option_Types; - procedure Update_Options (Ctx : in out Context; Seq_Ctx : in out Universal.Options.Context) is - Valid_Sequence : constant Boolean := Universal.Options.Valid (Seq_Ctx); + procedure Update_Options (Ctx : in out Context; Seq_Ctx : in out RFLX.Universal.Options.Context) is + Valid_Sequence : constant Boolean := RFLX.Universal.Options.Valid (Seq_Ctx); Buffer : RFLX_Types.Bytes_Ptr; begin - Universal.Options.Take_Buffer (Seq_Ctx, Buffer); + RFLX.Universal.Options.Take_Buffer (Seq_Ctx, Buffer); Ctx.Buffer := Buffer; if Valid_Sequence then Ctx.Cursors (F_Options) := (State => S_Valid, First => Ctx.Cursors (F_Options).First, Last => Ctx.Cursors (F_Options).Last, Value => Ctx.Cursors (F_Options).Value, Predecessor => Ctx.Cursors (F_Options).Predecessor); end if; end Update_Options; - procedure Update_Values (Ctx : in out Context; Seq_Ctx : in out Universal.Values.Context) is - Valid_Sequence : constant Boolean := Universal.Values.Valid (Seq_Ctx); + procedure Update_Values (Ctx : in out Context; Seq_Ctx : in out RFLX.Universal.Values.Context) is + Valid_Sequence : constant Boolean := RFLX.Universal.Values.Valid (Seq_Ctx); Buffer : RFLX_Types.Bytes_Ptr; begin - Universal.Values.Take_Buffer (Seq_Ctx, Buffer); + RFLX.Universal.Values.Take_Buffer (Seq_Ctx, Buffer); Ctx.Buffer := Buffer; if Valid_Sequence then Ctx.Cursors (F_Values) := (State => S_Valid, First => Ctx.Cursors (F_Values).First, Last => Ctx.Cursors (F_Values).Last, Value => Ctx.Cursors (F_Values).Value, Predecessor => Ctx.Cursors (F_Values).Predecessor); diff --git a/tests/integration/shared/generated/rflx-universal-message.ads b/tests/integration/shared/generated/rflx-universal-message.ads index 3f57cb804..6245063c5 100644 --- a/tests/integration/shared/generated/rflx-universal-message.ads +++ b/tests/integration/shared/generated/rflx-universal-message.ads @@ -127,7 +127,7 @@ is procedure Reset (Ctx : in out Context) with Pre => not Ctx'Constrained - and Has_Buffer (Ctx), + and RFLX.Universal.Message.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -139,7 +139,7 @@ is procedure Reset (Ctx : in out Context; First : RFLX_Types.Bit_Index; Last : RFLX_Types.Bit_Length) with Pre => not Ctx'Constrained - and Has_Buffer (Ctx) + and RFLX.Universal.Message.Has_Buffer (Ctx) and RFLX_Types.To_Index (First) >= Ctx.Buffer_First and RFLX_Types.To_Index (Last) <= Ctx.Buffer_Last and First <= Last + 1 @@ -156,7 +156,7 @@ is procedure Take_Buffer (Ctx : in out Context; Buffer : out RFLX_Types.Bytes_Ptr) with Pre => - Has_Buffer (Ctx), + RFLX.Universal.Message.Has_Buffer (Ctx), Post => not Has_Buffer (Ctx) and Buffer /= null @@ -172,15 +172,15 @@ is procedure Copy (Ctx : Context; Buffer : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) - and then Byte_Size (Ctx) = Buffer'Length; + RFLX.Universal.Message.Has_Buffer (Ctx) + and then RFLX.Universal.Message.Structural_Valid_Message (Ctx) + and then RFLX.Universal.Message.Byte_Size (Ctx) = Buffer'Length; function Read (Ctx : Context) return RFLX_Types.Bytes with Ghost, Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx); + RFLX.Universal.Message.Has_Buffer (Ctx) + and then RFLX.Universal.Message.Structural_Valid_Message (Ctx); pragma Warnings (Off, "formal parameter ""*"" is not referenced"); @@ -194,8 +194,8 @@ is with function Pre (Buffer : RFLX_Types.Bytes) return Boolean is Always_Valid; procedure Generic_Read (Ctx : Context) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) + RFLX.Universal.Message.Has_Buffer (Ctx) + and then RFLX.Universal.Message.Structural_Valid_Message (Ctx) and then Pre (Read (Ctx)); pragma Warnings (Off, "formal parameter ""*"" is not referenced"); @@ -211,9 +211,9 @@ is procedure Generic_Write (Ctx : in out Context; Offset : RFLX_Types.Length := 0) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Offset < Buffer_Length (Ctx) - and then Pre (Buffer_Length (Ctx), Offset), + and then RFLX.Universal.Message.Has_Buffer (Ctx) + and then Offset < RFLX.Universal.Message.Buffer_Length (Ctx) + and then Pre (RFLX.Universal.Message.Buffer_Length (Ctx), Offset), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -225,7 +225,7 @@ is function Buffer_Length (Ctx : Context) return RFLX_Types.Length with Pre => - Has_Buffer (Ctx); + RFLX.Universal.Message.Has_Buffer (Ctx); function Size (Ctx : Context) return RFLX_Types.Bit_Length with Post => @@ -235,16 +235,16 @@ is function Message_Last (Ctx : Context) return RFLX_Types.Bit_Length with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx); + RFLX.Universal.Message.Has_Buffer (Ctx) + and then RFLX.Universal.Message.Structural_Valid_Message (Ctx); function Written_Last (Ctx : Context) return RFLX_Types.Bit_Length; procedure Data (Ctx : Context; Data : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) - and then Data'Length = Byte_Size (Ctx); + RFLX.Universal.Message.Has_Buffer (Ctx) + and then RFLX.Universal.Message.Structural_Valid_Message (Ctx) + and then Data'Length = RFLX.Universal.Message.Byte_Size (Ctx); pragma Warnings (Off, "postcondition does not mention function result"); @@ -258,7 +258,7 @@ is function Path_Condition (Ctx : Context; Fld : Field) return Boolean with Pre => - Valid_Predecessor (Ctx, Fld), + RFLX.Universal.Message.Valid_Predecessor (Ctx, Fld), Post => True; @@ -268,11 +268,11 @@ is function Field_Condition (Ctx : Context; Fld : Field; Val : RFLX_Types.Base_Integer) return Boolean with Pre => - Has_Buffer (Ctx) - and then Valid_Predecessor (Ctx, Fld) - and then Valid_Value (Fld, Val) - and then Valid_Next (Ctx, Fld) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld), + RFLX.Universal.Message.Has_Buffer (Ctx) + and then RFLX.Universal.Message.Valid_Predecessor (Ctx, Fld) + and then RFLX.Universal.Message.Valid_Value (Fld, Val) + and then RFLX.Universal.Message.Valid_Next (Ctx, Fld) + and then RFLX.Universal.Message.Available_Space (Ctx, Fld) >= RFLX.Universal.Message.Field_Size (Ctx, Fld), Post => True; @@ -280,7 +280,7 @@ is function Field_Size (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld), + RFLX.Universal.Message.Valid_Next (Ctx, Fld), Post => (case Fld is when F_Data | F_Option_Types | F_Options | F_Values => @@ -292,7 +292,7 @@ is function Field_First (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Index with Pre => - Valid_Next (Ctx, Fld), + RFLX.Universal.Message.Valid_Next (Ctx, Fld), Post => True; @@ -300,8 +300,8 @@ is function Field_Last (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld), + RFLX.Universal.Message.Valid_Next (Ctx, Fld) + and then RFLX.Universal.Message.Available_Space (Ctx, Fld) >= RFLX.Universal.Message.Field_Size (Ctx, Fld), Post => (case Fld is when F_Data | F_Option_Types | F_Options | F_Values => @@ -329,16 +329,16 @@ is function Available_Space (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld); + RFLX.Universal.Message.Valid_Next (Ctx, Fld); function Equal (Ctx : Context; Fld : Field; Data : RFLX_Types.Bytes) return Boolean with Pre => - Has_Buffer (Ctx) - and Valid_Next (Ctx, Fld); + RFLX.Universal.Message.Has_Buffer (Ctx) + and RFLX.Universal.Message.Valid_Next (Ctx, Fld); procedure Verify (Ctx : in out Context; Fld : Field) with Pre => - Has_Buffer (Ctx), + RFLX.Universal.Message.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -348,7 +348,7 @@ is procedure Verify_Message (Ctx : in out Context) with Pre => - Has_Buffer (Ctx), + RFLX.Universal.Message.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -370,11 +370,11 @@ is function Structural_Valid_Message (Ctx : Context) return Boolean with Pre => - Has_Buffer (Ctx); + RFLX.Universal.Message.Has_Buffer (Ctx); function Valid_Message (Ctx : Context) return Boolean with Pre => - Has_Buffer (Ctx); + RFLX.Universal.Message.Has_Buffer (Ctx); pragma Warnings (Off, "postcondition does not mention function result"); @@ -388,33 +388,33 @@ is function Get_Message_Type (Ctx : Context) return RFLX.Universal.Message_Type with Pre => - Valid (Ctx, F_Message_Type); + RFLX.Universal.Message.Valid (Ctx, RFLX.Universal.Message.F_Message_Type); function Get_Length (Ctx : Context) return RFLX.Universal.Length with Pre => - Valid (Ctx, F_Length); + RFLX.Universal.Message.Valid (Ctx, RFLX.Universal.Message.F_Length); function Get_Value (Ctx : Context) return RFLX.Universal.Value with Pre => - Valid (Ctx, F_Value); + RFLX.Universal.Message.Valid (Ctx, RFLX.Universal.Message.F_Value); pragma Warnings (On, "precondition is always False"); function Get_Data (Ctx : Context) return RFLX_Types.Bytes with Ghost, Pre => - Has_Buffer (Ctx) - and then Structural_Valid (Ctx, F_Data) - and then Valid_Next (Ctx, F_Data), + RFLX.Universal.Message.Has_Buffer (Ctx) + and then RFLX.Universal.Message.Structural_Valid (Ctx, RFLX.Universal.Message.F_Data) + and then RFLX.Universal.Message.Valid_Next (Ctx, RFLX.Universal.Message.F_Data), Post => Get_Data'Result'Length = RFLX_Types.To_Length (Field_Size (Ctx, F_Data)); procedure Get_Data (Ctx : Context; Data : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid (Ctx, F_Data) - and then Valid_Next (Ctx, F_Data) - and then Data'Length = RFLX_Types.To_Length (Field_Size (Ctx, F_Data)), + RFLX.Universal.Message.Has_Buffer (Ctx) + and then RFLX.Universal.Message.Structural_Valid (Ctx, RFLX.Universal.Message.F_Data) + and then RFLX.Universal.Message.Valid_Next (Ctx, RFLX.Universal.Message.F_Data) + and then Data'Length = RFLX_Types.To_Length (RFLX.Universal.Message.Field_Size (Ctx, RFLX.Universal.Message.F_Data)), Post => Equal (Ctx, F_Data, Data); @@ -422,14 +422,14 @@ is with procedure Process_Data (Data : RFLX_Types.Bytes); procedure Generic_Get_Data (Ctx : Context) with Pre => - Has_Buffer (Ctx) - and Present (Ctx, F_Data); + RFLX.Universal.Message.Has_Buffer (Ctx) + and RFLX.Universal.Message.Present (Ctx, RFLX.Universal.Message.F_Data); pragma Warnings (Off, "postcondition does not mention function result"); function Valid_Length (Ctx : Context; Fld : Field; Length : RFLX_Types.Length) return Boolean with Pre => - Valid_Next (Ctx, Fld), + RFLX.Universal.Message.Valid_Next (Ctx, Fld), Post => True; @@ -441,11 +441,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Message_Type) - and then RFLX.Universal.Valid_Message_Type (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_Message_Type) >= Field_Size (Ctx, F_Message_Type) - and then Field_Condition (Ctx, F_Message_Type, To_Base_Integer (Val)), + and then RFLX.Universal.Message.Has_Buffer (Ctx) + and then RFLX.Universal.Message.Valid_Next (Ctx, RFLX.Universal.Message.F_Message_Type) + and then RFLX.Universal.Valid_Message_Type (RFLX.Universal.To_Base_Integer (Val)) + and then RFLX.Universal.Message.Available_Space (Ctx, RFLX.Universal.Message.F_Message_Type) >= RFLX.Universal.Message.Field_Size (Ctx, RFLX.Universal.Message.F_Message_Type) + and then RFLX.Universal.Message.Field_Condition (Ctx, RFLX.Universal.Message.F_Message_Type, RFLX.Universal.To_Base_Integer (Val)), Post => Has_Buffer (Ctx) and Valid (Ctx, F_Message_Type) @@ -486,11 +486,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Length) - and then RFLX.Universal.Valid_Length (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_Length) >= Field_Size (Ctx, F_Length) - and then Field_Condition (Ctx, F_Length, To_Base_Integer (Val)), + and then RFLX.Universal.Message.Has_Buffer (Ctx) + and then RFLX.Universal.Message.Valid_Next (Ctx, RFLX.Universal.Message.F_Length) + and then RFLX.Universal.Valid_Length (RFLX.Universal.To_Base_Integer (Val)) + and then RFLX.Universal.Message.Available_Space (Ctx, RFLX.Universal.Message.F_Length) >= RFLX.Universal.Message.Field_Size (Ctx, RFLX.Universal.Message.F_Length) + and then RFLX.Universal.Message.Field_Condition (Ctx, RFLX.Universal.Message.F_Length, RFLX.Universal.To_Base_Integer (Val)), Post => Has_Buffer (Ctx) and Valid (Ctx, F_Length) @@ -542,11 +542,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Value) - and then RFLX.Universal.Valid_Value (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_Value) >= Field_Size (Ctx, F_Value) - and then Field_Condition (Ctx, F_Value, To_Base_Integer (Val)), + and then RFLX.Universal.Message.Has_Buffer (Ctx) + and then RFLX.Universal.Message.Valid_Next (Ctx, RFLX.Universal.Message.F_Value) + and then RFLX.Universal.Valid_Value (RFLX.Universal.To_Base_Integer (Val)) + and then RFLX.Universal.Message.Available_Space (Ctx, RFLX.Universal.Message.F_Value) >= RFLX.Universal.Message.Field_Size (Ctx, RFLX.Universal.Message.F_Value) + and then RFLX.Universal.Message.Field_Condition (Ctx, RFLX.Universal.Message.F_Value, RFLX.Universal.To_Base_Integer (Val)), Post => Has_Buffer (Ctx) and Valid (Ctx, F_Value) @@ -571,11 +571,11 @@ is procedure Set_Data_Empty (Ctx : in out Context) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Data) - and then Available_Space (Ctx, F_Data) >= Field_Size (Ctx, F_Data) - and then Field_Condition (Ctx, F_Data, 0) - and then Field_Size (Ctx, F_Data) = 0, + and then RFLX.Universal.Message.Has_Buffer (Ctx) + and then RFLX.Universal.Message.Valid_Next (Ctx, RFLX.Universal.Message.F_Data) + and then RFLX.Universal.Message.Available_Space (Ctx, RFLX.Universal.Message.F_Data) >= RFLX.Universal.Message.Field_Size (Ctx, RFLX.Universal.Message.F_Data) + and then RFLX.Universal.Message.Field_Condition (Ctx, RFLX.Universal.Message.F_Data, 0) + and then RFLX.Universal.Message.Field_Size (Ctx, RFLX.Universal.Message.F_Data) = 0, Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Data) @@ -597,11 +597,11 @@ is procedure Set_Option_Types_Empty (Ctx : in out Context) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Option_Types) - and then Available_Space (Ctx, F_Option_Types) >= Field_Size (Ctx, F_Option_Types) - and then Field_Condition (Ctx, F_Option_Types, 0) - and then Field_Size (Ctx, F_Option_Types) = 0, + and then RFLX.Universal.Message.Has_Buffer (Ctx) + and then RFLX.Universal.Message.Valid_Next (Ctx, RFLX.Universal.Message.F_Option_Types) + and then RFLX.Universal.Message.Available_Space (Ctx, RFLX.Universal.Message.F_Option_Types) >= RFLX.Universal.Message.Field_Size (Ctx, RFLX.Universal.Message.F_Option_Types) + and then RFLX.Universal.Message.Field_Condition (Ctx, RFLX.Universal.Message.F_Option_Types, 0) + and then RFLX.Universal.Message.Field_Size (Ctx, RFLX.Universal.Message.F_Option_Types) = 0, Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Option_Types) @@ -623,11 +623,11 @@ is procedure Set_Options_Empty (Ctx : in out Context) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Options) - and then Available_Space (Ctx, F_Options) >= Field_Size (Ctx, F_Options) - and then Field_Condition (Ctx, F_Options, 0) - and then Field_Size (Ctx, F_Options) = 0, + and then RFLX.Universal.Message.Has_Buffer (Ctx) + and then RFLX.Universal.Message.Valid_Next (Ctx, RFLX.Universal.Message.F_Options) + and then RFLX.Universal.Message.Available_Space (Ctx, RFLX.Universal.Message.F_Options) >= RFLX.Universal.Message.Field_Size (Ctx, RFLX.Universal.Message.F_Options) + and then RFLX.Universal.Message.Field_Condition (Ctx, RFLX.Universal.Message.F_Options, 0) + and then RFLX.Universal.Message.Field_Size (Ctx, RFLX.Universal.Message.F_Options) = 0, Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Options) @@ -647,11 +647,11 @@ is procedure Set_Values_Empty (Ctx : in out Context) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Values) - and then Available_Space (Ctx, F_Values) >= Field_Size (Ctx, F_Values) - and then Field_Condition (Ctx, F_Values, 0) - and then Field_Size (Ctx, F_Values) = 0, + and then RFLX.Universal.Message.Has_Buffer (Ctx) + and then RFLX.Universal.Message.Valid_Next (Ctx, RFLX.Universal.Message.F_Values) + and then RFLX.Universal.Message.Available_Space (Ctx, RFLX.Universal.Message.F_Values) >= RFLX.Universal.Message.Field_Size (Ctx, RFLX.Universal.Message.F_Values) + and then RFLX.Universal.Message.Field_Condition (Ctx, RFLX.Universal.Message.F_Values, 0) + and then RFLX.Universal.Message.Field_Size (Ctx, RFLX.Universal.Message.F_Values) = 0, Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Values) @@ -667,16 +667,16 @@ is and Field_First (Ctx, F_Values) = Field_First (Ctx, F_Values)'Old and Field_Last (Ctx, F_Values) = Field_Last (Ctx, Predecessor (Ctx, F_Values)) + Field_Size (Ctx, F_Values); - procedure Set_Option_Types (Ctx : in out Context; Seq_Ctx : Universal.Option_Types.Context) with + procedure Set_Option_Types (Ctx : in out Context; Seq_Ctx : RFLX.Universal.Option_Types.Context) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Option_Types) - and then Available_Space (Ctx, F_Option_Types) >= Field_Size (Ctx, F_Option_Types) - and then Field_Condition (Ctx, F_Option_Types, 0) - and then Valid_Length (Ctx, F_Option_Types, Universal.Option_Types.Byte_Size (Seq_Ctx)) - and then Universal.Option_Types.Has_Buffer (Seq_Ctx) - and then Universal.Option_Types.Valid (Seq_Ctx), + and then RFLX.Universal.Message.Has_Buffer (Ctx) + and then RFLX.Universal.Message.Valid_Next (Ctx, RFLX.Universal.Message.F_Option_Types) + and then RFLX.Universal.Message.Available_Space (Ctx, RFLX.Universal.Message.F_Option_Types) >= RFLX.Universal.Message.Field_Size (Ctx, RFLX.Universal.Message.F_Option_Types) + and then RFLX.Universal.Message.Field_Condition (Ctx, RFLX.Universal.Message.F_Option_Types, 0) + and then RFLX.Universal.Message.Valid_Length (Ctx, RFLX.Universal.Message.F_Option_Types, RFLX.Universal.Option_Types.Byte_Size (Seq_Ctx)) + and then RFLX.Universal.Option_Types.Has_Buffer (Seq_Ctx) + and then RFLX.Universal.Option_Types.Valid (Seq_Ctx), Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Option_Types) @@ -696,16 +696,16 @@ is and Field_Last (Ctx, F_Option_Types) = Field_Last (Ctx, Predecessor (Ctx, F_Option_Types)) + Field_Size (Ctx, F_Option_Types) and (if Field_Size (Ctx, F_Option_Types) > 0 then Present (Ctx, F_Option_Types)); - procedure Set_Options (Ctx : in out Context; Seq_Ctx : Universal.Options.Context) with + procedure Set_Options (Ctx : in out Context; Seq_Ctx : RFLX.Universal.Options.Context) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Options) - and then Available_Space (Ctx, F_Options) >= Field_Size (Ctx, F_Options) - and then Field_Condition (Ctx, F_Options, 0) - and then Valid_Length (Ctx, F_Options, Universal.Options.Byte_Size (Seq_Ctx)) - and then Universal.Options.Has_Buffer (Seq_Ctx) - and then Universal.Options.Valid (Seq_Ctx), + and then RFLX.Universal.Message.Has_Buffer (Ctx) + and then RFLX.Universal.Message.Valid_Next (Ctx, RFLX.Universal.Message.F_Options) + and then RFLX.Universal.Message.Available_Space (Ctx, RFLX.Universal.Message.F_Options) >= RFLX.Universal.Message.Field_Size (Ctx, RFLX.Universal.Message.F_Options) + and then RFLX.Universal.Message.Field_Condition (Ctx, RFLX.Universal.Message.F_Options, 0) + and then RFLX.Universal.Message.Valid_Length (Ctx, RFLX.Universal.Message.F_Options, RFLX.Universal.Options.Byte_Size (Seq_Ctx)) + and then RFLX.Universal.Options.Has_Buffer (Seq_Ctx) + and then RFLX.Universal.Options.Valid (Seq_Ctx), Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Options) @@ -723,16 +723,16 @@ is and Field_Last (Ctx, F_Options) = Field_Last (Ctx, Predecessor (Ctx, F_Options)) + Field_Size (Ctx, F_Options) and (if Field_Size (Ctx, F_Options) > 0 then Present (Ctx, F_Options)); - procedure Set_Values (Ctx : in out Context; Seq_Ctx : Universal.Values.Context) with + procedure Set_Values (Ctx : in out Context; Seq_Ctx : RFLX.Universal.Values.Context) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Values) - and then Available_Space (Ctx, F_Values) >= Field_Size (Ctx, F_Values) - and then Field_Condition (Ctx, F_Values, 0) - and then Valid_Length (Ctx, F_Values, Universal.Values.Byte_Size (Seq_Ctx)) - and then Universal.Values.Has_Buffer (Seq_Ctx) - and then Universal.Values.Valid (Seq_Ctx), + and then RFLX.Universal.Message.Has_Buffer (Ctx) + and then RFLX.Universal.Message.Valid_Next (Ctx, RFLX.Universal.Message.F_Values) + and then RFLX.Universal.Message.Available_Space (Ctx, RFLX.Universal.Message.F_Values) >= RFLX.Universal.Message.Field_Size (Ctx, RFLX.Universal.Message.F_Values) + and then RFLX.Universal.Message.Field_Condition (Ctx, RFLX.Universal.Message.F_Values, 0) + and then RFLX.Universal.Message.Valid_Length (Ctx, RFLX.Universal.Message.F_Values, RFLX.Universal.Values.Byte_Size (Seq_Ctx)) + and then RFLX.Universal.Values.Has_Buffer (Seq_Ctx) + and then RFLX.Universal.Values.Valid (Seq_Ctx), Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Values) @@ -752,10 +752,10 @@ is procedure Initialize_Data (Ctx : in out Context; Length : RFLX_Types.Length) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Data) - and then Valid_Length (Ctx, F_Data, Length) - and then Available_Space (Ctx, F_Data) >= RFLX_Types.To_Bit_Length (Length), + and then RFLX.Universal.Message.Has_Buffer (Ctx) + and then RFLX.Universal.Message.Valid_Next (Ctx, RFLX.Universal.Message.F_Data) + and then RFLX.Universal.Message.Valid_Length (Ctx, RFLX.Universal.Message.F_Data, Length) + and then RFLX.Universal.Message.Available_Space (Ctx, RFLX.Universal.Message.F_Data) >= RFLX_Types.To_Bit_Length (Length), Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Data) @@ -778,9 +778,9 @@ is procedure Initialize_Option_Types (Ctx : in out Context) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Option_Types) - and then Available_Space (Ctx, F_Option_Types) >= Field_Size (Ctx, F_Option_Types), + and then RFLX.Universal.Message.Has_Buffer (Ctx) + and then RFLX.Universal.Message.Valid_Next (Ctx, RFLX.Universal.Message.F_Option_Types) + and then RFLX.Universal.Message.Available_Space (Ctx, RFLX.Universal.Message.F_Option_Types) >= RFLX.Universal.Message.Field_Size (Ctx, RFLX.Universal.Message.F_Option_Types), Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Option_Types) @@ -802,10 +802,10 @@ is procedure Initialize_Options (Ctx : in out Context; Length : RFLX_Types.Length) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Options) - and then Valid_Length (Ctx, F_Options, Length) - and then Available_Space (Ctx, F_Options) >= RFLX_Types.To_Bit_Length (Length), + and then RFLX.Universal.Message.Has_Buffer (Ctx) + and then RFLX.Universal.Message.Valid_Next (Ctx, RFLX.Universal.Message.F_Options) + and then RFLX.Universal.Message.Valid_Length (Ctx, RFLX.Universal.Message.F_Options, Length) + and then RFLX.Universal.Message.Available_Space (Ctx, RFLX.Universal.Message.F_Options) >= RFLX_Types.To_Bit_Length (Length), Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Options) @@ -826,9 +826,9 @@ is procedure Initialize_Values (Ctx : in out Context) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Values) - and then Available_Space (Ctx, F_Values) >= Field_Size (Ctx, F_Values), + and then RFLX.Universal.Message.Has_Buffer (Ctx) + and then RFLX.Universal.Message.Valid_Next (Ctx, RFLX.Universal.Message.F_Values) + and then RFLX.Universal.Message.Available_Space (Ctx, RFLX.Universal.Message.F_Values) >= RFLX.Universal.Message.Field_Size (Ctx, RFLX.Universal.Message.F_Values), Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Values) @@ -847,12 +847,12 @@ is procedure Set_Data (Ctx : in out Context; Data : RFLX_Types.Bytes) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Data) - and then Available_Space (Ctx, F_Data) >= Field_Size (Ctx, F_Data) - and then Valid_Length (Ctx, F_Data, Data'Length) - and then Available_Space (Ctx, F_Data) >= Data'Length * RFLX_Types.Byte'Size - and then Field_Condition (Ctx, F_Data, 0), + and then RFLX.Universal.Message.Has_Buffer (Ctx) + and then RFLX.Universal.Message.Valid_Next (Ctx, RFLX.Universal.Message.F_Data) + and then RFLX.Universal.Message.Available_Space (Ctx, RFLX.Universal.Message.F_Data) >= RFLX.Universal.Message.Field_Size (Ctx, RFLX.Universal.Message.F_Data) + and then RFLX.Universal.Message.Valid_Length (Ctx, RFLX.Universal.Message.F_Data, Data'Length) + and then RFLX.Universal.Message.Available_Space (Ctx, RFLX.Universal.Message.F_Data) >= Data'Length * RFLX_Types.Byte'Size + and then RFLX.Universal.Message.Field_Condition (Ctx, RFLX.Universal.Message.F_Data, 0), Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Data) @@ -878,11 +878,11 @@ is procedure Generic_Set_Data (Ctx : in out Context; Length : RFLX_Types.Length) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Data) - and then Available_Space (Ctx, F_Data) >= Field_Size (Ctx, F_Data) - and then Valid_Length (Ctx, F_Data, Length) - and then RFLX_Types.To_Length (Available_Space (Ctx, F_Data)) >= Length + and then RFLX.Universal.Message.Has_Buffer (Ctx) + and then RFLX.Universal.Message.Valid_Next (Ctx, RFLX.Universal.Message.F_Data) + and then RFLX.Universal.Message.Available_Space (Ctx, RFLX.Universal.Message.F_Data) >= RFLX.Universal.Message.Field_Size (Ctx, RFLX.Universal.Message.F_Data) + and then RFLX.Universal.Message.Valid_Length (Ctx, RFLX.Universal.Message.F_Data, Length) + and then RFLX_Types.To_Length (RFLX.Universal.Message.Available_Space (Ctx, RFLX.Universal.Message.F_Data)) >= Length and then Process_Data_Pre (Length), Post => Has_Buffer (Ctx) @@ -902,25 +902,25 @@ is and Field_First (Ctx, F_Data) = Field_First (Ctx, F_Data)'Old and Field_Last (Ctx, F_Data) = Field_Last (Ctx, Predecessor (Ctx, F_Data)) + Field_Size (Ctx, F_Data); - procedure Switch_To_Option_Types (Ctx : in out Context; Seq_Ctx : out Universal.Option_Types.Context) with + procedure Switch_To_Option_Types (Ctx : in out Context; Seq_Ctx : out RFLX.Universal.Option_Types.Context) with Pre => not Ctx'Constrained and then not Seq_Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Option_Types) - and then Field_Size (Ctx, F_Option_Types) > 0 - and then Field_First (Ctx, F_Option_Types) rem RFLX_Types.Byte'Size = 1 - and then Available_Space (Ctx, F_Option_Types) >= Field_Size (Ctx, F_Option_Types) - and then Field_Condition (Ctx, F_Option_Types, 0), + and then RFLX.Universal.Message.Has_Buffer (Ctx) + and then RFLX.Universal.Message.Valid_Next (Ctx, RFLX.Universal.Message.F_Option_Types) + and then RFLX.Universal.Message.Field_Size (Ctx, RFLX.Universal.Message.F_Option_Types) > 0 + and then RFLX.Universal.Message.Field_First (Ctx, RFLX.Universal.Message.F_Option_Types) rem RFLX_Types.Byte'Size = 1 + and then RFLX.Universal.Message.Available_Space (Ctx, RFLX.Universal.Message.F_Option_Types) >= RFLX.Universal.Message.Field_Size (Ctx, RFLX.Universal.Message.F_Option_Types) + and then RFLX.Universal.Message.Field_Condition (Ctx, RFLX.Universal.Message.F_Option_Types, 0), Post => - not Has_Buffer (Ctx) - and Universal.Option_Types.Has_Buffer (Seq_Ctx) + not RFLX.Universal.Message.Has_Buffer (Ctx) + and RFLX.Universal.Option_Types.Has_Buffer (Seq_Ctx) and Ctx.Buffer_First = Seq_Ctx.Buffer_First and Ctx.Buffer_Last = Seq_Ctx.Buffer_Last and Seq_Ctx.First = Field_First (Ctx, F_Option_Types) and Seq_Ctx.Last = Field_Last (Ctx, F_Option_Types) - and Universal.Option_Types.Valid (Seq_Ctx) - and Universal.Option_Types.Sequence_Last (Seq_Ctx) = Seq_Ctx.First - 1 + and RFLX.Universal.Option_Types.Valid (Seq_Ctx) + and RFLX.Universal.Option_Types.Sequence_Last (Seq_Ctx) = Seq_Ctx.First - 1 and Present (Ctx, F_Option_Types) and Ctx.Buffer_First = Ctx.Buffer_First'Old and Ctx.Buffer_Last = Ctx.Buffer_Last'Old @@ -940,25 +940,25 @@ is and Invalid (Ctx, F_Value) and Invalid (Ctx, F_Values)); - procedure Switch_To_Options (Ctx : in out Context; Seq_Ctx : out Universal.Options.Context) with + procedure Switch_To_Options (Ctx : in out Context; Seq_Ctx : out RFLX.Universal.Options.Context) with Pre => not Ctx'Constrained and then not Seq_Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Options) - and then Field_Size (Ctx, F_Options) > 0 - and then Field_First (Ctx, F_Options) rem RFLX_Types.Byte'Size = 1 - and then Available_Space (Ctx, F_Options) >= Field_Size (Ctx, F_Options) - and then Field_Condition (Ctx, F_Options, 0), + and then RFLX.Universal.Message.Has_Buffer (Ctx) + and then RFLX.Universal.Message.Valid_Next (Ctx, RFLX.Universal.Message.F_Options) + and then RFLX.Universal.Message.Field_Size (Ctx, RFLX.Universal.Message.F_Options) > 0 + and then RFLX.Universal.Message.Field_First (Ctx, RFLX.Universal.Message.F_Options) rem RFLX_Types.Byte'Size = 1 + and then RFLX.Universal.Message.Available_Space (Ctx, RFLX.Universal.Message.F_Options) >= RFLX.Universal.Message.Field_Size (Ctx, RFLX.Universal.Message.F_Options) + and then RFLX.Universal.Message.Field_Condition (Ctx, RFLX.Universal.Message.F_Options, 0), Post => - not Has_Buffer (Ctx) - and Universal.Options.Has_Buffer (Seq_Ctx) + not RFLX.Universal.Message.Has_Buffer (Ctx) + and RFLX.Universal.Options.Has_Buffer (Seq_Ctx) and Ctx.Buffer_First = Seq_Ctx.Buffer_First and Ctx.Buffer_Last = Seq_Ctx.Buffer_Last and Seq_Ctx.First = Field_First (Ctx, F_Options) and Seq_Ctx.Last = Field_Last (Ctx, F_Options) - and Universal.Options.Valid (Seq_Ctx) - and Universal.Options.Sequence_Last (Seq_Ctx) = Seq_Ctx.First - 1 + and RFLX.Universal.Options.Valid (Seq_Ctx) + and RFLX.Universal.Options.Sequence_Last (Seq_Ctx) = Seq_Ctx.First - 1 and Present (Ctx, F_Options) and Ctx.Buffer_First = Ctx.Buffer_First'Old and Ctx.Buffer_Last = Ctx.Buffer_Last'Old @@ -977,25 +977,25 @@ is Invalid (Ctx, F_Value) and Invalid (Ctx, F_Values)); - procedure Switch_To_Values (Ctx : in out Context; Seq_Ctx : out Universal.Values.Context) with + procedure Switch_To_Values (Ctx : in out Context; Seq_Ctx : out RFLX.Universal.Values.Context) with Pre => not Ctx'Constrained and then not Seq_Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Values) - and then Field_Size (Ctx, F_Values) > 0 - and then Field_First (Ctx, F_Values) rem RFLX_Types.Byte'Size = 1 - and then Available_Space (Ctx, F_Values) >= Field_Size (Ctx, F_Values) - and then Field_Condition (Ctx, F_Values, 0), + and then RFLX.Universal.Message.Has_Buffer (Ctx) + and then RFLX.Universal.Message.Valid_Next (Ctx, RFLX.Universal.Message.F_Values) + and then RFLX.Universal.Message.Field_Size (Ctx, RFLX.Universal.Message.F_Values) > 0 + and then RFLX.Universal.Message.Field_First (Ctx, RFLX.Universal.Message.F_Values) rem RFLX_Types.Byte'Size = 1 + and then RFLX.Universal.Message.Available_Space (Ctx, RFLX.Universal.Message.F_Values) >= RFLX.Universal.Message.Field_Size (Ctx, RFLX.Universal.Message.F_Values) + and then RFLX.Universal.Message.Field_Condition (Ctx, RFLX.Universal.Message.F_Values, 0), Post => - not Has_Buffer (Ctx) - and Universal.Values.Has_Buffer (Seq_Ctx) + not RFLX.Universal.Message.Has_Buffer (Ctx) + and RFLX.Universal.Values.Has_Buffer (Seq_Ctx) and Ctx.Buffer_First = Seq_Ctx.Buffer_First and Ctx.Buffer_Last = Seq_Ctx.Buffer_Last and Seq_Ctx.First = Field_First (Ctx, F_Values) and Seq_Ctx.Last = Field_Last (Ctx, F_Values) - and Universal.Values.Valid (Seq_Ctx) - and Universal.Values.Sequence_Last (Seq_Ctx) = Seq_Ctx.First - 1 + and RFLX.Universal.Values.Valid (Seq_Ctx) + and RFLX.Universal.Values.Sequence_Last (Seq_Ctx) = Seq_Ctx.First - 1 and Present (Ctx, F_Values) and Ctx.Buffer_First = Ctx.Buffer_First'Old and Ctx.Buffer_Last = Ctx.Buffer_Last'Old @@ -1012,24 +1012,24 @@ is others => True); - function Complete_Option_Types (Ctx : Context; Seq_Ctx : Universal.Option_Types.Context) return Boolean with + function Complete_Option_Types (Ctx : Context; Seq_Ctx : RFLX.Universal.Option_Types.Context) return Boolean with Pre => - Valid_Next (Ctx, F_Option_Types); + RFLX.Universal.Message.Valid_Next (Ctx, RFLX.Universal.Message.F_Option_Types); - function Complete_Options (Ctx : Context; Seq_Ctx : Universal.Options.Context) return Boolean with + function Complete_Options (Ctx : Context; Seq_Ctx : RFLX.Universal.Options.Context) return Boolean with Pre => - Valid_Next (Ctx, F_Options); + RFLX.Universal.Message.Valid_Next (Ctx, RFLX.Universal.Message.F_Options); - function Complete_Values (Ctx : Context; Seq_Ctx : Universal.Values.Context) return Boolean with + function Complete_Values (Ctx : Context; Seq_Ctx : RFLX.Universal.Values.Context) return Boolean with Pre => - Valid_Next (Ctx, F_Values); + RFLX.Universal.Message.Valid_Next (Ctx, RFLX.Universal.Message.F_Values); - procedure Update_Option_Types (Ctx : in out Context; Seq_Ctx : in out Universal.Option_Types.Context) with + procedure Update_Option_Types (Ctx : in out Context; Seq_Ctx : in out RFLX.Universal.Option_Types.Context) with Pre => - Present (Ctx, F_Option_Types) - and then Complete_Option_Types (Ctx, Seq_Ctx) - and then not Has_Buffer (Ctx) - and then Universal.Option_Types.Has_Buffer (Seq_Ctx) + RFLX.Universal.Message.Present (Ctx, RFLX.Universal.Message.F_Option_Types) + and then RFLX.Universal.Message.Complete_Option_Types (Ctx, Seq_Ctx) + and then not RFLX.Universal.Message.Has_Buffer (Ctx) + and then RFLX.Universal.Option_Types.Has_Buffer (Seq_Ctx) and then Ctx.Buffer_First = Seq_Ctx.Buffer_First and then Ctx.Buffer_Last = Seq_Ctx.Buffer_Last and then Seq_Ctx.First = Field_First (Ctx, F_Option_Types) @@ -1037,7 +1037,7 @@ is Post => Present (Ctx, F_Option_Types) and Has_Buffer (Ctx) - and not Universal.Option_Types.Has_Buffer (Seq_Ctx) + and not RFLX.Universal.Option_Types.Has_Buffer (Seq_Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old and Ctx.Buffer_Last = Ctx.Buffer_Last'Old and Ctx.First = Ctx.First'Old @@ -1055,12 +1055,12 @@ is Depends => (Ctx => (Ctx, Seq_Ctx), Seq_Ctx => Seq_Ctx); - procedure Update_Options (Ctx : in out Context; Seq_Ctx : in out Universal.Options.Context) with + procedure Update_Options (Ctx : in out Context; Seq_Ctx : in out RFLX.Universal.Options.Context) with Pre => - Present (Ctx, F_Options) - and then Complete_Options (Ctx, Seq_Ctx) - and then not Has_Buffer (Ctx) - and then Universal.Options.Has_Buffer (Seq_Ctx) + RFLX.Universal.Message.Present (Ctx, RFLX.Universal.Message.F_Options) + and then RFLX.Universal.Message.Complete_Options (Ctx, Seq_Ctx) + and then not RFLX.Universal.Message.Has_Buffer (Ctx) + and then RFLX.Universal.Options.Has_Buffer (Seq_Ctx) and then Ctx.Buffer_First = Seq_Ctx.Buffer_First and then Ctx.Buffer_Last = Seq_Ctx.Buffer_Last and then Seq_Ctx.First = Field_First (Ctx, F_Options) @@ -1068,7 +1068,7 @@ is Post => Present (Ctx, F_Options) and Has_Buffer (Ctx) - and not Universal.Options.Has_Buffer (Seq_Ctx) + and not RFLX.Universal.Options.Has_Buffer (Seq_Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old and Ctx.Buffer_Last = Ctx.Buffer_Last'Old and Ctx.First = Ctx.First'Old @@ -1086,12 +1086,12 @@ is Depends => (Ctx => (Ctx, Seq_Ctx), Seq_Ctx => Seq_Ctx); - procedure Update_Values (Ctx : in out Context; Seq_Ctx : in out Universal.Values.Context) with + procedure Update_Values (Ctx : in out Context; Seq_Ctx : in out RFLX.Universal.Values.Context) with Pre => - Present (Ctx, F_Values) - and then Complete_Values (Ctx, Seq_Ctx) - and then not Has_Buffer (Ctx) - and then Universal.Values.Has_Buffer (Seq_Ctx) + RFLX.Universal.Message.Present (Ctx, RFLX.Universal.Message.F_Values) + and then RFLX.Universal.Message.Complete_Values (Ctx, Seq_Ctx) + and then not RFLX.Universal.Message.Has_Buffer (Ctx) + and then RFLX.Universal.Values.Has_Buffer (Seq_Ctx) and then Ctx.Buffer_First = Seq_Ctx.Buffer_First and then Ctx.Buffer_Last = Seq_Ctx.Buffer_Last and then Seq_Ctx.First = Field_First (Ctx, F_Values) @@ -1099,7 +1099,7 @@ is Post => Present (Ctx, F_Values) and Has_Buffer (Ctx) - and not Universal.Values.Has_Buffer (Seq_Ctx) + and not RFLX.Universal.Values.Has_Buffer (Seq_Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old and Ctx.Buffer_Last = Ctx.Buffer_Last'Old and Ctx.First = Ctx.First'Old @@ -1333,7 +1333,7 @@ private function Initialized (Ctx : Context) return Boolean is (Ctx.Verified_Last = Ctx.First - 1 and then Valid_Next (Ctx, F_Message_Type) - and then Field_First (Ctx, F_Message_Type) rem RFLX_Types.Byte'Size = 1 + and then RFLX.Universal.Message.Field_First (Ctx, RFLX.Universal.Message.F_Message_Type) rem RFLX_Types.Byte'Size = 1 and then Available_Space (Ctx, F_Message_Type) = Ctx.Last - Ctx.First + 1 and then (for all F in Field => Invalid (Ctx, F))); @@ -1585,22 +1585,22 @@ private Size = Field_Size (Ctx, Fld))) with Pre => - Valid_Next (Ctx, Fld); + RFLX.Universal.Message.Valid_Next (Ctx, Fld); function Valid_Length (Ctx : Context; Fld : Field; Length : RFLX_Types.Length) return Boolean is (Valid_Size (Ctx, Fld, RFLX_Types.To_Bit_Length (Length))); - function Complete_Option_Types (Ctx : Context; Seq_Ctx : Universal.Option_Types.Context) return Boolean is - (Universal.Option_Types.Valid (Seq_Ctx) - and Universal.Option_Types.Size (Seq_Ctx) = Field_Size (Ctx, F_Option_Types)); + function Complete_Option_Types (Ctx : Context; Seq_Ctx : RFLX.Universal.Option_Types.Context) return Boolean is + (RFLX.Universal.Option_Types.Valid (Seq_Ctx) + and RFLX.Universal.Option_Types.Size (Seq_Ctx) = Field_Size (Ctx, F_Option_Types)); - function Complete_Options (Ctx : Context; Seq_Ctx : Universal.Options.Context) return Boolean is - (Universal.Options.Valid (Seq_Ctx) - and Universal.Options.Size (Seq_Ctx) = Field_Size (Ctx, F_Options)); + function Complete_Options (Ctx : Context; Seq_Ctx : RFLX.Universal.Options.Context) return Boolean is + (RFLX.Universal.Options.Valid (Seq_Ctx) + and RFLX.Universal.Options.Size (Seq_Ctx) = Field_Size (Ctx, F_Options)); - function Complete_Values (Ctx : Context; Seq_Ctx : Universal.Values.Context) return Boolean is - (Universal.Values.Valid (Seq_Ctx) - and Universal.Values.Size (Seq_Ctx) = Field_Size (Ctx, F_Values)); + function Complete_Values (Ctx : Context; Seq_Ctx : RFLX.Universal.Values.Context) return Boolean is + (RFLX.Universal.Values.Valid (Seq_Ctx) + and RFLX.Universal.Values.Size (Seq_Ctx) = Field_Size (Ctx, F_Values)); function Context_Cursor (Ctx : Context; Fld : Field) return Field_Cursor is (Ctx.Cursors (Fld)); diff --git a/tests/integration/shared/generated/rflx-universal-option.adb b/tests/integration/shared/generated/rflx-universal-option.adb index b635f2ad0..53ff049b5 100644 --- a/tests/integration/shared/generated/rflx-universal-option.adb +++ b/tests/integration/shared/generated/rflx-universal-option.adb @@ -88,9 +88,9 @@ is F_Final)) with Pre => - Has_Buffer (Ctx) - and Structural_Valid (Ctx, Fld) - and Valid_Predecessor (Ctx, Fld); + RFLX.Universal.Option.Has_Buffer (Ctx) + and RFLX.Universal.Option.Structural_Valid (Ctx, Fld) + and RFLX.Universal.Option.Valid_Predecessor (Ctx, Fld); pragma Warnings (On, "precondition is always False"); @@ -110,8 +110,8 @@ is and Field_First (Ctx, Fld) + Field_Size (Ctx, Fld) - 1 <= Ctx.Written_Last) with Pre => - Has_Buffer (Ctx) - and Valid_Next (Ctx, Fld); + RFLX.Universal.Option.Has_Buffer (Ctx) + and RFLX.Universal.Option.Valid_Next (Ctx, Fld); function Equal (Ctx : Context; Fld : Field; Data : RFLX_Types.Bytes) return Boolean is (Sufficient_Buffer_Length (Ctx, Fld) @@ -125,7 +125,7 @@ is procedure Reset_Dependent_Fields (Ctx : in out Context; Fld : Field) with Pre => - Valid_Next (Ctx, Fld), + RFLX.Universal.Option.Valid_Next (Ctx, Fld), Post => Valid_Next (Ctx, Fld) and Invalid (Ctx.Cursors (Fld)) @@ -167,10 +167,10 @@ is function Get (Ctx : Context; Fld : Field) return RFLX_Types.Base_Integer with Pre => - Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) - and then Sufficient_Buffer_Length (Ctx, Fld) - and then not Composite_Field (Fld) + RFLX.Universal.Option.Has_Buffer (Ctx) + and then RFLX.Universal.Option.Valid_Next (Ctx, Fld) + and then RFLX.Universal.Option.Sufficient_Buffer_Length (Ctx, Fld) + and then not RFLX.Universal.Option.Composite_Field (Fld) is First : constant RFLX_Types.Bit_Index := Field_First (Ctx, Fld); Last : constant RFLX_Types.Bit_Index := Field_Last (Ctx, Fld); @@ -258,12 +258,17 @@ is procedure Set (Ctx : in out Context; Fld : Field; Val : RFLX_Types.Base_Integer; Size : RFLX_Types.Bit_Length; State_Valid : Boolean; Buffer_First : out RFLX_Types.Index; Buffer_Last : out RFLX_Types.Index; Offset : out RFLX_Types.Offset) with Pre => - Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) - and then Valid_Value (Fld, Val) - and then Valid_Size (Ctx, Fld, Size) - and then Size <= Available_Space (Ctx, Fld) - and then (if Composite_Field (Fld) then Size mod RFLX_Types.Byte'Size = 0 else State_Valid), + RFLX.Universal.Option.Has_Buffer (Ctx) + and then RFLX.Universal.Option.Valid_Next (Ctx, Fld) + and then RFLX.Universal.Option.Valid_Value (Fld, Val) + and then RFLX.Universal.Option.Valid_Size (Ctx, Fld, Size) + and then Size <= RFLX.Universal.Option.Available_Space (Ctx, Fld) + and then (if + RFLX.Universal.Option.Composite_Field (Fld) + then + Size mod RFLX_Types.Byte'Size = 0 + else + State_Valid), Post => Valid_Next (Ctx, Fld) and then Invalid_Successor (Ctx, Fld) @@ -333,14 +338,14 @@ is procedure Set_Scalar (Ctx : in out Context; Fld : Field; Val : RFLX_Types.Base_Integer) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) + and then RFLX.Universal.Option.Has_Buffer (Ctx) + and then RFLX.Universal.Option.Valid_Next (Ctx, Fld) and then Fld in F_Option_Type | F_Length - and then Valid_Value (Fld, Val) - and then Valid_Size (Ctx, Fld, Field_Size (Ctx, Fld)) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld) - and then Field_Size (Ctx, Fld) in 1 .. RFLX_Types.Base_Integer'Size - and then RFLX_Types.Fits_Into (Val, Natural (Field_Size (Ctx, Fld))), + and then RFLX.Universal.Option.Valid_Value (Fld, Val) + and then RFLX.Universal.Option.Valid_Size (Ctx, Fld, RFLX.Universal.Option.Field_Size (Ctx, Fld)) + and then RFLX.Universal.Option.Available_Space (Ctx, Fld) >= RFLX.Universal.Option.Field_Size (Ctx, Fld) + and then RFLX.Universal.Option.Field_Size (Ctx, Fld) in 1 .. RFLX_Types.Base_Integer'Size + and then RFLX_Types.Fits_Into (Val, Natural (RFLX.Universal.Option.Field_Size (Ctx, Fld))), Post => Has_Buffer (Ctx) and Valid (Ctx, Fld) @@ -381,12 +386,12 @@ is procedure Set_Option_Type (Ctx : in out Context; Val : RFLX.Universal.Option_Type_Enum) is begin - Set_Scalar (Ctx, F_Option_Type, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_Option_Type, RFLX.Universal.To_Base_Integer (Val)); end Set_Option_Type; procedure Set_Length (Ctx : in out Context; Val : RFLX.Universal.Length) is begin - Set_Scalar (Ctx, F_Length, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_Length, RFLX.Universal.To_Base_Integer (Val)); end Set_Length; procedure Set_Data_Empty (Ctx : in out Context) is @@ -399,11 +404,11 @@ is procedure Initialize_Data_Private (Ctx : in out Context; Length : RFLX_Types.Length) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Data) - and then Valid_Length (Ctx, F_Data, Length) - and then RFLX_Types.To_Length (Available_Space (Ctx, F_Data)) >= Length - and then Field_First (Ctx, F_Data) mod RFLX_Types.Byte'Size = 1, + and then RFLX.Universal.Option.Has_Buffer (Ctx) + and then RFLX.Universal.Option.Valid_Next (Ctx, RFLX.Universal.Option.F_Data) + and then RFLX.Universal.Option.Valid_Length (Ctx, RFLX.Universal.Option.F_Data, Length) + and then RFLX_Types.To_Length (RFLX.Universal.Option.Available_Space (Ctx, RFLX.Universal.Option.F_Data)) >= Length + and then RFLX.Universal.Option.Field_First (Ctx, RFLX.Universal.Option.F_Data) mod RFLX_Types.Byte'Size = 1, Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Data) diff --git a/tests/integration/shared/generated/rflx-universal-option.ads b/tests/integration/shared/generated/rflx-universal-option.ads index 1fe7badd2..3adbd3c2b 100644 --- a/tests/integration/shared/generated/rflx-universal-option.ads +++ b/tests/integration/shared/generated/rflx-universal-option.ads @@ -124,7 +124,7 @@ is procedure Reset (Ctx : in out Context) with Pre => not Ctx'Constrained - and Has_Buffer (Ctx), + and RFLX.Universal.Option.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -136,7 +136,7 @@ is procedure Reset (Ctx : in out Context; First : RFLX_Types.Bit_Index; Last : RFLX_Types.Bit_Length) with Pre => not Ctx'Constrained - and Has_Buffer (Ctx) + and RFLX.Universal.Option.Has_Buffer (Ctx) and RFLX_Types.To_Index (First) >= Ctx.Buffer_First and RFLX_Types.To_Index (Last) <= Ctx.Buffer_Last and First <= Last + 1 @@ -153,7 +153,7 @@ is procedure Take_Buffer (Ctx : in out Context; Buffer : out RFLX_Types.Bytes_Ptr) with Pre => - Has_Buffer (Ctx), + RFLX.Universal.Option.Has_Buffer (Ctx), Post => not Has_Buffer (Ctx) and Buffer /= null @@ -169,15 +169,15 @@ is procedure Copy (Ctx : Context; Buffer : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) - and then Byte_Size (Ctx) = Buffer'Length; + RFLX.Universal.Option.Has_Buffer (Ctx) + and then RFLX.Universal.Option.Structural_Valid_Message (Ctx) + and then RFLX.Universal.Option.Byte_Size (Ctx) = Buffer'Length; function Read (Ctx : Context) return RFLX_Types.Bytes with Ghost, Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx); + RFLX.Universal.Option.Has_Buffer (Ctx) + and then RFLX.Universal.Option.Structural_Valid_Message (Ctx); pragma Warnings (Off, "formal parameter ""*"" is not referenced"); @@ -191,8 +191,8 @@ is with function Pre (Buffer : RFLX_Types.Bytes) return Boolean is Always_Valid; procedure Generic_Read (Ctx : Context) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) + RFLX.Universal.Option.Has_Buffer (Ctx) + and then RFLX.Universal.Option.Structural_Valid_Message (Ctx) and then Pre (Read (Ctx)); pragma Warnings (Off, "formal parameter ""*"" is not referenced"); @@ -208,9 +208,9 @@ is procedure Generic_Write (Ctx : in out Context; Offset : RFLX_Types.Length := 0) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Offset < Buffer_Length (Ctx) - and then Pre (Buffer_Length (Ctx), Offset), + and then RFLX.Universal.Option.Has_Buffer (Ctx) + and then Offset < RFLX.Universal.Option.Buffer_Length (Ctx) + and then Pre (RFLX.Universal.Option.Buffer_Length (Ctx), Offset), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -222,7 +222,7 @@ is function Buffer_Length (Ctx : Context) return RFLX_Types.Length with Pre => - Has_Buffer (Ctx); + RFLX.Universal.Option.Has_Buffer (Ctx); function Size (Ctx : Context) return RFLX_Types.Bit_Length with Post => @@ -232,16 +232,16 @@ is function Message_Last (Ctx : Context) return RFLX_Types.Bit_Length with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx); + RFLX.Universal.Option.Has_Buffer (Ctx) + and then RFLX.Universal.Option.Structural_Valid_Message (Ctx); function Written_Last (Ctx : Context) return RFLX_Types.Bit_Length; procedure Data (Ctx : Context; Data : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) - and then Data'Length = Byte_Size (Ctx); + RFLX.Universal.Option.Has_Buffer (Ctx) + and then RFLX.Universal.Option.Structural_Valid_Message (Ctx) + and then Data'Length = RFLX.Universal.Option.Byte_Size (Ctx); pragma Warnings (Off, "postcondition does not mention function result"); @@ -255,7 +255,7 @@ is function Path_Condition (Ctx : Context; Fld : Field) return Boolean with Pre => - Valid_Predecessor (Ctx, Fld), + RFLX.Universal.Option.Valid_Predecessor (Ctx, Fld), Post => True; @@ -265,11 +265,11 @@ is function Field_Condition (Ctx : Context; Fld : Field; Val : RFLX_Types.Base_Integer) return Boolean with Pre => - Has_Buffer (Ctx) - and then Valid_Predecessor (Ctx, Fld) - and then Valid_Value (Fld, Val) - and then Valid_Next (Ctx, Fld) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld), + RFLX.Universal.Option.Has_Buffer (Ctx) + and then RFLX.Universal.Option.Valid_Predecessor (Ctx, Fld) + and then RFLX.Universal.Option.Valid_Value (Fld, Val) + and then RFLX.Universal.Option.Valid_Next (Ctx, Fld) + and then RFLX.Universal.Option.Available_Space (Ctx, Fld) >= RFLX.Universal.Option.Field_Size (Ctx, Fld), Post => True; @@ -277,7 +277,7 @@ is function Field_Size (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld), + RFLX.Universal.Option.Valid_Next (Ctx, Fld), Post => (case Fld is when F_Data => @@ -289,7 +289,7 @@ is function Field_First (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Index with Pre => - Valid_Next (Ctx, Fld), + RFLX.Universal.Option.Valid_Next (Ctx, Fld), Post => True; @@ -297,8 +297,8 @@ is function Field_Last (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld), + RFLX.Universal.Option.Valid_Next (Ctx, Fld) + and then RFLX.Universal.Option.Available_Space (Ctx, Fld) >= RFLX.Universal.Option.Field_Size (Ctx, Fld), Post => (case Fld is when F_Data => @@ -326,16 +326,16 @@ is function Available_Space (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld); + RFLX.Universal.Option.Valid_Next (Ctx, Fld); function Equal (Ctx : Context; Fld : Field; Data : RFLX_Types.Bytes) return Boolean with Pre => - Has_Buffer (Ctx) - and Valid_Next (Ctx, Fld); + RFLX.Universal.Option.Has_Buffer (Ctx) + and RFLX.Universal.Option.Valid_Next (Ctx, Fld); procedure Verify (Ctx : in out Context; Fld : Field) with Pre => - Has_Buffer (Ctx), + RFLX.Universal.Option.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -345,7 +345,7 @@ is procedure Verify_Message (Ctx : in out Context) with Pre => - Has_Buffer (Ctx), + RFLX.Universal.Option.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -367,11 +367,11 @@ is function Structural_Valid_Message (Ctx : Context) return Boolean with Pre => - Has_Buffer (Ctx); + RFLX.Universal.Option.Has_Buffer (Ctx); function Valid_Message (Ctx : Context) return Boolean with Pre => - Has_Buffer (Ctx); + RFLX.Universal.Option.Has_Buffer (Ctx); pragma Warnings (Off, "postcondition does not mention function result"); @@ -385,29 +385,29 @@ is function Get_Option_Type (Ctx : Context) return RFLX.Universal.Option_Type with Pre => - Valid (Ctx, F_Option_Type); + RFLX.Universal.Option.Valid (Ctx, RFLX.Universal.Option.F_Option_Type); function Get_Length (Ctx : Context) return RFLX.Universal.Length with Pre => - Valid (Ctx, F_Length); + RFLX.Universal.Option.Valid (Ctx, RFLX.Universal.Option.F_Length); pragma Warnings (On, "precondition is always False"); function Get_Data (Ctx : Context) return RFLX_Types.Bytes with Ghost, Pre => - Has_Buffer (Ctx) - and then Structural_Valid (Ctx, F_Data) - and then Valid_Next (Ctx, F_Data), + RFLX.Universal.Option.Has_Buffer (Ctx) + and then RFLX.Universal.Option.Structural_Valid (Ctx, RFLX.Universal.Option.F_Data) + and then RFLX.Universal.Option.Valid_Next (Ctx, RFLX.Universal.Option.F_Data), Post => Get_Data'Result'Length = RFLX_Types.To_Length (Field_Size (Ctx, F_Data)); procedure Get_Data (Ctx : Context; Data : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid (Ctx, F_Data) - and then Valid_Next (Ctx, F_Data) - and then Data'Length = RFLX_Types.To_Length (Field_Size (Ctx, F_Data)), + RFLX.Universal.Option.Has_Buffer (Ctx) + and then RFLX.Universal.Option.Structural_Valid (Ctx, RFLX.Universal.Option.F_Data) + and then RFLX.Universal.Option.Valid_Next (Ctx, RFLX.Universal.Option.F_Data) + and then Data'Length = RFLX_Types.To_Length (RFLX.Universal.Option.Field_Size (Ctx, RFLX.Universal.Option.F_Data)), Post => Equal (Ctx, F_Data, Data); @@ -415,14 +415,14 @@ is with procedure Process_Data (Data : RFLX_Types.Bytes); procedure Generic_Get_Data (Ctx : Context) with Pre => - Has_Buffer (Ctx) - and Present (Ctx, F_Data); + RFLX.Universal.Option.Has_Buffer (Ctx) + and RFLX.Universal.Option.Present (Ctx, RFLX.Universal.Option.F_Data); pragma Warnings (Off, "postcondition does not mention function result"); function Valid_Length (Ctx : Context; Fld : Field; Length : RFLX_Types.Length) return Boolean with Pre => - Valid_Next (Ctx, Fld), + RFLX.Universal.Option.Valid_Next (Ctx, Fld), Post => True; @@ -434,11 +434,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Option_Type) - and then RFLX.Universal.Valid_Option_Type (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_Option_Type) >= Field_Size (Ctx, F_Option_Type) - and then Field_Condition (Ctx, F_Option_Type, To_Base_Integer (Val)), + and then RFLX.Universal.Option.Has_Buffer (Ctx) + and then RFLX.Universal.Option.Valid_Next (Ctx, RFLX.Universal.Option.F_Option_Type) + and then RFLX.Universal.Valid_Option_Type (RFLX.Universal.To_Base_Integer (Val)) + and then RFLX.Universal.Option.Available_Space (Ctx, RFLX.Universal.Option.F_Option_Type) >= RFLX.Universal.Option.Field_Size (Ctx, RFLX.Universal.Option.F_Option_Type) + and then RFLX.Universal.Option.Field_Condition (Ctx, RFLX.Universal.Option.F_Option_Type, RFLX.Universal.To_Base_Integer (Val)), Post => Has_Buffer (Ctx) and Valid (Ctx, F_Option_Type) @@ -463,11 +463,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Length) - and then RFLX.Universal.Valid_Length (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_Length) >= Field_Size (Ctx, F_Length) - and then Field_Condition (Ctx, F_Length, To_Base_Integer (Val)), + and then RFLX.Universal.Option.Has_Buffer (Ctx) + and then RFLX.Universal.Option.Valid_Next (Ctx, RFLX.Universal.Option.F_Length) + and then RFLX.Universal.Valid_Length (RFLX.Universal.To_Base_Integer (Val)) + and then RFLX.Universal.Option.Available_Space (Ctx, RFLX.Universal.Option.F_Length) >= RFLX.Universal.Option.Field_Size (Ctx, RFLX.Universal.Option.F_Length) + and then RFLX.Universal.Option.Field_Condition (Ctx, RFLX.Universal.Option.F_Length, RFLX.Universal.To_Base_Integer (Val)), Post => Has_Buffer (Ctx) and Valid (Ctx, F_Length) @@ -492,11 +492,11 @@ is procedure Set_Data_Empty (Ctx : in out Context) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Data) - and then Available_Space (Ctx, F_Data) >= Field_Size (Ctx, F_Data) - and then Field_Condition (Ctx, F_Data, 0) - and then Field_Size (Ctx, F_Data) = 0, + and then RFLX.Universal.Option.Has_Buffer (Ctx) + and then RFLX.Universal.Option.Valid_Next (Ctx, RFLX.Universal.Option.F_Data) + and then RFLX.Universal.Option.Available_Space (Ctx, RFLX.Universal.Option.F_Data) >= RFLX.Universal.Option.Field_Size (Ctx, RFLX.Universal.Option.F_Data) + and then RFLX.Universal.Option.Field_Condition (Ctx, RFLX.Universal.Option.F_Data, 0) + and then RFLX.Universal.Option.Field_Size (Ctx, RFLX.Universal.Option.F_Data) = 0, Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Data) @@ -515,9 +515,9 @@ is procedure Initialize_Data (Ctx : in out Context) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Data) - and then Available_Space (Ctx, F_Data) >= Field_Size (Ctx, F_Data), + and then RFLX.Universal.Option.Has_Buffer (Ctx) + and then RFLX.Universal.Option.Valid_Next (Ctx, RFLX.Universal.Option.F_Data) + and then RFLX.Universal.Option.Available_Space (Ctx, RFLX.Universal.Option.F_Data) >= RFLX.Universal.Option.Field_Size (Ctx, RFLX.Universal.Option.F_Data), Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Data) @@ -536,12 +536,12 @@ is procedure Set_Data (Ctx : in out Context; Data : RFLX_Types.Bytes) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Data) - and then Available_Space (Ctx, F_Data) >= Field_Size (Ctx, F_Data) - and then Valid_Length (Ctx, F_Data, Data'Length) - and then Available_Space (Ctx, F_Data) >= Data'Length * RFLX_Types.Byte'Size - and then Field_Condition (Ctx, F_Data, 0), + and then RFLX.Universal.Option.Has_Buffer (Ctx) + and then RFLX.Universal.Option.Valid_Next (Ctx, RFLX.Universal.Option.F_Data) + and then RFLX.Universal.Option.Available_Space (Ctx, RFLX.Universal.Option.F_Data) >= RFLX.Universal.Option.Field_Size (Ctx, RFLX.Universal.Option.F_Data) + and then RFLX.Universal.Option.Valid_Length (Ctx, RFLX.Universal.Option.F_Data, Data'Length) + and then RFLX.Universal.Option.Available_Space (Ctx, RFLX.Universal.Option.F_Data) >= Data'Length * RFLX_Types.Byte'Size + and then RFLX.Universal.Option.Field_Condition (Ctx, RFLX.Universal.Option.F_Data, 0), Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Data) @@ -564,11 +564,11 @@ is procedure Generic_Set_Data (Ctx : in out Context; Length : RFLX_Types.Length) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Data) - and then Available_Space (Ctx, F_Data) >= Field_Size (Ctx, F_Data) - and then Valid_Length (Ctx, F_Data, Length) - and then RFLX_Types.To_Length (Available_Space (Ctx, F_Data)) >= Length + and then RFLX.Universal.Option.Has_Buffer (Ctx) + and then RFLX.Universal.Option.Valid_Next (Ctx, RFLX.Universal.Option.F_Data) + and then RFLX.Universal.Option.Available_Space (Ctx, RFLX.Universal.Option.F_Data) >= RFLX.Universal.Option.Field_Size (Ctx, RFLX.Universal.Option.F_Data) + and then RFLX.Universal.Option.Valid_Length (Ctx, RFLX.Universal.Option.F_Data, Length) + and then RFLX_Types.To_Length (RFLX.Universal.Option.Available_Space (Ctx, RFLX.Universal.Option.F_Data)) >= Length and then Process_Data_Pre (Length), Post => Has_Buffer (Ctx) @@ -709,7 +709,7 @@ private function Initialized (Ctx : Context) return Boolean is (Ctx.Verified_Last = Ctx.First - 1 and then Valid_Next (Ctx, F_Option_Type) - and then Field_First (Ctx, F_Option_Type) rem RFLX_Types.Byte'Size = 1 + and then RFLX.Universal.Option.Field_First (Ctx, RFLX.Universal.Option.F_Option_Type) rem RFLX_Types.Byte'Size = 1 and then Available_Space (Ctx, F_Option_Type) = Ctx.Last - Ctx.First + 1 and then (for all F in Field => Invalid (Ctx, F))); @@ -846,7 +846,7 @@ private (Size = Field_Size (Ctx, Fld)) with Pre => - Valid_Next (Ctx, Fld); + RFLX.Universal.Option.Valid_Next (Ctx, Fld); function Valid_Length (Ctx : Context; Fld : Field; Length : RFLX_Types.Length) return Boolean is (Valid_Size (Ctx, Fld, RFLX_Types.To_Bit_Length (Length))); diff --git a/tests/integration/specification_model_generator_test.py b/tests/integration/specification_model_generator_test.py index fa76da6e4..36a129a01 100644 --- a/tests/integration/specification_model_generator_test.py +++ b/tests/integration/specification_model_generator_test.py @@ -30,12 +30,15 @@ def test_prefix(prefix: str, tmp_path: Path) -> None: "range 1 .. 2**32 - 1 with Size => 32", "(A, B, C) with Size => 32", "(A, B, C) with Size => 32, Always_Valid", + "sequence of T", ], ) def test_type_name_equals_package_name(definition: str, tmp_path: Path) -> None: spec = """ package Test is + type T is mod 2**8; + type Test is {}; type Message is diff --git a/tests/spark/generated/rflx-derivation-message.adb b/tests/spark/generated/rflx-derivation-message.adb index 727b3d398..1a1e8c7b8 100644 --- a/tests/spark/generated/rflx-derivation-message.adb +++ b/tests/spark/generated/rflx-derivation-message.adb @@ -88,9 +88,9 @@ is F_Final)) with Pre => - Has_Buffer (Ctx) - and Structural_Valid (Ctx, Fld) - and Valid_Predecessor (Ctx, Fld); + RFLX.Derivation.Message.Has_Buffer (Ctx) + and RFLX.Derivation.Message.Structural_Valid (Ctx, Fld) + and RFLX.Derivation.Message.Valid_Predecessor (Ctx, Fld); pragma Warnings (On, "precondition is always False"); @@ -110,8 +110,8 @@ is and Field_First (Ctx, Fld) + Field_Size (Ctx, Fld) - 1 <= Ctx.Written_Last) with Pre => - Has_Buffer (Ctx) - and Valid_Next (Ctx, Fld); + RFLX.Derivation.Message.Has_Buffer (Ctx) + and RFLX.Derivation.Message.Valid_Next (Ctx, Fld); function Equal (Ctx : Context; Fld : Field; Data : RFLX_Types.Bytes) return Boolean is (Sufficient_Buffer_Length (Ctx, Fld) @@ -125,7 +125,7 @@ is procedure Reset_Dependent_Fields (Ctx : in out Context; Fld : Field) with Pre => - Valid_Next (Ctx, Fld), + RFLX.Derivation.Message.Valid_Next (Ctx, Fld), Post => Valid_Next (Ctx, Fld) and Invalid (Ctx.Cursors (Fld)) @@ -167,10 +167,10 @@ is function Get (Ctx : Context; Fld : Field) return RFLX_Types.Base_Integer with Pre => - Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) - and then Sufficient_Buffer_Length (Ctx, Fld) - and then not Composite_Field (Fld) + RFLX.Derivation.Message.Has_Buffer (Ctx) + and then RFLX.Derivation.Message.Valid_Next (Ctx, Fld) + and then RFLX.Derivation.Message.Sufficient_Buffer_Length (Ctx, Fld) + and then not RFLX.Derivation.Message.Composite_Field (Fld) is First : constant RFLX_Types.Bit_Index := Field_First (Ctx, Fld); Last : constant RFLX_Types.Bit_Index := Field_Last (Ctx, Fld); @@ -258,12 +258,17 @@ is procedure Set (Ctx : in out Context; Fld : Field; Val : RFLX_Types.Base_Integer; Size : RFLX_Types.Bit_Length; State_Valid : Boolean; Buffer_First : out RFLX_Types.Index; Buffer_Last : out RFLX_Types.Index; Offset : out RFLX_Types.Offset) with Pre => - Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) - and then Valid_Value (Fld, Val) - and then Valid_Size (Ctx, Fld, Size) - and then Size <= Available_Space (Ctx, Fld) - and then (if Composite_Field (Fld) then Size mod RFLX_Types.Byte'Size = 0 else State_Valid), + RFLX.Derivation.Message.Has_Buffer (Ctx) + and then RFLX.Derivation.Message.Valid_Next (Ctx, Fld) + and then RFLX.Derivation.Message.Valid_Value (Fld, Val) + and then RFLX.Derivation.Message.Valid_Size (Ctx, Fld, Size) + and then Size <= RFLX.Derivation.Message.Available_Space (Ctx, Fld) + and then (if + RFLX.Derivation.Message.Composite_Field (Fld) + then + Size mod RFLX_Types.Byte'Size = 0 + else + State_Valid), Post => Valid_Next (Ctx, Fld) and then Invalid_Successor (Ctx, Fld) @@ -333,14 +338,14 @@ is procedure Set_Scalar (Ctx : in out Context; Fld : Field; Val : RFLX_Types.Base_Integer) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) + and then RFLX.Derivation.Message.Has_Buffer (Ctx) + and then RFLX.Derivation.Message.Valid_Next (Ctx, Fld) and then Fld in F_Tag | F_Length - and then Valid_Value (Fld, Val) - and then Valid_Size (Ctx, Fld, Field_Size (Ctx, Fld)) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld) - and then Field_Size (Ctx, Fld) in 1 .. RFLX_Types.Base_Integer'Size - and then RFLX_Types.Fits_Into (Val, Natural (Field_Size (Ctx, Fld))), + and then RFLX.Derivation.Message.Valid_Value (Fld, Val) + and then RFLX.Derivation.Message.Valid_Size (Ctx, Fld, RFLX.Derivation.Message.Field_Size (Ctx, Fld)) + and then RFLX.Derivation.Message.Available_Space (Ctx, Fld) >= RFLX.Derivation.Message.Field_Size (Ctx, Fld) + and then RFLX.Derivation.Message.Field_Size (Ctx, Fld) in 1 .. RFLX_Types.Base_Integer'Size + and then RFLX_Types.Fits_Into (Val, Natural (RFLX.Derivation.Message.Field_Size (Ctx, Fld))), Post => Has_Buffer (Ctx) and Valid (Ctx, Fld) @@ -381,12 +386,12 @@ is procedure Set_Tag (Ctx : in out Context; Val : RFLX.TLV.Tag) is begin - Set_Scalar (Ctx, F_Tag, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_Tag, RFLX.TLV.To_Base_Integer (Val)); end Set_Tag; procedure Set_Length (Ctx : in out Context; Val : RFLX.TLV.Length) is begin - Set_Scalar (Ctx, F_Length, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_Length, RFLX.TLV.To_Base_Integer (Val)); end Set_Length; procedure Set_Value_Empty (Ctx : in out Context) is @@ -399,11 +404,11 @@ is procedure Initialize_Value_Private (Ctx : in out Context; Length : RFLX_Types.Length) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Value) - and then Valid_Length (Ctx, F_Value, Length) - and then RFLX_Types.To_Length (Available_Space (Ctx, F_Value)) >= Length - and then Field_First (Ctx, F_Value) mod RFLX_Types.Byte'Size = 1, + and then RFLX.Derivation.Message.Has_Buffer (Ctx) + and then RFLX.Derivation.Message.Valid_Next (Ctx, RFLX.Derivation.Message.F_Value) + and then RFLX.Derivation.Message.Valid_Length (Ctx, RFLX.Derivation.Message.F_Value, Length) + and then RFLX_Types.To_Length (RFLX.Derivation.Message.Available_Space (Ctx, RFLX.Derivation.Message.F_Value)) >= Length + and then RFLX.Derivation.Message.Field_First (Ctx, RFLX.Derivation.Message.F_Value) mod RFLX_Types.Byte'Size = 1, Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Value) diff --git a/tests/spark/generated/rflx-derivation-message.ads b/tests/spark/generated/rflx-derivation-message.ads index 5a9257489..0f37254a2 100644 --- a/tests/spark/generated/rflx-derivation-message.ads +++ b/tests/spark/generated/rflx-derivation-message.ads @@ -126,7 +126,7 @@ is procedure Reset (Ctx : in out Context) with Pre => not Ctx'Constrained - and Has_Buffer (Ctx), + and RFLX.Derivation.Message.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -138,7 +138,7 @@ is procedure Reset (Ctx : in out Context; First : RFLX_Types.Bit_Index; Last : RFLX_Types.Bit_Length) with Pre => not Ctx'Constrained - and Has_Buffer (Ctx) + and RFLX.Derivation.Message.Has_Buffer (Ctx) and RFLX_Types.To_Index (First) >= Ctx.Buffer_First and RFLX_Types.To_Index (Last) <= Ctx.Buffer_Last and First <= Last + 1 @@ -155,7 +155,7 @@ is procedure Take_Buffer (Ctx : in out Context; Buffer : out RFLX_Types.Bytes_Ptr) with Pre => - Has_Buffer (Ctx), + RFLX.Derivation.Message.Has_Buffer (Ctx), Post => not Has_Buffer (Ctx) and Buffer /= null @@ -171,15 +171,15 @@ is procedure Copy (Ctx : Context; Buffer : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) - and then Byte_Size (Ctx) = Buffer'Length; + RFLX.Derivation.Message.Has_Buffer (Ctx) + and then RFLX.Derivation.Message.Structural_Valid_Message (Ctx) + and then RFLX.Derivation.Message.Byte_Size (Ctx) = Buffer'Length; function Read (Ctx : Context) return RFLX_Types.Bytes with Ghost, Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx); + RFLX.Derivation.Message.Has_Buffer (Ctx) + and then RFLX.Derivation.Message.Structural_Valid_Message (Ctx); pragma Warnings (Off, "formal parameter ""*"" is not referenced"); @@ -193,8 +193,8 @@ is with function Pre (Buffer : RFLX_Types.Bytes) return Boolean is Always_Valid; procedure Generic_Read (Ctx : Context) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) + RFLX.Derivation.Message.Has_Buffer (Ctx) + and then RFLX.Derivation.Message.Structural_Valid_Message (Ctx) and then Pre (Read (Ctx)); pragma Warnings (Off, "formal parameter ""*"" is not referenced"); @@ -210,9 +210,9 @@ is procedure Generic_Write (Ctx : in out Context; Offset : RFLX_Types.Length := 0) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Offset < Buffer_Length (Ctx) - and then Pre (Buffer_Length (Ctx), Offset), + and then RFLX.Derivation.Message.Has_Buffer (Ctx) + and then Offset < RFLX.Derivation.Message.Buffer_Length (Ctx) + and then Pre (RFLX.Derivation.Message.Buffer_Length (Ctx), Offset), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -224,7 +224,7 @@ is function Buffer_Length (Ctx : Context) return RFLX_Types.Length with Pre => - Has_Buffer (Ctx); + RFLX.Derivation.Message.Has_Buffer (Ctx); function Size (Ctx : Context) return RFLX_Types.Bit_Length with Post => @@ -234,16 +234,16 @@ is function Message_Last (Ctx : Context) return RFLX_Types.Bit_Length with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx); + RFLX.Derivation.Message.Has_Buffer (Ctx) + and then RFLX.Derivation.Message.Structural_Valid_Message (Ctx); function Written_Last (Ctx : Context) return RFLX_Types.Bit_Length; procedure Data (Ctx : Context; Data : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) - and then Data'Length = Byte_Size (Ctx); + RFLX.Derivation.Message.Has_Buffer (Ctx) + and then RFLX.Derivation.Message.Structural_Valid_Message (Ctx) + and then Data'Length = RFLX.Derivation.Message.Byte_Size (Ctx); pragma Warnings (Off, "postcondition does not mention function result"); @@ -257,7 +257,7 @@ is function Path_Condition (Ctx : Context; Fld : Field) return Boolean with Pre => - Valid_Predecessor (Ctx, Fld), + RFLX.Derivation.Message.Valid_Predecessor (Ctx, Fld), Post => True; @@ -267,11 +267,11 @@ is function Field_Condition (Ctx : Context; Fld : Field; Val : RFLX_Types.Base_Integer) return Boolean with Pre => - Has_Buffer (Ctx) - and then Valid_Predecessor (Ctx, Fld) - and then Valid_Value (Fld, Val) - and then Valid_Next (Ctx, Fld) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld), + RFLX.Derivation.Message.Has_Buffer (Ctx) + and then RFLX.Derivation.Message.Valid_Predecessor (Ctx, Fld) + and then RFLX.Derivation.Message.Valid_Value (Fld, Val) + and then RFLX.Derivation.Message.Valid_Next (Ctx, Fld) + and then RFLX.Derivation.Message.Available_Space (Ctx, Fld) >= RFLX.Derivation.Message.Field_Size (Ctx, Fld), Post => True; @@ -279,7 +279,7 @@ is function Field_Size (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld), + RFLX.Derivation.Message.Valid_Next (Ctx, Fld), Post => (case Fld is when F_Value => @@ -291,7 +291,7 @@ is function Field_First (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Index with Pre => - Valid_Next (Ctx, Fld), + RFLX.Derivation.Message.Valid_Next (Ctx, Fld), Post => True; @@ -299,8 +299,8 @@ is function Field_Last (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld), + RFLX.Derivation.Message.Valid_Next (Ctx, Fld) + and then RFLX.Derivation.Message.Available_Space (Ctx, Fld) >= RFLX.Derivation.Message.Field_Size (Ctx, Fld), Post => (case Fld is when F_Value => @@ -328,16 +328,16 @@ is function Available_Space (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld); + RFLX.Derivation.Message.Valid_Next (Ctx, Fld); function Equal (Ctx : Context; Fld : Field; Data : RFLX_Types.Bytes) return Boolean with Pre => - Has_Buffer (Ctx) - and Valid_Next (Ctx, Fld); + RFLX.Derivation.Message.Has_Buffer (Ctx) + and RFLX.Derivation.Message.Valid_Next (Ctx, Fld); procedure Verify (Ctx : in out Context; Fld : Field) with Pre => - Has_Buffer (Ctx), + RFLX.Derivation.Message.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -347,7 +347,7 @@ is procedure Verify_Message (Ctx : in out Context) with Pre => - Has_Buffer (Ctx), + RFLX.Derivation.Message.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -369,11 +369,11 @@ is function Structural_Valid_Message (Ctx : Context) return Boolean with Pre => - Has_Buffer (Ctx); + RFLX.Derivation.Message.Has_Buffer (Ctx); function Valid_Message (Ctx : Context) return Boolean with Pre => - Has_Buffer (Ctx); + RFLX.Derivation.Message.Has_Buffer (Ctx); pragma Warnings (Off, "postcondition does not mention function result"); @@ -387,29 +387,29 @@ is function Get_Tag (Ctx : Context) return RFLX.TLV.Tag with Pre => - Valid (Ctx, F_Tag); + RFLX.Derivation.Message.Valid (Ctx, RFLX.Derivation.Message.F_Tag); function Get_Length (Ctx : Context) return RFLX.TLV.Length with Pre => - Valid (Ctx, F_Length); + RFLX.Derivation.Message.Valid (Ctx, RFLX.Derivation.Message.F_Length); pragma Warnings (On, "precondition is always False"); function Get_Value (Ctx : Context) return RFLX_Types.Bytes with Ghost, Pre => - Has_Buffer (Ctx) - and then Structural_Valid (Ctx, F_Value) - and then Valid_Next (Ctx, F_Value), + RFLX.Derivation.Message.Has_Buffer (Ctx) + and then RFLX.Derivation.Message.Structural_Valid (Ctx, RFLX.Derivation.Message.F_Value) + and then RFLX.Derivation.Message.Valid_Next (Ctx, RFLX.Derivation.Message.F_Value), Post => Get_Value'Result'Length = RFLX_Types.To_Length (Field_Size (Ctx, F_Value)); procedure Get_Value (Ctx : Context; Data : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid (Ctx, F_Value) - and then Valid_Next (Ctx, F_Value) - and then Data'Length = RFLX_Types.To_Length (Field_Size (Ctx, F_Value)), + RFLX.Derivation.Message.Has_Buffer (Ctx) + and then RFLX.Derivation.Message.Structural_Valid (Ctx, RFLX.Derivation.Message.F_Value) + and then RFLX.Derivation.Message.Valid_Next (Ctx, RFLX.Derivation.Message.F_Value) + and then Data'Length = RFLX_Types.To_Length (RFLX.Derivation.Message.Field_Size (Ctx, RFLX.Derivation.Message.F_Value)), Post => Equal (Ctx, F_Value, Data); @@ -417,14 +417,14 @@ is with procedure Process_Value (Value : RFLX_Types.Bytes); procedure Generic_Get_Value (Ctx : Context) with Pre => - Has_Buffer (Ctx) - and Present (Ctx, F_Value); + RFLX.Derivation.Message.Has_Buffer (Ctx) + and RFLX.Derivation.Message.Present (Ctx, RFLX.Derivation.Message.F_Value); pragma Warnings (Off, "postcondition does not mention function result"); function Valid_Length (Ctx : Context; Fld : Field; Length : RFLX_Types.Length) return Boolean with Pre => - Valid_Next (Ctx, Fld), + RFLX.Derivation.Message.Valid_Next (Ctx, Fld), Post => True; @@ -436,11 +436,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Tag) - and then RFLX.TLV.Valid_Tag (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_Tag) >= Field_Size (Ctx, F_Tag) - and then Field_Condition (Ctx, F_Tag, To_Base_Integer (Val)), + and then RFLX.Derivation.Message.Has_Buffer (Ctx) + and then RFLX.Derivation.Message.Valid_Next (Ctx, RFLX.Derivation.Message.F_Tag) + and then RFLX.TLV.Valid_Tag (RFLX.TLV.To_Base_Integer (Val)) + and then RFLX.Derivation.Message.Available_Space (Ctx, RFLX.Derivation.Message.F_Tag) >= RFLX.Derivation.Message.Field_Size (Ctx, RFLX.Derivation.Message.F_Tag) + and then RFLX.Derivation.Message.Field_Condition (Ctx, RFLX.Derivation.Message.F_Tag, RFLX.TLV.To_Base_Integer (Val)), Post => Has_Buffer (Ctx) and Valid (Ctx, F_Tag) @@ -465,11 +465,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Length) - and then RFLX.TLV.Valid_Length (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_Length) >= Field_Size (Ctx, F_Length) - and then Field_Condition (Ctx, F_Length, To_Base_Integer (Val)), + and then RFLX.Derivation.Message.Has_Buffer (Ctx) + and then RFLX.Derivation.Message.Valid_Next (Ctx, RFLX.Derivation.Message.F_Length) + and then RFLX.TLV.Valid_Length (RFLX.TLV.To_Base_Integer (Val)) + and then RFLX.Derivation.Message.Available_Space (Ctx, RFLX.Derivation.Message.F_Length) >= RFLX.Derivation.Message.Field_Size (Ctx, RFLX.Derivation.Message.F_Length) + and then RFLX.Derivation.Message.Field_Condition (Ctx, RFLX.Derivation.Message.F_Length, RFLX.TLV.To_Base_Integer (Val)), Post => Has_Buffer (Ctx) and Valid (Ctx, F_Length) @@ -494,11 +494,11 @@ is procedure Set_Value_Empty (Ctx : in out Context) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Value) - and then Available_Space (Ctx, F_Value) >= Field_Size (Ctx, F_Value) - and then Field_Condition (Ctx, F_Value, 0) - and then Field_Size (Ctx, F_Value) = 0, + and then RFLX.Derivation.Message.Has_Buffer (Ctx) + and then RFLX.Derivation.Message.Valid_Next (Ctx, RFLX.Derivation.Message.F_Value) + and then RFLX.Derivation.Message.Available_Space (Ctx, RFLX.Derivation.Message.F_Value) >= RFLX.Derivation.Message.Field_Size (Ctx, RFLX.Derivation.Message.F_Value) + and then RFLX.Derivation.Message.Field_Condition (Ctx, RFLX.Derivation.Message.F_Value, 0) + and then RFLX.Derivation.Message.Field_Size (Ctx, RFLX.Derivation.Message.F_Value) = 0, Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Value) @@ -517,9 +517,9 @@ is procedure Initialize_Value (Ctx : in out Context) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Value) - and then Available_Space (Ctx, F_Value) >= Field_Size (Ctx, F_Value), + and then RFLX.Derivation.Message.Has_Buffer (Ctx) + and then RFLX.Derivation.Message.Valid_Next (Ctx, RFLX.Derivation.Message.F_Value) + and then RFLX.Derivation.Message.Available_Space (Ctx, RFLX.Derivation.Message.F_Value) >= RFLX.Derivation.Message.Field_Size (Ctx, RFLX.Derivation.Message.F_Value), Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Value) @@ -538,12 +538,12 @@ is procedure Set_Value (Ctx : in out Context; Data : RFLX_Types.Bytes) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Value) - and then Available_Space (Ctx, F_Value) >= Field_Size (Ctx, F_Value) - and then Valid_Length (Ctx, F_Value, Data'Length) - and then Available_Space (Ctx, F_Value) >= Data'Length * RFLX_Types.Byte'Size - and then Field_Condition (Ctx, F_Value, 0), + and then RFLX.Derivation.Message.Has_Buffer (Ctx) + and then RFLX.Derivation.Message.Valid_Next (Ctx, RFLX.Derivation.Message.F_Value) + and then RFLX.Derivation.Message.Available_Space (Ctx, RFLX.Derivation.Message.F_Value) >= RFLX.Derivation.Message.Field_Size (Ctx, RFLX.Derivation.Message.F_Value) + and then RFLX.Derivation.Message.Valid_Length (Ctx, RFLX.Derivation.Message.F_Value, Data'Length) + and then RFLX.Derivation.Message.Available_Space (Ctx, RFLX.Derivation.Message.F_Value) >= Data'Length * RFLX_Types.Byte'Size + and then RFLX.Derivation.Message.Field_Condition (Ctx, RFLX.Derivation.Message.F_Value, 0), Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Value) @@ -566,11 +566,11 @@ is procedure Generic_Set_Value (Ctx : in out Context; Length : RFLX_Types.Length) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Value) - and then Available_Space (Ctx, F_Value) >= Field_Size (Ctx, F_Value) - and then Valid_Length (Ctx, F_Value, Length) - and then RFLX_Types.To_Length (Available_Space (Ctx, F_Value)) >= Length + and then RFLX.Derivation.Message.Has_Buffer (Ctx) + and then RFLX.Derivation.Message.Valid_Next (Ctx, RFLX.Derivation.Message.F_Value) + and then RFLX.Derivation.Message.Available_Space (Ctx, RFLX.Derivation.Message.F_Value) >= RFLX.Derivation.Message.Field_Size (Ctx, RFLX.Derivation.Message.F_Value) + and then RFLX.Derivation.Message.Valid_Length (Ctx, RFLX.Derivation.Message.F_Value, Length) + and then RFLX_Types.To_Length (RFLX.Derivation.Message.Available_Space (Ctx, RFLX.Derivation.Message.F_Value)) >= Length and then Process_Data_Pre (Length), Post => Has_Buffer (Ctx) @@ -711,7 +711,7 @@ private function Initialized (Ctx : Context) return Boolean is (Ctx.Verified_Last = Ctx.First - 1 and then Valid_Next (Ctx, F_Tag) - and then Field_First (Ctx, F_Tag) rem RFLX_Types.Byte'Size = 1 + and then RFLX.Derivation.Message.Field_First (Ctx, RFLX.Derivation.Message.F_Tag) rem RFLX_Types.Byte'Size = 1 and then Available_Space (Ctx, F_Tag) = Ctx.Last - Ctx.First + 1 and then (for all F in Field => Invalid (Ctx, F))); @@ -848,7 +848,7 @@ private (Size = Field_Size (Ctx, Fld)) with Pre => - Valid_Next (Ctx, Fld); + RFLX.Derivation.Message.Valid_Next (Ctx, Fld); function Valid_Length (Ctx : Context; Fld : Field; Length : RFLX_Types.Length) return Boolean is (Valid_Size (Ctx, Fld, RFLX_Types.To_Bit_Length (Length))); diff --git a/tests/spark/generated/rflx-enumeration-message.adb b/tests/spark/generated/rflx-enumeration-message.adb index fb172b96a..c18227817 100644 --- a/tests/spark/generated/rflx-enumeration-message.adb +++ b/tests/spark/generated/rflx-enumeration-message.adb @@ -75,9 +75,9 @@ is F_Final)) with Pre => - Has_Buffer (Ctx) - and Structural_Valid (Ctx, Fld) - and Valid_Predecessor (Ctx, Fld); + RFLX.Enumeration.Message.Has_Buffer (Ctx) + and RFLX.Enumeration.Message.Structural_Valid (Ctx, Fld) + and RFLX.Enumeration.Message.Valid_Predecessor (Ctx, Fld); pragma Warnings (On, "precondition is always False"); @@ -88,12 +88,12 @@ is and Field_First (Ctx, Fld) + Field_Size (Ctx, Fld) - 1 <= Ctx.Written_Last) with Pre => - Has_Buffer (Ctx) - and Valid_Next (Ctx, Fld); + RFLX.Enumeration.Message.Has_Buffer (Ctx) + and RFLX.Enumeration.Message.Valid_Next (Ctx, Fld); procedure Reset_Dependent_Fields (Ctx : in out Context; Fld : Field) with Pre => - Valid_Next (Ctx, Fld), + RFLX.Enumeration.Message.Valid_Next (Ctx, Fld), Post => Valid_Next (Ctx, Fld) and Invalid (Ctx.Cursors (Fld)) @@ -123,9 +123,9 @@ is function Get (Ctx : Context; Fld : Field) return RFLX_Types.Base_Integer with Pre => - Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) - and then Sufficient_Buffer_Length (Ctx, Fld) + RFLX.Enumeration.Message.Has_Buffer (Ctx) + and then RFLX.Enumeration.Message.Valid_Next (Ctx, Fld) + and then RFLX.Enumeration.Message.Sufficient_Buffer_Length (Ctx, Fld) is First : constant RFLX_Types.Bit_Index := Field_First (Ctx, Fld); Last : constant RFLX_Types.Bit_Index := Field_Last (Ctx, Fld); @@ -181,11 +181,11 @@ is procedure Set (Ctx : in out Context; Fld : Field; Val : RFLX_Types.Base_Integer; Size : RFLX_Types.Bit_Length; State_Valid : Boolean; Buffer_First : out RFLX_Types.Index; Buffer_Last : out RFLX_Types.Index; Offset : out RFLX_Types.Offset) with Pre => - Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) - and then Valid_Value (Fld, Val) - and then Valid_Size (Ctx, Fld, Size) - and then Size <= Available_Space (Ctx, Fld) + RFLX.Enumeration.Message.Has_Buffer (Ctx) + and then RFLX.Enumeration.Message.Valid_Next (Ctx, Fld) + and then RFLX.Enumeration.Message.Valid_Value (Fld, Val) + and then RFLX.Enumeration.Message.Valid_Size (Ctx, Fld, Size) + and then Size <= RFLX.Enumeration.Message.Available_Space (Ctx, Fld) and then State_Valid, Post => Valid_Next (Ctx, Fld) @@ -238,14 +238,14 @@ is procedure Set_Scalar (Ctx : in out Context; Fld : Field; Val : RFLX_Types.Base_Integer) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) + and then RFLX.Enumeration.Message.Has_Buffer (Ctx) + and then RFLX.Enumeration.Message.Valid_Next (Ctx, Fld) and then Fld in F_Priority - and then Valid_Value (Fld, Val) - and then Valid_Size (Ctx, Fld, Field_Size (Ctx, Fld)) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld) - and then Field_Size (Ctx, Fld) in 1 .. RFLX_Types.Base_Integer'Size - and then RFLX_Types.Fits_Into (Val, Natural (Field_Size (Ctx, Fld))), + and then RFLX.Enumeration.Message.Valid_Value (Fld, Val) + and then RFLX.Enumeration.Message.Valid_Size (Ctx, Fld, RFLX.Enumeration.Message.Field_Size (Ctx, Fld)) + and then RFLX.Enumeration.Message.Available_Space (Ctx, Fld) >= RFLX.Enumeration.Message.Field_Size (Ctx, Fld) + and then RFLX.Enumeration.Message.Field_Size (Ctx, Fld) in 1 .. RFLX_Types.Base_Integer'Size + and then RFLX_Types.Fits_Into (Val, Natural (RFLX.Enumeration.Message.Field_Size (Ctx, Fld))), Post => Has_Buffer (Ctx) and Valid (Ctx, Fld) @@ -272,17 +272,17 @@ is procedure Set_Priority (Ctx : in out Context; Val : RFLX.Enumeration.Priority_Enum) is begin - Set_Scalar (Ctx, F_Priority, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_Priority, RFLX.Enumeration.To_Base_Integer (Val)); end Set_Priority; procedure Set_Priority (Ctx : in out Context; Val : RFLX.Enumeration.Priority) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Priority) + and then RFLX.Enumeration.Message.Has_Buffer (Ctx) + and then RFLX.Enumeration.Message.Valid_Next (Ctx, RFLX.Enumeration.Message.F_Priority) and then RFLX.Enumeration.Valid_Priority (Val) - and then Available_Space (Ctx, F_Priority) >= Field_Size (Ctx, F_Priority) - and then Field_Condition (Ctx, F_Priority), + and then RFLX.Enumeration.Message.Available_Space (Ctx, RFLX.Enumeration.Message.F_Priority) >= RFLX.Enumeration.Message.Field_Size (Ctx, RFLX.Enumeration.Message.F_Priority) + and then RFLX.Enumeration.Message.Field_Condition (Ctx, RFLX.Enumeration.Message.F_Priority), Post => Has_Buffer (Ctx) and Valid (Ctx, F_Priority) @@ -297,7 +297,7 @@ is and Field_First (Ctx, F_Priority) = Field_First (Ctx, F_Priority)'Old is begin - Set_Scalar (Ctx, F_Priority, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_Priority, RFLX.Enumeration.To_Base_Integer (Val)); end Set_Priority; procedure To_Structure (Ctx : Context; Struct : out Structure) is diff --git a/tests/spark/generated/rflx-enumeration-message.ads b/tests/spark/generated/rflx-enumeration-message.ads index e9051dc3a..cc91cc28b 100644 --- a/tests/spark/generated/rflx-enumeration-message.ads +++ b/tests/spark/generated/rflx-enumeration-message.ads @@ -120,7 +120,7 @@ is procedure Reset (Ctx : in out Context) with Pre => not Ctx'Constrained - and Has_Buffer (Ctx), + and RFLX.Enumeration.Message.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -132,7 +132,7 @@ is procedure Reset (Ctx : in out Context; First : RFLX_Types.Bit_Index; Last : RFLX_Types.Bit_Length) with Pre => not Ctx'Constrained - and Has_Buffer (Ctx) + and RFLX.Enumeration.Message.Has_Buffer (Ctx) and RFLX_Types.To_Index (First) >= Ctx.Buffer_First and RFLX_Types.To_Index (Last) <= Ctx.Buffer_Last and First <= Last + 1 @@ -149,7 +149,7 @@ is procedure Take_Buffer (Ctx : in out Context; Buffer : out RFLX_Types.Bytes_Ptr) with Pre => - Has_Buffer (Ctx), + RFLX.Enumeration.Message.Has_Buffer (Ctx), Post => not Has_Buffer (Ctx) and Buffer /= null @@ -165,15 +165,15 @@ is procedure Copy (Ctx : Context; Buffer : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) - and then Byte_Size (Ctx) = Buffer'Length; + RFLX.Enumeration.Message.Has_Buffer (Ctx) + and then RFLX.Enumeration.Message.Structural_Valid_Message (Ctx) + and then RFLX.Enumeration.Message.Byte_Size (Ctx) = Buffer'Length; function Read (Ctx : Context) return RFLX_Types.Bytes with Ghost, Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx); + RFLX.Enumeration.Message.Has_Buffer (Ctx) + and then RFLX.Enumeration.Message.Structural_Valid_Message (Ctx); pragma Warnings (Off, "formal parameter ""*"" is not referenced"); @@ -187,8 +187,8 @@ is with function Pre (Buffer : RFLX_Types.Bytes) return Boolean is Always_Valid; procedure Generic_Read (Ctx : Context) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) + RFLX.Enumeration.Message.Has_Buffer (Ctx) + and then RFLX.Enumeration.Message.Structural_Valid_Message (Ctx) and then Pre (Read (Ctx)); pragma Warnings (Off, "formal parameter ""*"" is not referenced"); @@ -204,9 +204,9 @@ is procedure Generic_Write (Ctx : in out Context; Offset : RFLX_Types.Length := 0) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Offset < Buffer_Length (Ctx) - and then Pre (Buffer_Length (Ctx), Offset), + and then RFLX.Enumeration.Message.Has_Buffer (Ctx) + and then Offset < RFLX.Enumeration.Message.Buffer_Length (Ctx) + and then Pre (RFLX.Enumeration.Message.Buffer_Length (Ctx), Offset), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -218,7 +218,7 @@ is function Buffer_Length (Ctx : Context) return RFLX_Types.Length with Pre => - Has_Buffer (Ctx); + RFLX.Enumeration.Message.Has_Buffer (Ctx); function Size (Ctx : Context) return RFLX_Types.Bit_Length with Post => @@ -228,16 +228,16 @@ is function Message_Last (Ctx : Context) return RFLX_Types.Bit_Length with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx); + RFLX.Enumeration.Message.Has_Buffer (Ctx) + and then RFLX.Enumeration.Message.Structural_Valid_Message (Ctx); function Written_Last (Ctx : Context) return RFLX_Types.Bit_Length; procedure Data (Ctx : Context; Data : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) - and then Data'Length = Byte_Size (Ctx); + RFLX.Enumeration.Message.Has_Buffer (Ctx) + and then RFLX.Enumeration.Message.Structural_Valid_Message (Ctx) + and then Data'Length = RFLX.Enumeration.Message.Byte_Size (Ctx); pragma Warnings (Off, "postcondition does not mention function result"); @@ -251,7 +251,7 @@ is function Path_Condition (Ctx : Context; Fld : Field) return Boolean with Pre => - Valid_Predecessor (Ctx, Fld), + RFLX.Enumeration.Message.Valid_Predecessor (Ctx, Fld), Post => True; @@ -261,10 +261,10 @@ is function Field_Condition (Ctx : Context; Fld : Field) return Boolean with Pre => - Has_Buffer (Ctx) - and then Valid_Predecessor (Ctx, Fld) - and then Valid_Next (Ctx, Fld) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld), + RFLX.Enumeration.Message.Has_Buffer (Ctx) + and then RFLX.Enumeration.Message.Valid_Predecessor (Ctx, Fld) + and then RFLX.Enumeration.Message.Valid_Next (Ctx, Fld) + and then RFLX.Enumeration.Message.Available_Space (Ctx, Fld) >= RFLX.Enumeration.Message.Field_Size (Ctx, Fld), Post => True; @@ -272,13 +272,13 @@ is function Field_Size (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld); + RFLX.Enumeration.Message.Valid_Next (Ctx, Fld); pragma Warnings (Off, "postcondition does not mention function result"); function Field_First (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Index with Pre => - Valid_Next (Ctx, Fld), + RFLX.Enumeration.Message.Valid_Next (Ctx, Fld), Post => True; @@ -286,8 +286,8 @@ is function Field_Last (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld); + RFLX.Enumeration.Message.Valid_Next (Ctx, Fld) + and then RFLX.Enumeration.Message.Available_Space (Ctx, Fld) >= RFLX.Enumeration.Message.Field_Size (Ctx, Fld); pragma Warnings (Off, "postcondition does not mention function result"); @@ -309,11 +309,11 @@ is function Available_Space (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld); + RFLX.Enumeration.Message.Valid_Next (Ctx, Fld); procedure Verify (Ctx : in out Context; Fld : Field) with Pre => - Has_Buffer (Ctx), + RFLX.Enumeration.Message.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -323,7 +323,7 @@ is procedure Verify_Message (Ctx : in out Context) with Pre => - Has_Buffer (Ctx), + RFLX.Enumeration.Message.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -345,11 +345,11 @@ is function Structural_Valid_Message (Ctx : Context) return Boolean with Pre => - Has_Buffer (Ctx); + RFLX.Enumeration.Message.Has_Buffer (Ctx); function Valid_Message (Ctx : Context) return Boolean with Pre => - Has_Buffer (Ctx); + RFLX.Enumeration.Message.Has_Buffer (Ctx); pragma Warnings (Off, "postcondition does not mention function result"); @@ -363,7 +363,7 @@ is function Get_Priority (Ctx : Context) return RFLX.Enumeration.Priority with Pre => - Valid (Ctx, F_Priority); + RFLX.Enumeration.Message.Valid (Ctx, RFLX.Enumeration.Message.F_Priority); pragma Warnings (On, "precondition is always False"); @@ -371,7 +371,7 @@ is function Valid_Length (Ctx : Context; Fld : Field; Length : RFLX_Types.Length) return Boolean with Pre => - Valid_Next (Ctx, Fld), + RFLX.Enumeration.Message.Valid_Next (Ctx, Fld), Post => True; @@ -383,11 +383,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Priority) - and then RFLX.Enumeration.Valid_Priority (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_Priority) >= Field_Size (Ctx, F_Priority) - and then Field_Condition (Ctx, F_Priority), + and then RFLX.Enumeration.Message.Has_Buffer (Ctx) + and then RFLX.Enumeration.Message.Valid_Next (Ctx, RFLX.Enumeration.Message.F_Priority) + and then RFLX.Enumeration.Valid_Priority (RFLX.Enumeration.To_Base_Integer (Val)) + and then RFLX.Enumeration.Message.Available_Space (Ctx, RFLX.Enumeration.Message.F_Priority) >= RFLX.Enumeration.Message.Field_Size (Ctx, RFLX.Enumeration.Message.F_Priority) + and then RFLX.Enumeration.Message.Field_Condition (Ctx, RFLX.Enumeration.Message.F_Priority), Post => Has_Buffer (Ctx) and Valid (Ctx, F_Priority) @@ -427,8 +427,8 @@ is procedure To_Structure (Ctx : Context; Struct : out Structure) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx), + RFLX.Enumeration.Message.Has_Buffer (Ctx) + and then RFLX.Enumeration.Message.Structural_Valid_Message (Ctx), Post => Valid_Structure (Struct); @@ -437,9 +437,9 @@ is procedure To_Context (Struct : Structure; Ctx : in out Context) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Structure (Struct) - and then Sufficient_Buffer_Length (Ctx, Struct), + and then RFLX.Enumeration.Message.Has_Buffer (Ctx) + and then RFLX.Enumeration.Message.Valid_Structure (Struct) + and then RFLX.Enumeration.Message.Sufficient_Buffer_Length (Ctx, Struct), Post => Has_Buffer (Ctx) and Structural_Valid_Message (Ctx) @@ -531,7 +531,7 @@ private function Initialized (Ctx : Context) return Boolean is (Ctx.Verified_Last = Ctx.First - 1 and then Valid_Next (Ctx, F_Priority) - and then Field_First (Ctx, F_Priority) rem RFLX_Types.Byte'Size = 1 + and then RFLX.Enumeration.Message.Field_First (Ctx, RFLX.Enumeration.Message.F_Priority) rem RFLX_Types.Byte'Size = 1 and then Available_Space (Ctx, F_Priority) = Ctx.Last - Ctx.First + 1 and then (for all F in Field => Invalid (Ctx, F))); @@ -638,7 +638,7 @@ private (Size = Field_Size (Ctx, Fld)) with Pre => - Valid_Next (Ctx, Fld); + RFLX.Enumeration.Message.Valid_Next (Ctx, Fld); function Valid_Length (Ctx : Context; Fld : Field; Length : RFLX_Types.Length) return Boolean is (Valid_Size (Ctx, Fld, RFLX_Types.To_Bit_Length (Length))); diff --git a/tests/spark/generated/rflx-ethernet-frame.adb b/tests/spark/generated/rflx-ethernet-frame.adb index 95f531ea8..6793c2ba7 100644 --- a/tests/spark/generated/rflx-ethernet-frame.adb +++ b/tests/spark/generated/rflx-ethernet-frame.adb @@ -111,9 +111,9 @@ is F_Initial))) with Pre => - Has_Buffer (Ctx) - and Structural_Valid (Ctx, Fld) - and Valid_Predecessor (Ctx, Fld); + RFLX.Ethernet.Frame.Has_Buffer (Ctx) + and RFLX.Ethernet.Frame.Structural_Valid (Ctx, Fld) + and RFLX.Ethernet.Frame.Valid_Predecessor (Ctx, Fld); pragma Warnings (On, "precondition is always False"); @@ -142,8 +142,8 @@ is and Field_First (Ctx, Fld) + Field_Size (Ctx, Fld) - 1 <= Ctx.Written_Last) with Pre => - Has_Buffer (Ctx) - and Valid_Next (Ctx, Fld); + RFLX.Ethernet.Frame.Has_Buffer (Ctx) + and RFLX.Ethernet.Frame.Valid_Next (Ctx, Fld); function Equal (Ctx : Context; Fld : Field; Data : RFLX_Types.Bytes) return Boolean is (Sufficient_Buffer_Length (Ctx, Fld) @@ -157,7 +157,7 @@ is procedure Reset_Dependent_Fields (Ctx : in out Context; Fld : Field) with Pre => - Valid_Next (Ctx, Fld), + RFLX.Ethernet.Frame.Valid_Next (Ctx, Fld), Post => Valid_Next (Ctx, Fld) and Invalid (Ctx.Cursors (Fld)) @@ -199,10 +199,10 @@ is function Get (Ctx : Context; Fld : Field) return RFLX_Types.Base_Integer with Pre => - Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) - and then Sufficient_Buffer_Length (Ctx, Fld) - and then not Composite_Field (Fld) + RFLX.Ethernet.Frame.Has_Buffer (Ctx) + and then RFLX.Ethernet.Frame.Valid_Next (Ctx, Fld) + and then RFLX.Ethernet.Frame.Sufficient_Buffer_Length (Ctx, Fld) + and then not RFLX.Ethernet.Frame.Composite_Field (Fld) is First : constant RFLX_Types.Bit_Index := Field_First (Ctx, Fld); Last : constant RFLX_Types.Bit_Index := Field_Last (Ctx, Fld); @@ -290,12 +290,12 @@ is procedure Set (Ctx : in out Context; Fld : Field; Val : RFLX_Types.Base_Integer; Size : RFLX_Types.Bit_Length; State_Valid : Boolean; Buffer_First : out RFLX_Types.Index; Buffer_Last : out RFLX_Types.Index; Offset : out RFLX_Types.Offset) with Pre => - Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) - and then Valid_Value (Fld, Val) - and then Valid_Size (Ctx, Fld, Size) - and then Size <= Available_Space (Ctx, Fld) - and then (if Composite_Field (Fld) then Size mod RFLX_Types.Byte'Size = 0 else State_Valid), + RFLX.Ethernet.Frame.Has_Buffer (Ctx) + and then RFLX.Ethernet.Frame.Valid_Next (Ctx, Fld) + and then RFLX.Ethernet.Frame.Valid_Value (Fld, Val) + and then RFLX.Ethernet.Frame.Valid_Size (Ctx, Fld, Size) + and then Size <= RFLX.Ethernet.Frame.Available_Space (Ctx, Fld) + and then (if RFLX.Ethernet.Frame.Composite_Field (Fld) then Size mod RFLX_Types.Byte'Size = 0 else State_Valid), Post => Valid_Next (Ctx, Fld) and then Invalid_Successor (Ctx, Fld) @@ -403,14 +403,14 @@ is procedure Set_Scalar (Ctx : in out Context; Fld : Field; Val : RFLX_Types.Base_Integer) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) + and then RFLX.Ethernet.Frame.Has_Buffer (Ctx) + and then RFLX.Ethernet.Frame.Valid_Next (Ctx, Fld) and then Fld in F_Destination | F_Source | F_Type_Length_TPID | F_TPID | F_TCI | F_Type_Length - and then Valid_Value (Fld, Val) - and then Valid_Size (Ctx, Fld, Field_Size (Ctx, Fld)) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld) - and then Field_Size (Ctx, Fld) in 1 .. RFLX_Types.Base_Integer'Size - and then RFLX_Types.Fits_Into (Val, Natural (Field_Size (Ctx, Fld))), + and then RFLX.Ethernet.Frame.Valid_Value (Fld, Val) + and then RFLX.Ethernet.Frame.Valid_Size (Ctx, Fld, RFLX.Ethernet.Frame.Field_Size (Ctx, Fld)) + and then RFLX.Ethernet.Frame.Available_Space (Ctx, Fld) >= RFLX.Ethernet.Frame.Field_Size (Ctx, Fld) + and then RFLX.Ethernet.Frame.Field_Size (Ctx, Fld) in 1 .. RFLX_Types.Base_Integer'Size + and then RFLX_Types.Fits_Into (Val, Natural (RFLX.Ethernet.Frame.Field_Size (Ctx, Fld))), Post => Has_Buffer (Ctx) and Valid (Ctx, Fld) @@ -478,42 +478,42 @@ is procedure Set_Destination (Ctx : in out Context; Val : RFLX.Ethernet.Address) is begin - Set_Scalar (Ctx, F_Destination, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_Destination, RFLX.Ethernet.To_Base_Integer (Val)); end Set_Destination; procedure Set_Source (Ctx : in out Context; Val : RFLX.Ethernet.Address) is begin - Set_Scalar (Ctx, F_Source, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_Source, RFLX.Ethernet.To_Base_Integer (Val)); end Set_Source; procedure Set_Type_Length_TPID (Ctx : in out Context; Val : RFLX.Ethernet.Type_Length) is begin - Set_Scalar (Ctx, F_Type_Length_TPID, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_Type_Length_TPID, RFLX.Ethernet.To_Base_Integer (Val)); end Set_Type_Length_TPID; procedure Set_TPID (Ctx : in out Context; Val : RFLX.Ethernet.TPID) is begin - Set_Scalar (Ctx, F_TPID, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_TPID, RFLX.Ethernet.To_Base_Integer (Val)); end Set_TPID; procedure Set_TCI (Ctx : in out Context; Val : RFLX.Ethernet.TCI) is begin - Set_Scalar (Ctx, F_TCI, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_TCI, RFLX.Ethernet.To_Base_Integer (Val)); end Set_TCI; procedure Set_Type_Length (Ctx : in out Context; Val : RFLX.Ethernet.Type_Length) is begin - Set_Scalar (Ctx, F_Type_Length, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_Type_Length, RFLX.Ethernet.To_Base_Integer (Val)); end Set_Type_Length; procedure Initialize_Payload_Private (Ctx : in out Context; Length : RFLX_Types.Length) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Payload) - and then Valid_Length (Ctx, F_Payload, Length) - and then RFLX_Types.To_Length (Available_Space (Ctx, F_Payload)) >= Length - and then Field_First (Ctx, F_Payload) mod RFLX_Types.Byte'Size = 1, + and then RFLX.Ethernet.Frame.Has_Buffer (Ctx) + and then RFLX.Ethernet.Frame.Valid_Next (Ctx, RFLX.Ethernet.Frame.F_Payload) + and then RFLX.Ethernet.Frame.Valid_Length (Ctx, RFLX.Ethernet.Frame.F_Payload, Length) + and then RFLX_Types.To_Length (RFLX.Ethernet.Frame.Available_Space (Ctx, RFLX.Ethernet.Frame.F_Payload)) >= Length + and then RFLX.Ethernet.Frame.Field_First (Ctx, RFLX.Ethernet.Frame.F_Payload) mod RFLX_Types.Byte'Size = 1, Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Payload) diff --git a/tests/spark/generated/rflx-ethernet-frame.ads b/tests/spark/generated/rflx-ethernet-frame.ads index f0e8fff20..a4905edc6 100644 --- a/tests/spark/generated/rflx-ethernet-frame.ads +++ b/tests/spark/generated/rflx-ethernet-frame.ads @@ -124,7 +124,7 @@ is procedure Reset (Ctx : in out Context) with Pre => not Ctx'Constrained - and Has_Buffer (Ctx), + and RFLX.Ethernet.Frame.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -136,7 +136,7 @@ is procedure Reset (Ctx : in out Context; First : RFLX_Types.Bit_Index; Last : RFLX_Types.Bit_Length) with Pre => not Ctx'Constrained - and Has_Buffer (Ctx) + and RFLX.Ethernet.Frame.Has_Buffer (Ctx) and RFLX_Types.To_Index (First) >= Ctx.Buffer_First and RFLX_Types.To_Index (Last) <= Ctx.Buffer_Last and First <= Last + 1 @@ -153,7 +153,7 @@ is procedure Take_Buffer (Ctx : in out Context; Buffer : out RFLX_Types.Bytes_Ptr) with Pre => - Has_Buffer (Ctx), + RFLX.Ethernet.Frame.Has_Buffer (Ctx), Post => not Has_Buffer (Ctx) and Buffer /= null @@ -169,15 +169,15 @@ is procedure Copy (Ctx : Context; Buffer : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) - and then Byte_Size (Ctx) = Buffer'Length; + RFLX.Ethernet.Frame.Has_Buffer (Ctx) + and then RFLX.Ethernet.Frame.Structural_Valid_Message (Ctx) + and then RFLX.Ethernet.Frame.Byte_Size (Ctx) = Buffer'Length; function Read (Ctx : Context) return RFLX_Types.Bytes with Ghost, Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx); + RFLX.Ethernet.Frame.Has_Buffer (Ctx) + and then RFLX.Ethernet.Frame.Structural_Valid_Message (Ctx); pragma Warnings (Off, "formal parameter ""*"" is not referenced"); @@ -191,8 +191,8 @@ is with function Pre (Buffer : RFLX_Types.Bytes) return Boolean is Always_Valid; procedure Generic_Read (Ctx : Context) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) + RFLX.Ethernet.Frame.Has_Buffer (Ctx) + and then RFLX.Ethernet.Frame.Structural_Valid_Message (Ctx) and then Pre (Read (Ctx)); pragma Warnings (Off, "formal parameter ""*"" is not referenced"); @@ -208,9 +208,9 @@ is procedure Generic_Write (Ctx : in out Context; Offset : RFLX_Types.Length := 0) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Offset < Buffer_Length (Ctx) - and then Pre (Buffer_Length (Ctx), Offset), + and then RFLX.Ethernet.Frame.Has_Buffer (Ctx) + and then Offset < RFLX.Ethernet.Frame.Buffer_Length (Ctx) + and then Pre (RFLX.Ethernet.Frame.Buffer_Length (Ctx), Offset), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -222,7 +222,7 @@ is function Buffer_Length (Ctx : Context) return RFLX_Types.Length with Pre => - Has_Buffer (Ctx); + RFLX.Ethernet.Frame.Has_Buffer (Ctx); function Size (Ctx : Context) return RFLX_Types.Bit_Length with Post => @@ -232,16 +232,16 @@ is function Message_Last (Ctx : Context) return RFLX_Types.Bit_Length with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx); + RFLX.Ethernet.Frame.Has_Buffer (Ctx) + and then RFLX.Ethernet.Frame.Structural_Valid_Message (Ctx); function Written_Last (Ctx : Context) return RFLX_Types.Bit_Length; procedure Data (Ctx : Context; Data : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) - and then Data'Length = Byte_Size (Ctx); + RFLX.Ethernet.Frame.Has_Buffer (Ctx) + and then RFLX.Ethernet.Frame.Structural_Valid_Message (Ctx) + and then Data'Length = RFLX.Ethernet.Frame.Byte_Size (Ctx); pragma Warnings (Off, "postcondition does not mention function result"); @@ -255,7 +255,7 @@ is function Path_Condition (Ctx : Context; Fld : Field) return Boolean with Pre => - Valid_Predecessor (Ctx, Fld), + RFLX.Ethernet.Frame.Valid_Predecessor (Ctx, Fld), Post => True; @@ -265,11 +265,11 @@ is function Field_Condition (Ctx : Context; Fld : Field; Val : RFLX_Types.Base_Integer; Size : RFLX_Types.Bit_Length := 0) return Boolean with Pre => - Has_Buffer (Ctx) - and then Valid_Predecessor (Ctx, Fld) - and then Valid_Value (Fld, Val) - and then Valid_Next (Ctx, Fld) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld), + RFLX.Ethernet.Frame.Has_Buffer (Ctx) + and then RFLX.Ethernet.Frame.Valid_Predecessor (Ctx, Fld) + and then RFLX.Ethernet.Frame.Valid_Value (Fld, Val) + and then RFLX.Ethernet.Frame.Valid_Next (Ctx, Fld) + and then RFLX.Ethernet.Frame.Available_Space (Ctx, Fld) >= RFLX.Ethernet.Frame.Field_Size (Ctx, Fld), Post => True; @@ -277,7 +277,7 @@ is function Field_Size (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld), + RFLX.Ethernet.Frame.Valid_Next (Ctx, Fld), Post => (case Fld is when F_Payload => @@ -289,7 +289,7 @@ is function Field_First (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Index with Pre => - Valid_Next (Ctx, Fld), + RFLX.Ethernet.Frame.Valid_Next (Ctx, Fld), Post => True; @@ -297,8 +297,8 @@ is function Field_Last (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld), + RFLX.Ethernet.Frame.Valid_Next (Ctx, Fld) + and then RFLX.Ethernet.Frame.Available_Space (Ctx, Fld) >= RFLX.Ethernet.Frame.Field_Size (Ctx, Fld), Post => (case Fld is when F_Payload => @@ -326,16 +326,16 @@ is function Available_Space (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld); + RFLX.Ethernet.Frame.Valid_Next (Ctx, Fld); function Equal (Ctx : Context; Fld : Field; Data : RFLX_Types.Bytes) return Boolean with Pre => - Has_Buffer (Ctx) - and Valid_Next (Ctx, Fld); + RFLX.Ethernet.Frame.Has_Buffer (Ctx) + and RFLX.Ethernet.Frame.Valid_Next (Ctx, Fld); procedure Verify (Ctx : in out Context; Fld : Field) with Pre => - Has_Buffer (Ctx), + RFLX.Ethernet.Frame.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -345,7 +345,7 @@ is procedure Verify_Message (Ctx : in out Context) with Pre => - Has_Buffer (Ctx), + RFLX.Ethernet.Frame.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -367,11 +367,11 @@ is function Structural_Valid_Message (Ctx : Context) return Boolean with Pre => - Has_Buffer (Ctx); + RFLX.Ethernet.Frame.Has_Buffer (Ctx); function Valid_Message (Ctx : Context) return Boolean with Pre => - Has_Buffer (Ctx); + RFLX.Ethernet.Frame.Has_Buffer (Ctx); pragma Warnings (Off, "postcondition does not mention function result"); @@ -385,45 +385,45 @@ is function Get_Destination (Ctx : Context) return RFLX.Ethernet.Address with Pre => - Valid (Ctx, F_Destination); + RFLX.Ethernet.Frame.Valid (Ctx, RFLX.Ethernet.Frame.F_Destination); function Get_Source (Ctx : Context) return RFLX.Ethernet.Address with Pre => - Valid (Ctx, F_Source); + RFLX.Ethernet.Frame.Valid (Ctx, RFLX.Ethernet.Frame.F_Source); function Get_Type_Length_TPID (Ctx : Context) return RFLX.Ethernet.Type_Length with Pre => - Valid (Ctx, F_Type_Length_TPID); + RFLX.Ethernet.Frame.Valid (Ctx, RFLX.Ethernet.Frame.F_Type_Length_TPID); function Get_TPID (Ctx : Context) return RFLX.Ethernet.TPID with Pre => - Valid (Ctx, F_TPID); + RFLX.Ethernet.Frame.Valid (Ctx, RFLX.Ethernet.Frame.F_TPID); function Get_TCI (Ctx : Context) return RFLX.Ethernet.TCI with Pre => - Valid (Ctx, F_TCI); + RFLX.Ethernet.Frame.Valid (Ctx, RFLX.Ethernet.Frame.F_TCI); function Get_Type_Length (Ctx : Context) return RFLX.Ethernet.Type_Length with Pre => - Valid (Ctx, F_Type_Length); + RFLX.Ethernet.Frame.Valid (Ctx, RFLX.Ethernet.Frame.F_Type_Length); pragma Warnings (On, "precondition is always False"); function Get_Payload (Ctx : Context) return RFLX_Types.Bytes with Ghost, Pre => - Has_Buffer (Ctx) - and then Structural_Valid (Ctx, F_Payload) - and then Valid_Next (Ctx, F_Payload), + RFLX.Ethernet.Frame.Has_Buffer (Ctx) + and then RFLX.Ethernet.Frame.Structural_Valid (Ctx, RFLX.Ethernet.Frame.F_Payload) + and then RFLX.Ethernet.Frame.Valid_Next (Ctx, RFLX.Ethernet.Frame.F_Payload), Post => Get_Payload'Result'Length = RFLX_Types.To_Length (Field_Size (Ctx, F_Payload)); procedure Get_Payload (Ctx : Context; Data : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid (Ctx, F_Payload) - and then Valid_Next (Ctx, F_Payload) - and then Data'Length = RFLX_Types.To_Length (Field_Size (Ctx, F_Payload)), + RFLX.Ethernet.Frame.Has_Buffer (Ctx) + and then RFLX.Ethernet.Frame.Structural_Valid (Ctx, RFLX.Ethernet.Frame.F_Payload) + and then RFLX.Ethernet.Frame.Valid_Next (Ctx, RFLX.Ethernet.Frame.F_Payload) + and then Data'Length = RFLX_Types.To_Length (RFLX.Ethernet.Frame.Field_Size (Ctx, RFLX.Ethernet.Frame.F_Payload)), Post => Equal (Ctx, F_Payload, Data); @@ -431,14 +431,14 @@ is with procedure Process_Payload (Payload : RFLX_Types.Bytes); procedure Generic_Get_Payload (Ctx : Context) with Pre => - Has_Buffer (Ctx) - and Present (Ctx, F_Payload); + RFLX.Ethernet.Frame.Has_Buffer (Ctx) + and RFLX.Ethernet.Frame.Present (Ctx, RFLX.Ethernet.Frame.F_Payload); pragma Warnings (Off, "postcondition does not mention function result"); function Valid_Length (Ctx : Context; Fld : Field; Length : RFLX_Types.Length) return Boolean with Pre => - Valid_Next (Ctx, Fld), + RFLX.Ethernet.Frame.Valid_Next (Ctx, Fld), Post => True; @@ -450,11 +450,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Destination) - and then RFLX.Ethernet.Valid_Address (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_Destination) >= Field_Size (Ctx, F_Destination) - and then Field_Condition (Ctx, F_Destination, To_Base_Integer (Val)), + and then RFLX.Ethernet.Frame.Has_Buffer (Ctx) + and then RFLX.Ethernet.Frame.Valid_Next (Ctx, RFLX.Ethernet.Frame.F_Destination) + and then RFLX.Ethernet.Valid_Address (RFLX.Ethernet.To_Base_Integer (Val)) + and then RFLX.Ethernet.Frame.Available_Space (Ctx, RFLX.Ethernet.Frame.F_Destination) >= RFLX.Ethernet.Frame.Field_Size (Ctx, RFLX.Ethernet.Frame.F_Destination) + and then RFLX.Ethernet.Frame.Field_Condition (Ctx, RFLX.Ethernet.Frame.F_Destination, RFLX.Ethernet.To_Base_Integer (Val)), Post => Has_Buffer (Ctx) and Valid (Ctx, F_Destination) @@ -479,11 +479,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Source) - and then RFLX.Ethernet.Valid_Address (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_Source) >= Field_Size (Ctx, F_Source) - and then Field_Condition (Ctx, F_Source, To_Base_Integer (Val)), + and then RFLX.Ethernet.Frame.Has_Buffer (Ctx) + and then RFLX.Ethernet.Frame.Valid_Next (Ctx, RFLX.Ethernet.Frame.F_Source) + and then RFLX.Ethernet.Valid_Address (RFLX.Ethernet.To_Base_Integer (Val)) + and then RFLX.Ethernet.Frame.Available_Space (Ctx, RFLX.Ethernet.Frame.F_Source) >= RFLX.Ethernet.Frame.Field_Size (Ctx, RFLX.Ethernet.Frame.F_Source) + and then RFLX.Ethernet.Frame.Field_Condition (Ctx, RFLX.Ethernet.Frame.F_Source, RFLX.Ethernet.To_Base_Integer (Val)), Post => Has_Buffer (Ctx) and Valid (Ctx, F_Source) @@ -511,11 +511,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Type_Length_TPID) - and then RFLX.Ethernet.Valid_Type_Length (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_Type_Length_TPID) >= Field_Size (Ctx, F_Type_Length_TPID) - and then Field_Condition (Ctx, F_Type_Length_TPID, To_Base_Integer (Val)), + and then RFLX.Ethernet.Frame.Has_Buffer (Ctx) + and then RFLX.Ethernet.Frame.Valid_Next (Ctx, RFLX.Ethernet.Frame.F_Type_Length_TPID) + and then RFLX.Ethernet.Valid_Type_Length (RFLX.Ethernet.To_Base_Integer (Val)) + and then RFLX.Ethernet.Frame.Available_Space (Ctx, RFLX.Ethernet.Frame.F_Type_Length_TPID) >= RFLX.Ethernet.Frame.Field_Size (Ctx, RFLX.Ethernet.Frame.F_Type_Length_TPID) + and then RFLX.Ethernet.Frame.Field_Condition (Ctx, RFLX.Ethernet.Frame.F_Type_Length_TPID, RFLX.Ethernet.To_Base_Integer (Val)), Post => Has_Buffer (Ctx) and Valid (Ctx, F_Type_Length_TPID) @@ -551,11 +551,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_TPID) - and then RFLX.Ethernet.Valid_TPID (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_TPID) >= Field_Size (Ctx, F_TPID) - and then Field_Condition (Ctx, F_TPID, To_Base_Integer (Val)), + and then RFLX.Ethernet.Frame.Has_Buffer (Ctx) + and then RFLX.Ethernet.Frame.Valid_Next (Ctx, RFLX.Ethernet.Frame.F_TPID) + and then RFLX.Ethernet.Valid_TPID (RFLX.Ethernet.To_Base_Integer (Val)) + and then RFLX.Ethernet.Frame.Available_Space (Ctx, RFLX.Ethernet.Frame.F_TPID) >= RFLX.Ethernet.Frame.Field_Size (Ctx, RFLX.Ethernet.Frame.F_TPID) + and then RFLX.Ethernet.Frame.Field_Condition (Ctx, RFLX.Ethernet.Frame.F_TPID, RFLX.Ethernet.To_Base_Integer (Val)), Post => Has_Buffer (Ctx) and Valid (Ctx, F_TPID) @@ -581,11 +581,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_TCI) - and then RFLX.Ethernet.Valid_TCI (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_TCI) >= Field_Size (Ctx, F_TCI) - and then Field_Condition (Ctx, F_TCI, To_Base_Integer (Val)), + and then RFLX.Ethernet.Frame.Has_Buffer (Ctx) + and then RFLX.Ethernet.Frame.Valid_Next (Ctx, RFLX.Ethernet.Frame.F_TCI) + and then RFLX.Ethernet.Valid_TCI (RFLX.Ethernet.To_Base_Integer (Val)) + and then RFLX.Ethernet.Frame.Available_Space (Ctx, RFLX.Ethernet.Frame.F_TCI) >= RFLX.Ethernet.Frame.Field_Size (Ctx, RFLX.Ethernet.Frame.F_TCI) + and then RFLX.Ethernet.Frame.Field_Condition (Ctx, RFLX.Ethernet.Frame.F_TCI, RFLX.Ethernet.To_Base_Integer (Val)), Post => Has_Buffer (Ctx) and Valid (Ctx, F_TCI) @@ -612,11 +612,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Type_Length) - and then RFLX.Ethernet.Valid_Type_Length (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_Type_Length) >= Field_Size (Ctx, F_Type_Length) - and then Field_Condition (Ctx, F_Type_Length, To_Base_Integer (Val)), + and then RFLX.Ethernet.Frame.Has_Buffer (Ctx) + and then RFLX.Ethernet.Frame.Valid_Next (Ctx, RFLX.Ethernet.Frame.F_Type_Length) + and then RFLX.Ethernet.Valid_Type_Length (RFLX.Ethernet.To_Base_Integer (Val)) + and then RFLX.Ethernet.Frame.Available_Space (Ctx, RFLX.Ethernet.Frame.F_Type_Length) >= RFLX.Ethernet.Frame.Field_Size (Ctx, RFLX.Ethernet.Frame.F_Type_Length) + and then RFLX.Ethernet.Frame.Field_Condition (Ctx, RFLX.Ethernet.Frame.F_Type_Length, RFLX.Ethernet.To_Base_Integer (Val)), Post => Has_Buffer (Ctx) and Valid (Ctx, F_Type_Length) @@ -650,10 +650,10 @@ is procedure Initialize_Payload (Ctx : in out Context; Length : RFLX_Types.Length) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Payload) - and then Valid_Length (Ctx, F_Payload, Length) - and then Available_Space (Ctx, F_Payload) >= RFLX_Types.To_Bit_Length (Length), + and then RFLX.Ethernet.Frame.Has_Buffer (Ctx) + and then RFLX.Ethernet.Frame.Valid_Next (Ctx, RFLX.Ethernet.Frame.F_Payload) + and then RFLX.Ethernet.Frame.Valid_Length (Ctx, RFLX.Ethernet.Frame.F_Payload, Length) + and then RFLX.Ethernet.Frame.Available_Space (Ctx, RFLX.Ethernet.Frame.F_Payload) >= RFLX_Types.To_Bit_Length (Length), Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Payload) @@ -675,12 +675,12 @@ is procedure Set_Payload (Ctx : in out Context; Data : RFLX_Types.Bytes) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Payload) - and then Available_Space (Ctx, F_Payload) >= Field_Size (Ctx, F_Payload) - and then Valid_Length (Ctx, F_Payload, Data'Length) - and then Available_Space (Ctx, F_Payload) >= Data'Length * RFLX_Types.Byte'Size - and then Field_Condition (Ctx, F_Payload, 0, RFLX_Types.To_Bit_Length (Data'Length)), + and then RFLX.Ethernet.Frame.Has_Buffer (Ctx) + and then RFLX.Ethernet.Frame.Valid_Next (Ctx, RFLX.Ethernet.Frame.F_Payload) + and then RFLX.Ethernet.Frame.Available_Space (Ctx, RFLX.Ethernet.Frame.F_Payload) >= RFLX.Ethernet.Frame.Field_Size (Ctx, RFLX.Ethernet.Frame.F_Payload) + and then RFLX.Ethernet.Frame.Valid_Length (Ctx, RFLX.Ethernet.Frame.F_Payload, Data'Length) + and then RFLX.Ethernet.Frame.Available_Space (Ctx, RFLX.Ethernet.Frame.F_Payload) >= Data'Length * RFLX_Types.Byte'Size + and then RFLX.Ethernet.Frame.Field_Condition (Ctx, RFLX.Ethernet.Frame.F_Payload, 0, RFLX_Types.To_Bit_Length (Data'Length)), Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Payload) @@ -705,11 +705,11 @@ is procedure Generic_Set_Payload (Ctx : in out Context; Length : RFLX_Types.Length) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Payload) - and then Available_Space (Ctx, F_Payload) >= Field_Size (Ctx, F_Payload) - and then Valid_Length (Ctx, F_Payload, Length) - and then RFLX_Types.To_Length (Available_Space (Ctx, F_Payload)) >= Length + and then RFLX.Ethernet.Frame.Has_Buffer (Ctx) + and then RFLX.Ethernet.Frame.Valid_Next (Ctx, RFLX.Ethernet.Frame.F_Payload) + and then RFLX.Ethernet.Frame.Available_Space (Ctx, RFLX.Ethernet.Frame.F_Payload) >= RFLX.Ethernet.Frame.Field_Size (Ctx, RFLX.Ethernet.Frame.F_Payload) + and then RFLX.Ethernet.Frame.Valid_Length (Ctx, RFLX.Ethernet.Frame.F_Payload, Length) + and then RFLX_Types.To_Length (RFLX.Ethernet.Frame.Available_Space (Ctx, RFLX.Ethernet.Frame.F_Payload)) >= Length and then Process_Data_Pre (Length), Post => Has_Buffer (Ctx) @@ -940,7 +940,7 @@ private function Initialized (Ctx : Context) return Boolean is (Ctx.Verified_Last = Ctx.First - 1 and then Valid_Next (Ctx, F_Destination) - and then Field_First (Ctx, F_Destination) rem RFLX_Types.Byte'Size = 1 + and then RFLX.Ethernet.Frame.Field_First (Ctx, RFLX.Ethernet.Frame.F_Destination) rem RFLX_Types.Byte'Size = 1 and then Available_Space (Ctx, F_Destination) = Ctx.Last - Ctx.First + 1 and then (for all F in Field => Invalid (Ctx, F))); @@ -1163,7 +1163,7 @@ private Size = Field_Size (Ctx, Fld))) with Pre => - Valid_Next (Ctx, Fld); + RFLX.Ethernet.Frame.Valid_Next (Ctx, Fld); function Valid_Length (Ctx : Context; Fld : Field; Length : RFLX_Types.Length) return Boolean is (Valid_Size (Ctx, Fld, RFLX_Types.To_Bit_Length (Length))); diff --git a/tests/spark/generated/rflx-expression-message.adb b/tests/spark/generated/rflx-expression-message.adb index c3f006979..ac5858757 100644 --- a/tests/spark/generated/rflx-expression-message.adb +++ b/tests/spark/generated/rflx-expression-message.adb @@ -80,9 +80,9 @@ is F_Initial))) with Pre => - Has_Buffer (Ctx) - and Structural_Valid (Ctx, Fld) - and Valid_Predecessor (Ctx, Fld); + RFLX.Expression.Message.Has_Buffer (Ctx) + and RFLX.Expression.Message.Structural_Valid (Ctx, Fld) + and RFLX.Expression.Message.Valid_Predecessor (Ctx, Fld); pragma Warnings (On, "precondition is always False"); @@ -93,8 +93,8 @@ is and Field_First (Ctx, Fld) + Field_Size (Ctx, Fld) - 1 <= Ctx.Written_Last) with Pre => - Has_Buffer (Ctx) - and Valid_Next (Ctx, Fld); + RFLX.Expression.Message.Has_Buffer (Ctx) + and RFLX.Expression.Message.Valid_Next (Ctx, Fld); function Equal (Ctx : Context; Fld : Field; Data : RFLX_Types.Bytes) return Boolean is (Sufficient_Buffer_Length (Ctx, Fld) @@ -106,7 +106,7 @@ is procedure Reset_Dependent_Fields (Ctx : in out Context; Fld : Field) with Pre => - Valid_Next (Ctx, Fld), + RFLX.Expression.Message.Valid_Next (Ctx, Fld), Post => Valid_Next (Ctx, Fld) and Invalid (Ctx.Cursors (Fld)) @@ -198,11 +198,11 @@ is procedure Initialize_Payload_Private (Ctx : in out Context; Length : RFLX_Types.Length) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Payload) - and then Valid_Length (Ctx, F_Payload, Length) - and then RFLX_Types.To_Length (Available_Space (Ctx, F_Payload)) >= Length - and then Field_First (Ctx, F_Payload) mod RFLX_Types.Byte'Size = 1, + and then RFLX.Expression.Message.Has_Buffer (Ctx) + and then RFLX.Expression.Message.Valid_Next (Ctx, RFLX.Expression.Message.F_Payload) + and then RFLX.Expression.Message.Valid_Length (Ctx, RFLX.Expression.Message.F_Payload, Length) + and then RFLX_Types.To_Length (RFLX.Expression.Message.Available_Space (Ctx, RFLX.Expression.Message.F_Payload)) >= Length + and then RFLX.Expression.Message.Field_First (Ctx, RFLX.Expression.Message.F_Payload) mod RFLX_Types.Byte'Size = 1, Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Payload) diff --git a/tests/spark/generated/rflx-expression-message.ads b/tests/spark/generated/rflx-expression-message.ads index 40338d2d9..6ee450c6e 100644 --- a/tests/spark/generated/rflx-expression-message.ads +++ b/tests/spark/generated/rflx-expression-message.ads @@ -122,7 +122,7 @@ is procedure Reset (Ctx : in out Context) with Pre => not Ctx'Constrained - and Has_Buffer (Ctx), + and RFLX.Expression.Message.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -134,7 +134,7 @@ is procedure Reset (Ctx : in out Context; First : RFLX_Types.Bit_Index; Last : RFLX_Types.Bit_Length) with Pre => not Ctx'Constrained - and Has_Buffer (Ctx) + and RFLX.Expression.Message.Has_Buffer (Ctx) and RFLX_Types.To_Index (First) >= Ctx.Buffer_First and RFLX_Types.To_Index (Last) <= Ctx.Buffer_Last and First <= Last + 1 @@ -151,7 +151,7 @@ is procedure Take_Buffer (Ctx : in out Context; Buffer : out RFLX_Types.Bytes_Ptr) with Pre => - Has_Buffer (Ctx), + RFLX.Expression.Message.Has_Buffer (Ctx), Post => not Has_Buffer (Ctx) and Buffer /= null @@ -167,15 +167,15 @@ is procedure Copy (Ctx : Context; Buffer : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) - and then Byte_Size (Ctx) = Buffer'Length; + RFLX.Expression.Message.Has_Buffer (Ctx) + and then RFLX.Expression.Message.Structural_Valid_Message (Ctx) + and then RFLX.Expression.Message.Byte_Size (Ctx) = Buffer'Length; function Read (Ctx : Context) return RFLX_Types.Bytes with Ghost, Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx); + RFLX.Expression.Message.Has_Buffer (Ctx) + and then RFLX.Expression.Message.Structural_Valid_Message (Ctx); pragma Warnings (Off, "formal parameter ""*"" is not referenced"); @@ -189,8 +189,8 @@ is with function Pre (Buffer : RFLX_Types.Bytes) return Boolean is Always_Valid; procedure Generic_Read (Ctx : Context) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) + RFLX.Expression.Message.Has_Buffer (Ctx) + and then RFLX.Expression.Message.Structural_Valid_Message (Ctx) and then Pre (Read (Ctx)); pragma Warnings (Off, "formal parameter ""*"" is not referenced"); @@ -206,9 +206,9 @@ is procedure Generic_Write (Ctx : in out Context; Offset : RFLX_Types.Length := 0) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Offset < Buffer_Length (Ctx) - and then Pre (Buffer_Length (Ctx), Offset), + and then RFLX.Expression.Message.Has_Buffer (Ctx) + and then Offset < RFLX.Expression.Message.Buffer_Length (Ctx) + and then Pre (RFLX.Expression.Message.Buffer_Length (Ctx), Offset), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -220,7 +220,7 @@ is function Buffer_Length (Ctx : Context) return RFLX_Types.Length with Pre => - Has_Buffer (Ctx); + RFLX.Expression.Message.Has_Buffer (Ctx); function Size (Ctx : Context) return RFLX_Types.Bit_Length with Post => @@ -230,16 +230,16 @@ is function Message_Last (Ctx : Context) return RFLX_Types.Bit_Length with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx); + RFLX.Expression.Message.Has_Buffer (Ctx) + and then RFLX.Expression.Message.Structural_Valid_Message (Ctx); function Written_Last (Ctx : Context) return RFLX_Types.Bit_Length; procedure Data (Ctx : Context; Data : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) - and then Data'Length = Byte_Size (Ctx); + RFLX.Expression.Message.Has_Buffer (Ctx) + and then RFLX.Expression.Message.Structural_Valid_Message (Ctx) + and then Data'Length = RFLX.Expression.Message.Byte_Size (Ctx); pragma Warnings (Off, "postcondition does not mention function result"); @@ -253,7 +253,7 @@ is function Path_Condition (Ctx : Context; Fld : Field) return Boolean with Pre => - Valid_Predecessor (Ctx, Fld), + RFLX.Expression.Message.Valid_Predecessor (Ctx, Fld), Post => True; @@ -263,10 +263,10 @@ is function Field_Condition (Ctx : Context; Fld : Field; Agg : RFLX_Types.Bytes) return Boolean with Pre => - Has_Buffer (Ctx) - and then Valid_Predecessor (Ctx, Fld) - and then Valid_Next (Ctx, Fld) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld), + RFLX.Expression.Message.Has_Buffer (Ctx) + and then RFLX.Expression.Message.Valid_Predecessor (Ctx, Fld) + and then RFLX.Expression.Message.Valid_Next (Ctx, Fld) + and then RFLX.Expression.Message.Available_Space (Ctx, Fld) >= RFLX.Expression.Message.Field_Size (Ctx, Fld), Post => True; @@ -274,7 +274,7 @@ is function Field_Size (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld), + RFLX.Expression.Message.Valid_Next (Ctx, Fld), Post => (case Fld is when F_Payload => @@ -284,7 +284,7 @@ is function Field_First (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Index with Pre => - Valid_Next (Ctx, Fld), + RFLX.Expression.Message.Valid_Next (Ctx, Fld), Post => True; @@ -292,8 +292,8 @@ is function Field_Last (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld), + RFLX.Expression.Message.Valid_Next (Ctx, Fld) + and then RFLX.Expression.Message.Available_Space (Ctx, Fld) >= RFLX.Expression.Message.Field_Size (Ctx, Fld), Post => (case Fld is when F_Payload => @@ -319,16 +319,16 @@ is function Available_Space (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld); + RFLX.Expression.Message.Valid_Next (Ctx, Fld); function Equal (Ctx : Context; Fld : Field; Data : RFLX_Types.Bytes) return Boolean with Pre => - Has_Buffer (Ctx) - and Valid_Next (Ctx, Fld); + RFLX.Expression.Message.Has_Buffer (Ctx) + and RFLX.Expression.Message.Valid_Next (Ctx, Fld); procedure Verify (Ctx : in out Context; Fld : Field) with Pre => - Has_Buffer (Ctx), + RFLX.Expression.Message.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -338,7 +338,7 @@ is procedure Verify_Message (Ctx : in out Context) with Pre => - Has_Buffer (Ctx), + RFLX.Expression.Message.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -360,11 +360,11 @@ is function Structural_Valid_Message (Ctx : Context) return Boolean with Pre => - Has_Buffer (Ctx); + RFLX.Expression.Message.Has_Buffer (Ctx); function Valid_Message (Ctx : Context) return Boolean with Pre => - Has_Buffer (Ctx); + RFLX.Expression.Message.Has_Buffer (Ctx); pragma Warnings (Off, "postcondition does not mention function result"); @@ -381,18 +381,18 @@ is function Get_Payload (Ctx : Context) return RFLX_Types.Bytes with Ghost, Pre => - Has_Buffer (Ctx) - and then Structural_Valid (Ctx, F_Payload) - and then Valid_Next (Ctx, F_Payload), + RFLX.Expression.Message.Has_Buffer (Ctx) + and then RFLX.Expression.Message.Structural_Valid (Ctx, RFLX.Expression.Message.F_Payload) + and then RFLX.Expression.Message.Valid_Next (Ctx, RFLX.Expression.Message.F_Payload), Post => Get_Payload'Result'Length = RFLX_Types.To_Length (Field_Size (Ctx, F_Payload)); procedure Get_Payload (Ctx : Context; Data : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid (Ctx, F_Payload) - and then Valid_Next (Ctx, F_Payload) - and then Data'Length = RFLX_Types.To_Length (Field_Size (Ctx, F_Payload)), + RFLX.Expression.Message.Has_Buffer (Ctx) + and then RFLX.Expression.Message.Structural_Valid (Ctx, RFLX.Expression.Message.F_Payload) + and then RFLX.Expression.Message.Valid_Next (Ctx, RFLX.Expression.Message.F_Payload) + and then Data'Length = RFLX_Types.To_Length (RFLX.Expression.Message.Field_Size (Ctx, RFLX.Expression.Message.F_Payload)), Post => Equal (Ctx, F_Payload, Data); @@ -400,14 +400,14 @@ is with procedure Process_Payload (Payload : RFLX_Types.Bytes); procedure Generic_Get_Payload (Ctx : Context) with Pre => - Has_Buffer (Ctx) - and Present (Ctx, F_Payload); + RFLX.Expression.Message.Has_Buffer (Ctx) + and RFLX.Expression.Message.Present (Ctx, RFLX.Expression.Message.F_Payload); pragma Warnings (Off, "postcondition does not mention function result"); function Valid_Length (Ctx : Context; Fld : Field; Length : RFLX_Types.Length) return Boolean with Pre => - Valid_Next (Ctx, Fld), + RFLX.Expression.Message.Valid_Next (Ctx, Fld), Post => True; @@ -416,9 +416,9 @@ is procedure Initialize_Payload (Ctx : in out Context) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Payload) - and then Available_Space (Ctx, F_Payload) >= Field_Size (Ctx, F_Payload), + and then RFLX.Expression.Message.Has_Buffer (Ctx) + and then RFLX.Expression.Message.Valid_Next (Ctx, RFLX.Expression.Message.F_Payload) + and then RFLX.Expression.Message.Available_Space (Ctx, RFLX.Expression.Message.F_Payload) >= RFLX.Expression.Message.Field_Size (Ctx, RFLX.Expression.Message.F_Payload), Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Payload) @@ -434,12 +434,12 @@ is procedure Set_Payload (Ctx : in out Context; Data : RFLX_Types.Bytes) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Payload) - and then Available_Space (Ctx, F_Payload) >= Field_Size (Ctx, F_Payload) - and then Valid_Length (Ctx, F_Payload, Data'Length) - and then Available_Space (Ctx, F_Payload) >= Data'Length * RFLX_Types.Byte'Size - and then Field_Condition (Ctx, F_Payload, Data), + and then RFLX.Expression.Message.Has_Buffer (Ctx) + and then RFLX.Expression.Message.Valid_Next (Ctx, RFLX.Expression.Message.F_Payload) + and then RFLX.Expression.Message.Available_Space (Ctx, RFLX.Expression.Message.F_Payload) >= RFLX.Expression.Message.Field_Size (Ctx, RFLX.Expression.Message.F_Payload) + and then RFLX.Expression.Message.Valid_Length (Ctx, RFLX.Expression.Message.F_Payload, Data'Length) + and then RFLX.Expression.Message.Available_Space (Ctx, RFLX.Expression.Message.F_Payload) >= Data'Length * RFLX_Types.Byte'Size + and then RFLX.Expression.Message.Field_Condition (Ctx, RFLX.Expression.Message.F_Payload, Data), Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Payload) @@ -459,11 +459,11 @@ is procedure Generic_Set_Payload (Ctx : in out Context; Length : RFLX_Types.Length) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Payload) - and then Available_Space (Ctx, F_Payload) >= Field_Size (Ctx, F_Payload) - and then Valid_Length (Ctx, F_Payload, Length) - and then RFLX_Types.To_Length (Available_Space (Ctx, F_Payload)) >= Length + and then RFLX.Expression.Message.Has_Buffer (Ctx) + and then RFLX.Expression.Message.Valid_Next (Ctx, RFLX.Expression.Message.F_Payload) + and then RFLX.Expression.Message.Available_Space (Ctx, RFLX.Expression.Message.F_Payload) >= RFLX.Expression.Message.Field_Size (Ctx, RFLX.Expression.Message.F_Payload) + and then RFLX.Expression.Message.Valid_Length (Ctx, RFLX.Expression.Message.F_Payload, Length) + and then RFLX_Types.To_Length (RFLX.Expression.Message.Available_Space (Ctx, RFLX.Expression.Message.F_Payload)) >= Length and then Process_Data_Pre (Length), Post => Has_Buffer (Ctx) @@ -501,8 +501,8 @@ is procedure To_Structure (Ctx : Context; Struct : out Structure) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx), + RFLX.Expression.Message.Has_Buffer (Ctx) + and then RFLX.Expression.Message.Structural_Valid_Message (Ctx), Post => Valid_Structure (Struct); @@ -511,9 +511,9 @@ is procedure To_Context (Struct : Structure; Ctx : in out Context) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Structure (Struct) - and then Sufficient_Buffer_Length (Ctx, Struct), + and then RFLX.Expression.Message.Has_Buffer (Ctx) + and then RFLX.Expression.Message.Valid_Structure (Struct) + and then RFLX.Expression.Message.Sufficient_Buffer_Length (Ctx, Struct), Post => Has_Buffer (Ctx) and Structural_Valid_Message (Ctx) @@ -605,7 +605,7 @@ private function Initialized (Ctx : Context) return Boolean is (Ctx.Verified_Last = Ctx.First - 1 and then Valid_Next (Ctx, F_Payload) - and then Field_First (Ctx, F_Payload) rem RFLX_Types.Byte'Size = 1 + and then RFLX.Expression.Message.Field_First (Ctx, RFLX.Expression.Message.F_Payload) rem RFLX_Types.Byte'Size = 1 and then Available_Space (Ctx, F_Payload) = Ctx.Last - Ctx.First + 1 and then (for all F in Field => Invalid (Ctx, F))); @@ -711,7 +711,7 @@ private (Size = Field_Size (Ctx, Fld)) with Pre => - Valid_Next (Ctx, Fld); + RFLX.Expression.Message.Valid_Next (Ctx, Fld); function Valid_Length (Ctx : Context; Fld : Field; Length : RFLX_Types.Length) return Boolean is (Valid_Size (Ctx, Fld, RFLX_Types.To_Bit_Length (Length))); diff --git a/tests/spark/generated/rflx-fixed_size-simple_message.adb b/tests/spark/generated/rflx-fixed_size-simple_message.adb index 80142c079..c25124e4b 100644 --- a/tests/spark/generated/rflx-fixed_size-simple_message.adb +++ b/tests/spark/generated/rflx-fixed_size-simple_message.adb @@ -83,9 +83,9 @@ is F_Final)) with Pre => - Has_Buffer (Ctx) - and Structural_Valid (Ctx, Fld) - and Valid_Predecessor (Ctx, Fld); + RFLX.Fixed_Size.Simple_Message.Has_Buffer (Ctx) + and RFLX.Fixed_Size.Simple_Message.Structural_Valid (Ctx, Fld) + and RFLX.Fixed_Size.Simple_Message.Valid_Predecessor (Ctx, Fld); pragma Warnings (On, "precondition is always False"); @@ -103,8 +103,8 @@ is and Field_First (Ctx, Fld) + Field_Size (Ctx, Fld) - 1 <= Ctx.Written_Last) with Pre => - Has_Buffer (Ctx) - and Valid_Next (Ctx, Fld); + RFLX.Fixed_Size.Simple_Message.Has_Buffer (Ctx) + and RFLX.Fixed_Size.Simple_Message.Valid_Next (Ctx, Fld); function Equal (Ctx : Context; Fld : Field; Data : RFLX_Types.Bytes) return Boolean is (Sufficient_Buffer_Length (Ctx, Fld) @@ -118,7 +118,7 @@ is procedure Reset_Dependent_Fields (Ctx : in out Context; Fld : Field) with Pre => - Valid_Next (Ctx, Fld), + RFLX.Fixed_Size.Simple_Message.Valid_Next (Ctx, Fld), Post => Valid_Next (Ctx, Fld) and Invalid (Ctx.Cursors (Fld)) @@ -160,10 +160,10 @@ is function Get (Ctx : Context; Fld : Field) return RFLX_Types.Base_Integer with Pre => - Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) - and then Sufficient_Buffer_Length (Ctx, Fld) - and then not Composite_Field (Fld) + RFLX.Fixed_Size.Simple_Message.Has_Buffer (Ctx) + and then RFLX.Fixed_Size.Simple_Message.Valid_Next (Ctx, Fld) + and then RFLX.Fixed_Size.Simple_Message.Sufficient_Buffer_Length (Ctx, Fld) + and then not RFLX.Fixed_Size.Simple_Message.Composite_Field (Fld) is First : constant RFLX_Types.Bit_Index := Field_First (Ctx, Fld); Last : constant RFLX_Types.Bit_Index := Field_Last (Ctx, Fld); @@ -249,12 +249,17 @@ is procedure Set (Ctx : in out Context; Fld : Field; Val : RFLX_Types.Base_Integer; Size : RFLX_Types.Bit_Length; State_Valid : Boolean; Buffer_First : out RFLX_Types.Index; Buffer_Last : out RFLX_Types.Index; Offset : out RFLX_Types.Offset) with Pre => - Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) - and then Valid_Value (Fld, Val) - and then Valid_Size (Ctx, Fld, Size) - and then Size <= Available_Space (Ctx, Fld) - and then (if Composite_Field (Fld) then Size mod RFLX_Types.Byte'Size = 0 else State_Valid), + RFLX.Fixed_Size.Simple_Message.Has_Buffer (Ctx) + and then RFLX.Fixed_Size.Simple_Message.Valid_Next (Ctx, Fld) + and then RFLX.Fixed_Size.Simple_Message.Valid_Value (Fld, Val) + and then RFLX.Fixed_Size.Simple_Message.Valid_Size (Ctx, Fld, Size) + and then Size <= RFLX.Fixed_Size.Simple_Message.Available_Space (Ctx, Fld) + and then (if + RFLX.Fixed_Size.Simple_Message.Composite_Field (Fld) + then + Size mod RFLX_Types.Byte'Size = 0 + else + State_Valid), Post => Valid_Next (Ctx, Fld) and then Invalid_Successor (Ctx, Fld) @@ -318,14 +323,14 @@ is procedure Set_Scalar (Ctx : in out Context; Fld : Field; Val : RFLX_Types.Base_Integer) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) + and then RFLX.Fixed_Size.Simple_Message.Has_Buffer (Ctx) + and then RFLX.Fixed_Size.Simple_Message.Valid_Next (Ctx, Fld) and then Fld in F_Message_Type - and then Valid_Value (Fld, Val) - and then Valid_Size (Ctx, Fld, Field_Size (Ctx, Fld)) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld) - and then Field_Size (Ctx, Fld) in 1 .. RFLX_Types.Base_Integer'Size - and then RFLX_Types.Fits_Into (Val, Natural (Field_Size (Ctx, Fld))), + and then RFLX.Fixed_Size.Simple_Message.Valid_Value (Fld, Val) + and then RFLX.Fixed_Size.Simple_Message.Valid_Size (Ctx, Fld, RFLX.Fixed_Size.Simple_Message.Field_Size (Ctx, Fld)) + and then RFLX.Fixed_Size.Simple_Message.Available_Space (Ctx, Fld) >= RFLX.Fixed_Size.Simple_Message.Field_Size (Ctx, Fld) + and then RFLX.Fixed_Size.Simple_Message.Field_Size (Ctx, Fld) in 1 .. RFLX_Types.Base_Integer'Size + and then RFLX_Types.Fits_Into (Val, Natural (RFLX.Fixed_Size.Simple_Message.Field_Size (Ctx, Fld))), Post => Has_Buffer (Ctx) and Valid (Ctx, Fld) @@ -362,17 +367,17 @@ is procedure Set_Message_Type (Ctx : in out Context; Val : RFLX.Universal.Option_Type_Enum) is begin - Set_Scalar (Ctx, F_Message_Type, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_Message_Type, RFLX.Universal.To_Base_Integer (Val)); end Set_Message_Type; procedure Set_Message_Type (Ctx : in out Context; Val : RFLX.Universal.Option_Type) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Message_Type) + and then RFLX.Fixed_Size.Simple_Message.Has_Buffer (Ctx) + and then RFLX.Fixed_Size.Simple_Message.Valid_Next (Ctx, RFLX.Fixed_Size.Simple_Message.F_Message_Type) and then RFLX.Universal.Valid_Option_Type (Val) - and then Available_Space (Ctx, F_Message_Type) >= Field_Size (Ctx, F_Message_Type) - and then Field_Condition (Ctx, F_Message_Type, To_Base_Integer (Val)), + and then RFLX.Fixed_Size.Simple_Message.Available_Space (Ctx, RFLX.Fixed_Size.Simple_Message.F_Message_Type) >= RFLX.Fixed_Size.Simple_Message.Field_Size (Ctx, RFLX.Fixed_Size.Simple_Message.F_Message_Type) + and then RFLX.Fixed_Size.Simple_Message.Field_Condition (Ctx, RFLX.Fixed_Size.Simple_Message.F_Message_Type, RFLX.Universal.To_Base_Integer (Val)), Post => Has_Buffer (Ctx) and Valid (Ctx, F_Message_Type) @@ -393,17 +398,17 @@ is and Field_First (Ctx, F_Message_Type) = Field_First (Ctx, F_Message_Type)'Old is begin - Set_Scalar (Ctx, F_Message_Type, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_Message_Type, RFLX.Universal.To_Base_Integer (Val)); end Set_Message_Type; procedure Initialize_Data_Private (Ctx : in out Context; Length : RFLX_Types.Length) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Data) - and then Valid_Length (Ctx, F_Data, Length) - and then RFLX_Types.To_Length (Available_Space (Ctx, F_Data)) >= Length - and then Field_First (Ctx, F_Data) mod RFLX_Types.Byte'Size = 1, + and then RFLX.Fixed_Size.Simple_Message.Has_Buffer (Ctx) + and then RFLX.Fixed_Size.Simple_Message.Valid_Next (Ctx, RFLX.Fixed_Size.Simple_Message.F_Data) + and then RFLX.Fixed_Size.Simple_Message.Valid_Length (Ctx, RFLX.Fixed_Size.Simple_Message.F_Data, Length) + and then RFLX_Types.To_Length (RFLX.Fixed_Size.Simple_Message.Available_Space (Ctx, RFLX.Fixed_Size.Simple_Message.F_Data)) >= Length + and then RFLX.Fixed_Size.Simple_Message.Field_First (Ctx, RFLX.Fixed_Size.Simple_Message.F_Data) mod RFLX_Types.Byte'Size = 1, Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Data) diff --git a/tests/spark/generated/rflx-fixed_size-simple_message.ads b/tests/spark/generated/rflx-fixed_size-simple_message.ads index a1800c7ca..9dad8060a 100644 --- a/tests/spark/generated/rflx-fixed_size-simple_message.ads +++ b/tests/spark/generated/rflx-fixed_size-simple_message.ads @@ -126,7 +126,7 @@ is procedure Reset (Ctx : in out Context) with Pre => not Ctx'Constrained - and Has_Buffer (Ctx), + and RFLX.Fixed_Size.Simple_Message.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -138,7 +138,7 @@ is procedure Reset (Ctx : in out Context; First : RFLX_Types.Bit_Index; Last : RFLX_Types.Bit_Length) with Pre => not Ctx'Constrained - and Has_Buffer (Ctx) + and RFLX.Fixed_Size.Simple_Message.Has_Buffer (Ctx) and RFLX_Types.To_Index (First) >= Ctx.Buffer_First and RFLX_Types.To_Index (Last) <= Ctx.Buffer_Last and First <= Last + 1 @@ -155,7 +155,7 @@ is procedure Take_Buffer (Ctx : in out Context; Buffer : out RFLX_Types.Bytes_Ptr) with Pre => - Has_Buffer (Ctx), + RFLX.Fixed_Size.Simple_Message.Has_Buffer (Ctx), Post => not Has_Buffer (Ctx) and Buffer /= null @@ -171,15 +171,15 @@ is procedure Copy (Ctx : Context; Buffer : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) - and then Byte_Size (Ctx) = Buffer'Length; + RFLX.Fixed_Size.Simple_Message.Has_Buffer (Ctx) + and then RFLX.Fixed_Size.Simple_Message.Structural_Valid_Message (Ctx) + and then RFLX.Fixed_Size.Simple_Message.Byte_Size (Ctx) = Buffer'Length; function Read (Ctx : Context) return RFLX_Types.Bytes with Ghost, Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx); + RFLX.Fixed_Size.Simple_Message.Has_Buffer (Ctx) + and then RFLX.Fixed_Size.Simple_Message.Structural_Valid_Message (Ctx); pragma Warnings (Off, "formal parameter ""*"" is not referenced"); @@ -193,8 +193,8 @@ is with function Pre (Buffer : RFLX_Types.Bytes) return Boolean is Always_Valid; procedure Generic_Read (Ctx : Context) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) + RFLX.Fixed_Size.Simple_Message.Has_Buffer (Ctx) + and then RFLX.Fixed_Size.Simple_Message.Structural_Valid_Message (Ctx) and then Pre (Read (Ctx)); pragma Warnings (Off, "formal parameter ""*"" is not referenced"); @@ -210,9 +210,9 @@ is procedure Generic_Write (Ctx : in out Context; Offset : RFLX_Types.Length := 0) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Offset < Buffer_Length (Ctx) - and then Pre (Buffer_Length (Ctx), Offset), + and then RFLX.Fixed_Size.Simple_Message.Has_Buffer (Ctx) + and then Offset < RFLX.Fixed_Size.Simple_Message.Buffer_Length (Ctx) + and then Pre (RFLX.Fixed_Size.Simple_Message.Buffer_Length (Ctx), Offset), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -224,7 +224,7 @@ is function Buffer_Length (Ctx : Context) return RFLX_Types.Length with Pre => - Has_Buffer (Ctx); + RFLX.Fixed_Size.Simple_Message.Has_Buffer (Ctx); function Size (Ctx : Context) return RFLX_Types.Bit_Length with Post => @@ -234,16 +234,16 @@ is function Message_Last (Ctx : Context) return RFLX_Types.Bit_Length with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx); + RFLX.Fixed_Size.Simple_Message.Has_Buffer (Ctx) + and then RFLX.Fixed_Size.Simple_Message.Structural_Valid_Message (Ctx); function Written_Last (Ctx : Context) return RFLX_Types.Bit_Length; procedure Data (Ctx : Context; Data : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) - and then Data'Length = Byte_Size (Ctx); + RFLX.Fixed_Size.Simple_Message.Has_Buffer (Ctx) + and then RFLX.Fixed_Size.Simple_Message.Structural_Valid_Message (Ctx) + and then Data'Length = RFLX.Fixed_Size.Simple_Message.Byte_Size (Ctx); pragma Warnings (Off, "postcondition does not mention function result"); @@ -257,7 +257,7 @@ is function Path_Condition (Ctx : Context; Fld : Field) return Boolean with Pre => - Valid_Predecessor (Ctx, Fld), + RFLX.Fixed_Size.Simple_Message.Valid_Predecessor (Ctx, Fld), Post => True; @@ -267,11 +267,11 @@ is function Field_Condition (Ctx : Context; Fld : Field; Val : RFLX_Types.Base_Integer) return Boolean with Pre => - Has_Buffer (Ctx) - and then Valid_Predecessor (Ctx, Fld) - and then Valid_Value (Fld, Val) - and then Valid_Next (Ctx, Fld) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld), + RFLX.Fixed_Size.Simple_Message.Has_Buffer (Ctx) + and then RFLX.Fixed_Size.Simple_Message.Valid_Predecessor (Ctx, Fld) + and then RFLX.Fixed_Size.Simple_Message.Valid_Value (Fld, Val) + and then RFLX.Fixed_Size.Simple_Message.Valid_Next (Ctx, Fld) + and then RFLX.Fixed_Size.Simple_Message.Available_Space (Ctx, Fld) >= RFLX.Fixed_Size.Simple_Message.Field_Size (Ctx, Fld), Post => True; @@ -279,7 +279,7 @@ is function Field_Size (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld), + RFLX.Fixed_Size.Simple_Message.Valid_Next (Ctx, Fld), Post => (case Fld is when F_Data => @@ -291,7 +291,7 @@ is function Field_First (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Index with Pre => - Valid_Next (Ctx, Fld), + RFLX.Fixed_Size.Simple_Message.Valid_Next (Ctx, Fld), Post => True; @@ -299,8 +299,8 @@ is function Field_Last (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld), + RFLX.Fixed_Size.Simple_Message.Valid_Next (Ctx, Fld) + and then RFLX.Fixed_Size.Simple_Message.Available_Space (Ctx, Fld) >= RFLX.Fixed_Size.Simple_Message.Field_Size (Ctx, Fld), Post => (case Fld is when F_Data => @@ -328,16 +328,16 @@ is function Available_Space (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld); + RFLX.Fixed_Size.Simple_Message.Valid_Next (Ctx, Fld); function Equal (Ctx : Context; Fld : Field; Data : RFLX_Types.Bytes) return Boolean with Pre => - Has_Buffer (Ctx) - and Valid_Next (Ctx, Fld); + RFLX.Fixed_Size.Simple_Message.Has_Buffer (Ctx) + and RFLX.Fixed_Size.Simple_Message.Valid_Next (Ctx, Fld); procedure Verify (Ctx : in out Context; Fld : Field) with Pre => - Has_Buffer (Ctx), + RFLX.Fixed_Size.Simple_Message.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -347,7 +347,7 @@ is procedure Verify_Message (Ctx : in out Context) with Pre => - Has_Buffer (Ctx), + RFLX.Fixed_Size.Simple_Message.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -369,11 +369,11 @@ is function Structural_Valid_Message (Ctx : Context) return Boolean with Pre => - Has_Buffer (Ctx); + RFLX.Fixed_Size.Simple_Message.Has_Buffer (Ctx); function Valid_Message (Ctx : Context) return Boolean with Pre => - Has_Buffer (Ctx); + RFLX.Fixed_Size.Simple_Message.Has_Buffer (Ctx); pragma Warnings (Off, "postcondition does not mention function result"); @@ -387,25 +387,25 @@ is function Get_Message_Type (Ctx : Context) return RFLX.Universal.Option_Type with Pre => - Valid (Ctx, F_Message_Type); + RFLX.Fixed_Size.Simple_Message.Valid (Ctx, RFLX.Fixed_Size.Simple_Message.F_Message_Type); pragma Warnings (On, "precondition is always False"); function Get_Data (Ctx : Context) return RFLX_Types.Bytes with Ghost, Pre => - Has_Buffer (Ctx) - and then Structural_Valid (Ctx, F_Data) - and then Valid_Next (Ctx, F_Data), + RFLX.Fixed_Size.Simple_Message.Has_Buffer (Ctx) + and then RFLX.Fixed_Size.Simple_Message.Structural_Valid (Ctx, RFLX.Fixed_Size.Simple_Message.F_Data) + and then RFLX.Fixed_Size.Simple_Message.Valid_Next (Ctx, RFLX.Fixed_Size.Simple_Message.F_Data), Post => Get_Data'Result'Length = RFLX_Types.To_Length (Field_Size (Ctx, F_Data)); procedure Get_Data (Ctx : Context; Data : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid (Ctx, F_Data) - and then Valid_Next (Ctx, F_Data) - and then Data'Length = RFLX_Types.To_Length (Field_Size (Ctx, F_Data)), + RFLX.Fixed_Size.Simple_Message.Has_Buffer (Ctx) + and then RFLX.Fixed_Size.Simple_Message.Structural_Valid (Ctx, RFLX.Fixed_Size.Simple_Message.F_Data) + and then RFLX.Fixed_Size.Simple_Message.Valid_Next (Ctx, RFLX.Fixed_Size.Simple_Message.F_Data) + and then Data'Length = RFLX_Types.To_Length (RFLX.Fixed_Size.Simple_Message.Field_Size (Ctx, RFLX.Fixed_Size.Simple_Message.F_Data)), Post => Equal (Ctx, F_Data, Data); @@ -413,14 +413,14 @@ is with procedure Process_Data (Data : RFLX_Types.Bytes); procedure Generic_Get_Data (Ctx : Context) with Pre => - Has_Buffer (Ctx) - and Present (Ctx, F_Data); + RFLX.Fixed_Size.Simple_Message.Has_Buffer (Ctx) + and RFLX.Fixed_Size.Simple_Message.Present (Ctx, RFLX.Fixed_Size.Simple_Message.F_Data); pragma Warnings (Off, "postcondition does not mention function result"); function Valid_Length (Ctx : Context; Fld : Field; Length : RFLX_Types.Length) return Boolean with Pre => - Valid_Next (Ctx, Fld), + RFLX.Fixed_Size.Simple_Message.Valid_Next (Ctx, Fld), Post => True; @@ -432,11 +432,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Message_Type) - and then RFLX.Universal.Valid_Option_Type (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_Message_Type) >= Field_Size (Ctx, F_Message_Type) - and then Field_Condition (Ctx, F_Message_Type, To_Base_Integer (Val)), + and then RFLX.Fixed_Size.Simple_Message.Has_Buffer (Ctx) + and then RFLX.Fixed_Size.Simple_Message.Valid_Next (Ctx, RFLX.Fixed_Size.Simple_Message.F_Message_Type) + and then RFLX.Universal.Valid_Option_Type (RFLX.Universal.To_Base_Integer (Val)) + and then RFLX.Fixed_Size.Simple_Message.Available_Space (Ctx, RFLX.Fixed_Size.Simple_Message.F_Message_Type) >= RFLX.Fixed_Size.Simple_Message.Field_Size (Ctx, RFLX.Fixed_Size.Simple_Message.F_Message_Type) + and then RFLX.Fixed_Size.Simple_Message.Field_Condition (Ctx, RFLX.Fixed_Size.Simple_Message.F_Message_Type, RFLX.Universal.To_Base_Integer (Val)), Post => Has_Buffer (Ctx) and Valid (Ctx, F_Message_Type) @@ -461,9 +461,9 @@ is procedure Initialize_Data (Ctx : in out Context) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Data) - and then Available_Space (Ctx, F_Data) >= Field_Size (Ctx, F_Data), + and then RFLX.Fixed_Size.Simple_Message.Has_Buffer (Ctx) + and then RFLX.Fixed_Size.Simple_Message.Valid_Next (Ctx, RFLX.Fixed_Size.Simple_Message.F_Data) + and then RFLX.Fixed_Size.Simple_Message.Available_Space (Ctx, RFLX.Fixed_Size.Simple_Message.F_Data) >= RFLX.Fixed_Size.Simple_Message.Field_Size (Ctx, RFLX.Fixed_Size.Simple_Message.F_Data), Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Data) @@ -481,12 +481,12 @@ is procedure Set_Data (Ctx : in out Context; Data : RFLX_Types.Bytes) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Data) - and then Available_Space (Ctx, F_Data) >= Field_Size (Ctx, F_Data) - and then Valid_Length (Ctx, F_Data, Data'Length) - and then Available_Space (Ctx, F_Data) >= Data'Length * RFLX_Types.Byte'Size - and then Field_Condition (Ctx, F_Data, 0), + and then RFLX.Fixed_Size.Simple_Message.Has_Buffer (Ctx) + and then RFLX.Fixed_Size.Simple_Message.Valid_Next (Ctx, RFLX.Fixed_Size.Simple_Message.F_Data) + and then RFLX.Fixed_Size.Simple_Message.Available_Space (Ctx, RFLX.Fixed_Size.Simple_Message.F_Data) >= RFLX.Fixed_Size.Simple_Message.Field_Size (Ctx, RFLX.Fixed_Size.Simple_Message.F_Data) + and then RFLX.Fixed_Size.Simple_Message.Valid_Length (Ctx, RFLX.Fixed_Size.Simple_Message.F_Data, Data'Length) + and then RFLX.Fixed_Size.Simple_Message.Available_Space (Ctx, RFLX.Fixed_Size.Simple_Message.F_Data) >= Data'Length * RFLX_Types.Byte'Size + and then RFLX.Fixed_Size.Simple_Message.Field_Condition (Ctx, RFLX.Fixed_Size.Simple_Message.F_Data, 0), Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Data) @@ -508,11 +508,11 @@ is procedure Generic_Set_Data (Ctx : in out Context; Length : RFLX_Types.Length) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Data) - and then Available_Space (Ctx, F_Data) >= Field_Size (Ctx, F_Data) - and then Valid_Length (Ctx, F_Data, Length) - and then RFLX_Types.To_Length (Available_Space (Ctx, F_Data)) >= Length + and then RFLX.Fixed_Size.Simple_Message.Has_Buffer (Ctx) + and then RFLX.Fixed_Size.Simple_Message.Valid_Next (Ctx, RFLX.Fixed_Size.Simple_Message.F_Data) + and then RFLX.Fixed_Size.Simple_Message.Available_Space (Ctx, RFLX.Fixed_Size.Simple_Message.F_Data) >= RFLX.Fixed_Size.Simple_Message.Field_Size (Ctx, RFLX.Fixed_Size.Simple_Message.F_Data) + and then RFLX.Fixed_Size.Simple_Message.Valid_Length (Ctx, RFLX.Fixed_Size.Simple_Message.F_Data, Length) + and then RFLX_Types.To_Length (RFLX.Fixed_Size.Simple_Message.Available_Space (Ctx, RFLX.Fixed_Size.Simple_Message.F_Data)) >= Length and then Process_Data_Pre (Length), Post => Has_Buffer (Ctx) @@ -553,8 +553,8 @@ is procedure To_Structure (Ctx : Context; Struct : out Structure) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx), + RFLX.Fixed_Size.Simple_Message.Has_Buffer (Ctx) + and then RFLX.Fixed_Size.Simple_Message.Structural_Valid_Message (Ctx), Post => Valid_Structure (Struct); @@ -563,9 +563,9 @@ is procedure To_Context (Struct : Structure; Ctx : in out Context) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Structure (Struct) - and then Sufficient_Buffer_Length (Ctx, Struct), + and then RFLX.Fixed_Size.Simple_Message.Has_Buffer (Ctx) + and then RFLX.Fixed_Size.Simple_Message.Valid_Structure (Struct) + and then RFLX.Fixed_Size.Simple_Message.Sufficient_Buffer_Length (Ctx, Struct), Post => Has_Buffer (Ctx) and Structural_Valid_Message (Ctx) @@ -671,7 +671,7 @@ private function Initialized (Ctx : Context) return Boolean is (Ctx.Verified_Last = Ctx.First - 1 and then Valid_Next (Ctx, F_Message_Type) - and then Field_First (Ctx, F_Message_Type) rem RFLX_Types.Byte'Size = 1 + and then RFLX.Fixed_Size.Simple_Message.Field_First (Ctx, RFLX.Fixed_Size.Simple_Message.F_Message_Type) rem RFLX_Types.Byte'Size = 1 and then Available_Space (Ctx, F_Message_Type) = Ctx.Last - Ctx.First + 1 and then (for all F in Field => Invalid (Ctx, F))); @@ -793,7 +793,7 @@ private (Size = Field_Size (Ctx, Fld)) with Pre => - Valid_Next (Ctx, Fld); + RFLX.Fixed_Size.Simple_Message.Valid_Next (Ctx, Fld); function Valid_Length (Ctx : Context; Fld : Field; Length : RFLX_Types.Length) return Boolean is (Valid_Size (Ctx, Fld, RFLX_Types.To_Bit_Length (Length))); diff --git a/tests/spark/generated/rflx-icmp-message.adb b/tests/spark/generated/rflx-icmp-message.adb index 49fbb07a5..0c0939e7e 100644 --- a/tests/spark/generated/rflx-icmp-message.adb +++ b/tests/spark/generated/rflx-icmp-message.adb @@ -163,9 +163,9 @@ is F_Final)) with Pre => - Has_Buffer (Ctx) - and Structural_Valid (Ctx, Fld) - and Valid_Predecessor (Ctx, Fld); + RFLX.ICMP.Message.Has_Buffer (Ctx) + and RFLX.ICMP.Message.Structural_Valid (Ctx, Fld) + and RFLX.ICMP.Message.Valid_Predecessor (Ctx, Fld); pragma Warnings (On, "precondition is always False"); @@ -212,8 +212,8 @@ is and Field_First (Ctx, Fld) + Field_Size (Ctx, Fld) - 1 <= Ctx.Written_Last) with Pre => - Has_Buffer (Ctx) - and Valid_Next (Ctx, Fld); + RFLX.ICMP.Message.Has_Buffer (Ctx) + and RFLX.ICMP.Message.Valid_Next (Ctx, Fld); function Equal (Ctx : Context; Fld : Field; Data : RFLX_Types.Bytes) return Boolean is (Sufficient_Buffer_Length (Ctx, Fld) @@ -227,7 +227,7 @@ is procedure Reset_Dependent_Fields (Ctx : in out Context; Fld : Field) with Pre => - Valid_Next (Ctx, Fld), + RFLX.ICMP.Message.Valid_Next (Ctx, Fld), Post => Valid_Next (Ctx, Fld) and Invalid (Ctx.Cursors (Fld)) @@ -269,10 +269,10 @@ is function Get (Ctx : Context; Fld : Field) return RFLX_Types.Base_Integer with Pre => - Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) - and then Sufficient_Buffer_Length (Ctx, Fld) - and then not Composite_Field (Fld) + RFLX.ICMP.Message.Has_Buffer (Ctx) + and then RFLX.ICMP.Message.Valid_Next (Ctx, Fld) + and then RFLX.ICMP.Message.Sufficient_Buffer_Length (Ctx, Fld) + and then not RFLX.ICMP.Message.Composite_Field (Fld) is First : constant RFLX_Types.Bit_Index := Field_First (Ctx, Fld); Last : constant RFLX_Types.Bit_Index := Field_Last (Ctx, Fld); @@ -379,12 +379,12 @@ is procedure Set (Ctx : in out Context; Fld : Field; Val : RFLX_Types.Base_Integer; Size : RFLX_Types.Bit_Length; State_Valid : Boolean; Buffer_First : out RFLX_Types.Index; Buffer_Last : out RFLX_Types.Index; Offset : out RFLX_Types.Offset) with Pre => - Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) - and then Valid_Value (Fld, Val) - and then Valid_Size (Ctx, Fld, Size) - and then Size <= Available_Space (Ctx, Fld) - and then (if Composite_Field (Fld) then Size mod RFLX_Types.Byte'Size = 0 else State_Valid), + RFLX.ICMP.Message.Has_Buffer (Ctx) + and then RFLX.ICMP.Message.Valid_Next (Ctx, Fld) + and then RFLX.ICMP.Message.Valid_Value (Fld, Val) + and then RFLX.ICMP.Message.Valid_Size (Ctx, Fld, Size) + and then Size <= RFLX.ICMP.Message.Available_Space (Ctx, Fld) + and then (if RFLX.ICMP.Message.Composite_Field (Fld) then Size mod RFLX_Types.Byte'Size = 0 else State_Valid), Post => Valid_Next (Ctx, Fld) and then Invalid_Successor (Ctx, Fld) @@ -594,14 +594,14 @@ is procedure Set_Scalar (Ctx : in out Context; Fld : Field; Val : RFLX_Types.Base_Integer) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) + and then RFLX.ICMP.Message.Has_Buffer (Ctx) + and then RFLX.ICMP.Message.Valid_Next (Ctx, Fld) and then Fld in F_Tag | F_Code_Destination_Unreachable | F_Code_Redirect | F_Code_Time_Exceeded | F_Code_Zero | F_Checksum | F_Gateway_Internet_Address | F_Identifier | F_Pointer | F_Unused_32 | F_Sequence_Number | F_Unused_24 | F_Originate_Timestamp | F_Receive_Timestamp | F_Transmit_Timestamp - and then Valid_Value (Fld, Val) - and then Valid_Size (Ctx, Fld, Field_Size (Ctx, Fld)) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld) - and then Field_Size (Ctx, Fld) in 1 .. RFLX_Types.Base_Integer'Size - and then RFLX_Types.Fits_Into (Val, Natural (Field_Size (Ctx, Fld))), + and then RFLX.ICMP.Message.Valid_Value (Fld, Val) + and then RFLX.ICMP.Message.Valid_Size (Ctx, Fld, RFLX.ICMP.Message.Field_Size (Ctx, Fld)) + and then RFLX.ICMP.Message.Available_Space (Ctx, Fld) >= RFLX.ICMP.Message.Field_Size (Ctx, Fld) + and then RFLX.ICMP.Message.Field_Size (Ctx, Fld) in 1 .. RFLX_Types.Base_Integer'Size + and then RFLX_Types.Fits_Into (Val, Natural (RFLX.ICMP.Message.Field_Size (Ctx, Fld))), Post => Has_Buffer (Ctx) and Valid (Ctx, Fld) @@ -747,77 +747,77 @@ is procedure Set_Tag (Ctx : in out Context; Val : RFLX.ICMP.Tag) is begin - Set_Scalar (Ctx, F_Tag, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_Tag, RFLX.ICMP.To_Base_Integer (Val)); end Set_Tag; procedure Set_Code_Destination_Unreachable (Ctx : in out Context; Val : RFLX.ICMP.Code_Destination_Unreachable) is begin - Set_Scalar (Ctx, F_Code_Destination_Unreachable, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_Code_Destination_Unreachable, RFLX.ICMP.To_Base_Integer (Val)); end Set_Code_Destination_Unreachable; procedure Set_Code_Redirect (Ctx : in out Context; Val : RFLX.ICMP.Code_Redirect) is begin - Set_Scalar (Ctx, F_Code_Redirect, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_Code_Redirect, RFLX.ICMP.To_Base_Integer (Val)); end Set_Code_Redirect; procedure Set_Code_Time_Exceeded (Ctx : in out Context; Val : RFLX.ICMP.Code_Time_Exceeded) is begin - Set_Scalar (Ctx, F_Code_Time_Exceeded, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_Code_Time_Exceeded, RFLX.ICMP.To_Base_Integer (Val)); end Set_Code_Time_Exceeded; procedure Set_Code_Zero (Ctx : in out Context; Val : RFLX.ICMP.Code_Zero) is begin - Set_Scalar (Ctx, F_Code_Zero, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_Code_Zero, RFLX.ICMP.To_Base_Integer (Val)); end Set_Code_Zero; procedure Set_Checksum (Ctx : in out Context; Val : RFLX.ICMP.Checksum) is begin - Set_Scalar (Ctx, F_Checksum, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_Checksum, RFLX.ICMP.To_Base_Integer (Val)); end Set_Checksum; procedure Set_Gateway_Internet_Address (Ctx : in out Context; Val : RFLX.ICMP.Gateway_Internet_Address) is begin - Set_Scalar (Ctx, F_Gateway_Internet_Address, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_Gateway_Internet_Address, RFLX.ICMP.To_Base_Integer (Val)); end Set_Gateway_Internet_Address; procedure Set_Identifier (Ctx : in out Context; Val : RFLX.ICMP.Identifier) is begin - Set_Scalar (Ctx, F_Identifier, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_Identifier, RFLX.ICMP.To_Base_Integer (Val)); end Set_Identifier; procedure Set_Pointer (Ctx : in out Context; Val : RFLX.ICMP.Pointer) is begin - Set_Scalar (Ctx, F_Pointer, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_Pointer, RFLX.ICMP.To_Base_Integer (Val)); end Set_Pointer; procedure Set_Unused_32 (Ctx : in out Context; Val : RFLX.ICMP.Unused_32) is begin - Set_Scalar (Ctx, F_Unused_32, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_Unused_32, RFLX.ICMP.To_Base_Integer (Val)); end Set_Unused_32; procedure Set_Sequence_Number (Ctx : in out Context; Val : RFLX.ICMP.Sequence_Number) is begin - Set_Scalar (Ctx, F_Sequence_Number, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_Sequence_Number, RFLX.ICMP.To_Base_Integer (Val)); end Set_Sequence_Number; procedure Set_Unused_24 (Ctx : in out Context; Val : RFLX.ICMP.Unused_24) is begin - Set_Scalar (Ctx, F_Unused_24, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_Unused_24, RFLX.ICMP.To_Base_Integer (Val)); end Set_Unused_24; procedure Set_Originate_Timestamp (Ctx : in out Context; Val : RFLX.ICMP.Timestamp) is begin - Set_Scalar (Ctx, F_Originate_Timestamp, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_Originate_Timestamp, RFLX.ICMP.To_Base_Integer (Val)); end Set_Originate_Timestamp; procedure Set_Receive_Timestamp (Ctx : in out Context; Val : RFLX.ICMP.Timestamp) is begin - Set_Scalar (Ctx, F_Receive_Timestamp, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_Receive_Timestamp, RFLX.ICMP.To_Base_Integer (Val)); end Set_Receive_Timestamp; procedure Set_Transmit_Timestamp (Ctx : in out Context; Val : RFLX.ICMP.Timestamp) is begin - Set_Scalar (Ctx, F_Transmit_Timestamp, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_Transmit_Timestamp, RFLX.ICMP.To_Base_Integer (Val)); end Set_Transmit_Timestamp; procedure Set_Data_Empty (Ctx : in out Context) is @@ -830,11 +830,11 @@ is procedure Initialize_Data_Private (Ctx : in out Context; Length : RFLX_Types.Length) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Data) - and then Valid_Length (Ctx, F_Data, Length) - and then RFLX_Types.To_Length (Available_Space (Ctx, F_Data)) >= Length - and then Field_First (Ctx, F_Data) mod RFLX_Types.Byte'Size = 1, + and then RFLX.ICMP.Message.Has_Buffer (Ctx) + and then RFLX.ICMP.Message.Valid_Next (Ctx, RFLX.ICMP.Message.F_Data) + and then RFLX.ICMP.Message.Valid_Length (Ctx, RFLX.ICMP.Message.F_Data, Length) + and then RFLX_Types.To_Length (RFLX.ICMP.Message.Available_Space (Ctx, RFLX.ICMP.Message.F_Data)) >= Length + and then RFLX.ICMP.Message.Field_First (Ctx, RFLX.ICMP.Message.F_Data) mod RFLX_Types.Byte'Size = 1, Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Data) diff --git a/tests/spark/generated/rflx-icmp-message.ads b/tests/spark/generated/rflx-icmp-message.ads index ca9c16443..18a6134e8 100644 --- a/tests/spark/generated/rflx-icmp-message.ads +++ b/tests/spark/generated/rflx-icmp-message.ads @@ -124,7 +124,7 @@ is procedure Reset (Ctx : in out Context) with Pre => not Ctx'Constrained - and Has_Buffer (Ctx), + and RFLX.ICMP.Message.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -136,7 +136,7 @@ is procedure Reset (Ctx : in out Context; First : RFLX_Types.Bit_Index; Last : RFLX_Types.Bit_Length) with Pre => not Ctx'Constrained - and Has_Buffer (Ctx) + and RFLX.ICMP.Message.Has_Buffer (Ctx) and RFLX_Types.To_Index (First) >= Ctx.Buffer_First and RFLX_Types.To_Index (Last) <= Ctx.Buffer_Last and First <= Last + 1 @@ -153,7 +153,7 @@ is procedure Take_Buffer (Ctx : in out Context; Buffer : out RFLX_Types.Bytes_Ptr) with Pre => - Has_Buffer (Ctx), + RFLX.ICMP.Message.Has_Buffer (Ctx), Post => not Has_Buffer (Ctx) and Buffer /= null @@ -169,15 +169,15 @@ is procedure Copy (Ctx : Context; Buffer : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) - and then Byte_Size (Ctx) = Buffer'Length; + RFLX.ICMP.Message.Has_Buffer (Ctx) + and then RFLX.ICMP.Message.Structural_Valid_Message (Ctx) + and then RFLX.ICMP.Message.Byte_Size (Ctx) = Buffer'Length; function Read (Ctx : Context) return RFLX_Types.Bytes with Ghost, Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx); + RFLX.ICMP.Message.Has_Buffer (Ctx) + and then RFLX.ICMP.Message.Structural_Valid_Message (Ctx); pragma Warnings (Off, "formal parameter ""*"" is not referenced"); @@ -191,8 +191,8 @@ is with function Pre (Buffer : RFLX_Types.Bytes) return Boolean is Always_Valid; procedure Generic_Read (Ctx : Context) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) + RFLX.ICMP.Message.Has_Buffer (Ctx) + and then RFLX.ICMP.Message.Structural_Valid_Message (Ctx) and then Pre (Read (Ctx)); pragma Warnings (Off, "formal parameter ""*"" is not referenced"); @@ -208,9 +208,9 @@ is procedure Generic_Write (Ctx : in out Context; Offset : RFLX_Types.Length := 0) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Offset < Buffer_Length (Ctx) - and then Pre (Buffer_Length (Ctx), Offset), + and then RFLX.ICMP.Message.Has_Buffer (Ctx) + and then Offset < RFLX.ICMP.Message.Buffer_Length (Ctx) + and then Pre (RFLX.ICMP.Message.Buffer_Length (Ctx), Offset), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -222,7 +222,7 @@ is function Buffer_Length (Ctx : Context) return RFLX_Types.Length with Pre => - Has_Buffer (Ctx); + RFLX.ICMP.Message.Has_Buffer (Ctx); function Size (Ctx : Context) return RFLX_Types.Bit_Length with Post => @@ -232,16 +232,16 @@ is function Message_Last (Ctx : Context) return RFLX_Types.Bit_Length with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx); + RFLX.ICMP.Message.Has_Buffer (Ctx) + and then RFLX.ICMP.Message.Structural_Valid_Message (Ctx); function Written_Last (Ctx : Context) return RFLX_Types.Bit_Length; procedure Data (Ctx : Context; Data : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) - and then Data'Length = Byte_Size (Ctx); + RFLX.ICMP.Message.Has_Buffer (Ctx) + and then RFLX.ICMP.Message.Structural_Valid_Message (Ctx) + and then Data'Length = RFLX.ICMP.Message.Byte_Size (Ctx); pragma Warnings (Off, "postcondition does not mention function result"); @@ -255,7 +255,7 @@ is function Path_Condition (Ctx : Context; Fld : Field) return Boolean with Pre => - Valid_Predecessor (Ctx, Fld), + RFLX.ICMP.Message.Valid_Predecessor (Ctx, Fld), Post => True; @@ -265,11 +265,11 @@ is function Field_Condition (Ctx : Context; Fld : Field; Val : RFLX_Types.Base_Integer) return Boolean with Pre => - Has_Buffer (Ctx) - and then Valid_Predecessor (Ctx, Fld) - and then Valid_Value (Fld, Val) - and then Valid_Next (Ctx, Fld) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld), + RFLX.ICMP.Message.Has_Buffer (Ctx) + and then RFLX.ICMP.Message.Valid_Predecessor (Ctx, Fld) + and then RFLX.ICMP.Message.Valid_Value (Fld, Val) + and then RFLX.ICMP.Message.Valid_Next (Ctx, Fld) + and then RFLX.ICMP.Message.Available_Space (Ctx, Fld) >= RFLX.ICMP.Message.Field_Size (Ctx, Fld), Post => True; @@ -277,7 +277,7 @@ is function Field_Size (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld), + RFLX.ICMP.Message.Valid_Next (Ctx, Fld), Post => (case Fld is when F_Data => @@ -289,7 +289,7 @@ is function Field_First (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Index with Pre => - Valid_Next (Ctx, Fld), + RFLX.ICMP.Message.Valid_Next (Ctx, Fld), Post => True; @@ -297,8 +297,8 @@ is function Field_Last (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld), + RFLX.ICMP.Message.Valid_Next (Ctx, Fld) + and then RFLX.ICMP.Message.Available_Space (Ctx, Fld) >= RFLX.ICMP.Message.Field_Size (Ctx, Fld), Post => (case Fld is when F_Data => @@ -326,16 +326,16 @@ is function Available_Space (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld); + RFLX.ICMP.Message.Valid_Next (Ctx, Fld); function Equal (Ctx : Context; Fld : Field; Data : RFLX_Types.Bytes) return Boolean with Pre => - Has_Buffer (Ctx) - and Valid_Next (Ctx, Fld); + RFLX.ICMP.Message.Has_Buffer (Ctx) + and RFLX.ICMP.Message.Valid_Next (Ctx, Fld); procedure Verify (Ctx : in out Context; Fld : Field) with Pre => - Has_Buffer (Ctx), + RFLX.ICMP.Message.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -345,7 +345,7 @@ is procedure Verify_Message (Ctx : in out Context) with Pre => - Has_Buffer (Ctx), + RFLX.ICMP.Message.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -367,11 +367,11 @@ is function Structural_Valid_Message (Ctx : Context) return Boolean with Pre => - Has_Buffer (Ctx); + RFLX.ICMP.Message.Has_Buffer (Ctx); function Valid_Message (Ctx : Context) return Boolean with Pre => - Has_Buffer (Ctx); + RFLX.ICMP.Message.Has_Buffer (Ctx); pragma Warnings (Off, "postcondition does not mention function result"); @@ -385,81 +385,81 @@ is function Get_Tag (Ctx : Context) return RFLX.ICMP.Tag with Pre => - Valid (Ctx, F_Tag); + RFLX.ICMP.Message.Valid (Ctx, RFLX.ICMP.Message.F_Tag); function Get_Code_Destination_Unreachable (Ctx : Context) return RFLX.ICMP.Code_Destination_Unreachable with Pre => - Valid (Ctx, F_Code_Destination_Unreachable); + RFLX.ICMP.Message.Valid (Ctx, RFLX.ICMP.Message.F_Code_Destination_Unreachable); function Get_Code_Redirect (Ctx : Context) return RFLX.ICMP.Code_Redirect with Pre => - Valid (Ctx, F_Code_Redirect); + RFLX.ICMP.Message.Valid (Ctx, RFLX.ICMP.Message.F_Code_Redirect); function Get_Code_Time_Exceeded (Ctx : Context) return RFLX.ICMP.Code_Time_Exceeded with Pre => - Valid (Ctx, F_Code_Time_Exceeded); + RFLX.ICMP.Message.Valid (Ctx, RFLX.ICMP.Message.F_Code_Time_Exceeded); function Get_Code_Zero (Ctx : Context) return RFLX.ICMP.Code_Zero with Pre => - Valid (Ctx, F_Code_Zero); + RFLX.ICMP.Message.Valid (Ctx, RFLX.ICMP.Message.F_Code_Zero); function Get_Checksum (Ctx : Context) return RFLX.ICMP.Checksum with Pre => - Valid (Ctx, F_Checksum); + RFLX.ICMP.Message.Valid (Ctx, RFLX.ICMP.Message.F_Checksum); function Get_Gateway_Internet_Address (Ctx : Context) return RFLX.ICMP.Gateway_Internet_Address with Pre => - Valid (Ctx, F_Gateway_Internet_Address); + RFLX.ICMP.Message.Valid (Ctx, RFLX.ICMP.Message.F_Gateway_Internet_Address); function Get_Identifier (Ctx : Context) return RFLX.ICMP.Identifier with Pre => - Valid (Ctx, F_Identifier); + RFLX.ICMP.Message.Valid (Ctx, RFLX.ICMP.Message.F_Identifier); function Get_Pointer (Ctx : Context) return RFLX.ICMP.Pointer with Pre => - Valid (Ctx, F_Pointer); + RFLX.ICMP.Message.Valid (Ctx, RFLX.ICMP.Message.F_Pointer); function Get_Unused_32 (Ctx : Context) return RFLX.ICMP.Unused_32 with Pre => - Valid (Ctx, F_Unused_32); + RFLX.ICMP.Message.Valid (Ctx, RFLX.ICMP.Message.F_Unused_32); function Get_Sequence_Number (Ctx : Context) return RFLX.ICMP.Sequence_Number with Pre => - Valid (Ctx, F_Sequence_Number); + RFLX.ICMP.Message.Valid (Ctx, RFLX.ICMP.Message.F_Sequence_Number); function Get_Unused_24 (Ctx : Context) return RFLX.ICMP.Unused_24 with Pre => - Valid (Ctx, F_Unused_24); + RFLX.ICMP.Message.Valid (Ctx, RFLX.ICMP.Message.F_Unused_24); function Get_Originate_Timestamp (Ctx : Context) return RFLX.ICMP.Timestamp with Pre => - Valid (Ctx, F_Originate_Timestamp); + RFLX.ICMP.Message.Valid (Ctx, RFLX.ICMP.Message.F_Originate_Timestamp); function Get_Receive_Timestamp (Ctx : Context) return RFLX.ICMP.Timestamp with Pre => - Valid (Ctx, F_Receive_Timestamp); + RFLX.ICMP.Message.Valid (Ctx, RFLX.ICMP.Message.F_Receive_Timestamp); function Get_Transmit_Timestamp (Ctx : Context) return RFLX.ICMP.Timestamp with Pre => - Valid (Ctx, F_Transmit_Timestamp); + RFLX.ICMP.Message.Valid (Ctx, RFLX.ICMP.Message.F_Transmit_Timestamp); pragma Warnings (On, "precondition is always False"); function Get_Data (Ctx : Context) return RFLX_Types.Bytes with Ghost, Pre => - Has_Buffer (Ctx) - and then Structural_Valid (Ctx, F_Data) - and then Valid_Next (Ctx, F_Data), + RFLX.ICMP.Message.Has_Buffer (Ctx) + and then RFLX.ICMP.Message.Structural_Valid (Ctx, RFLX.ICMP.Message.F_Data) + and then RFLX.ICMP.Message.Valid_Next (Ctx, RFLX.ICMP.Message.F_Data), Post => Get_Data'Result'Length = RFLX_Types.To_Length (Field_Size (Ctx, F_Data)); procedure Get_Data (Ctx : Context; Data : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid (Ctx, F_Data) - and then Valid_Next (Ctx, F_Data) - and then Data'Length = RFLX_Types.To_Length (Field_Size (Ctx, F_Data)), + RFLX.ICMP.Message.Has_Buffer (Ctx) + and then RFLX.ICMP.Message.Structural_Valid (Ctx, RFLX.ICMP.Message.F_Data) + and then RFLX.ICMP.Message.Valid_Next (Ctx, RFLX.ICMP.Message.F_Data) + and then Data'Length = RFLX_Types.To_Length (RFLX.ICMP.Message.Field_Size (Ctx, RFLX.ICMP.Message.F_Data)), Post => Equal (Ctx, F_Data, Data); @@ -467,14 +467,14 @@ is with procedure Process_Data (Data : RFLX_Types.Bytes); procedure Generic_Get_Data (Ctx : Context) with Pre => - Has_Buffer (Ctx) - and Present (Ctx, F_Data); + RFLX.ICMP.Message.Has_Buffer (Ctx) + and RFLX.ICMP.Message.Present (Ctx, RFLX.ICMP.Message.F_Data); pragma Warnings (Off, "postcondition does not mention function result"); function Valid_Length (Ctx : Context; Fld : Field; Length : RFLX_Types.Length) return Boolean with Pre => - Valid_Next (Ctx, Fld), + RFLX.ICMP.Message.Valid_Next (Ctx, Fld), Post => True; @@ -486,11 +486,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Tag) - and then RFLX.ICMP.Valid_Tag (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_Tag) >= Field_Size (Ctx, F_Tag) - and then Field_Condition (Ctx, F_Tag, To_Base_Integer (Val)), + and then RFLX.ICMP.Message.Has_Buffer (Ctx) + and then RFLX.ICMP.Message.Valid_Next (Ctx, RFLX.ICMP.Message.F_Tag) + and then RFLX.ICMP.Valid_Tag (RFLX.ICMP.To_Base_Integer (Val)) + and then RFLX.ICMP.Message.Available_Space (Ctx, RFLX.ICMP.Message.F_Tag) >= RFLX.ICMP.Message.Field_Size (Ctx, RFLX.ICMP.Message.F_Tag) + and then RFLX.ICMP.Message.Field_Condition (Ctx, RFLX.ICMP.Message.F_Tag, RFLX.ICMP.To_Base_Integer (Val)), Post => Has_Buffer (Ctx) and Valid (Ctx, F_Tag) @@ -549,11 +549,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Code_Destination_Unreachable) - and then RFLX.ICMP.Valid_Code_Destination_Unreachable (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_Code_Destination_Unreachable) >= Field_Size (Ctx, F_Code_Destination_Unreachable) - and then Field_Condition (Ctx, F_Code_Destination_Unreachable, To_Base_Integer (Val)), + and then RFLX.ICMP.Message.Has_Buffer (Ctx) + and then RFLX.ICMP.Message.Valid_Next (Ctx, RFLX.ICMP.Message.F_Code_Destination_Unreachable) + and then RFLX.ICMP.Valid_Code_Destination_Unreachable (RFLX.ICMP.To_Base_Integer (Val)) + and then RFLX.ICMP.Message.Available_Space (Ctx, RFLX.ICMP.Message.F_Code_Destination_Unreachable) >= RFLX.ICMP.Message.Field_Size (Ctx, RFLX.ICMP.Message.F_Code_Destination_Unreachable) + and then RFLX.ICMP.Message.Field_Condition (Ctx, RFLX.ICMP.Message.F_Code_Destination_Unreachable, RFLX.ICMP.To_Base_Integer (Val)), Post => Has_Buffer (Ctx) and Valid (Ctx, F_Code_Destination_Unreachable) @@ -590,11 +590,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Code_Redirect) - and then RFLX.ICMP.Valid_Code_Redirect (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_Code_Redirect) >= Field_Size (Ctx, F_Code_Redirect) - and then Field_Condition (Ctx, F_Code_Redirect, To_Base_Integer (Val)), + and then RFLX.ICMP.Message.Has_Buffer (Ctx) + and then RFLX.ICMP.Message.Valid_Next (Ctx, RFLX.ICMP.Message.F_Code_Redirect) + and then RFLX.ICMP.Valid_Code_Redirect (RFLX.ICMP.To_Base_Integer (Val)) + and then RFLX.ICMP.Message.Available_Space (Ctx, RFLX.ICMP.Message.F_Code_Redirect) >= RFLX.ICMP.Message.Field_Size (Ctx, RFLX.ICMP.Message.F_Code_Redirect) + and then RFLX.ICMP.Message.Field_Condition (Ctx, RFLX.ICMP.Message.F_Code_Redirect, RFLX.ICMP.To_Base_Integer (Val)), Post => Has_Buffer (Ctx) and Valid (Ctx, F_Code_Redirect) @@ -630,11 +630,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Code_Time_Exceeded) - and then RFLX.ICMP.Valid_Code_Time_Exceeded (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_Code_Time_Exceeded) >= Field_Size (Ctx, F_Code_Time_Exceeded) - and then Field_Condition (Ctx, F_Code_Time_Exceeded, To_Base_Integer (Val)), + and then RFLX.ICMP.Message.Has_Buffer (Ctx) + and then RFLX.ICMP.Message.Valid_Next (Ctx, RFLX.ICMP.Message.F_Code_Time_Exceeded) + and then RFLX.ICMP.Valid_Code_Time_Exceeded (RFLX.ICMP.To_Base_Integer (Val)) + and then RFLX.ICMP.Message.Available_Space (Ctx, RFLX.ICMP.Message.F_Code_Time_Exceeded) >= RFLX.ICMP.Message.Field_Size (Ctx, RFLX.ICMP.Message.F_Code_Time_Exceeded) + and then RFLX.ICMP.Message.Field_Condition (Ctx, RFLX.ICMP.Message.F_Code_Time_Exceeded, RFLX.ICMP.To_Base_Integer (Val)), Post => Has_Buffer (Ctx) and Valid (Ctx, F_Code_Time_Exceeded) @@ -669,11 +669,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Code_Zero) - and then RFLX.ICMP.Valid_Code_Zero (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_Code_Zero) >= Field_Size (Ctx, F_Code_Zero) - and then Field_Condition (Ctx, F_Code_Zero, To_Base_Integer (Val)), + and then RFLX.ICMP.Message.Has_Buffer (Ctx) + and then RFLX.ICMP.Message.Valid_Next (Ctx, RFLX.ICMP.Message.F_Code_Zero) + and then RFLX.ICMP.Valid_Code_Zero (RFLX.ICMP.To_Base_Integer (Val)) + and then RFLX.ICMP.Message.Available_Space (Ctx, RFLX.ICMP.Message.F_Code_Zero) >= RFLX.ICMP.Message.Field_Size (Ctx, RFLX.ICMP.Message.F_Code_Zero) + and then RFLX.ICMP.Message.Field_Condition (Ctx, RFLX.ICMP.Message.F_Code_Zero, RFLX.ICMP.To_Base_Integer (Val)), Post => Has_Buffer (Ctx) and Valid (Ctx, F_Code_Zero) @@ -706,11 +706,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Checksum) - and then RFLX.ICMP.Valid_Checksum (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_Checksum) >= Field_Size (Ctx, F_Checksum) - and then Field_Condition (Ctx, F_Checksum, To_Base_Integer (Val)), + and then RFLX.ICMP.Message.Has_Buffer (Ctx) + and then RFLX.ICMP.Message.Valid_Next (Ctx, RFLX.ICMP.Message.F_Checksum) + and then RFLX.ICMP.Valid_Checksum (RFLX.ICMP.To_Base_Integer (Val)) + and then RFLX.ICMP.Message.Available_Space (Ctx, RFLX.ICMP.Message.F_Checksum) >= RFLX.ICMP.Message.Field_Size (Ctx, RFLX.ICMP.Message.F_Checksum) + and then RFLX.ICMP.Message.Field_Condition (Ctx, RFLX.ICMP.Message.F_Checksum, RFLX.ICMP.To_Base_Integer (Val)), Post => Has_Buffer (Ctx) and Valid (Ctx, F_Checksum) @@ -768,11 +768,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Gateway_Internet_Address) - and then RFLX.ICMP.Valid_Gateway_Internet_Address (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_Gateway_Internet_Address) >= Field_Size (Ctx, F_Gateway_Internet_Address) - and then Field_Condition (Ctx, F_Gateway_Internet_Address, To_Base_Integer (Val)), + and then RFLX.ICMP.Message.Has_Buffer (Ctx) + and then RFLX.ICMP.Message.Valid_Next (Ctx, RFLX.ICMP.Message.F_Gateway_Internet_Address) + and then RFLX.ICMP.Valid_Gateway_Internet_Address (RFLX.ICMP.To_Base_Integer (Val)) + and then RFLX.ICMP.Message.Available_Space (Ctx, RFLX.ICMP.Message.F_Gateway_Internet_Address) >= RFLX.ICMP.Message.Field_Size (Ctx, RFLX.ICMP.Message.F_Gateway_Internet_Address) + and then RFLX.ICMP.Message.Field_Condition (Ctx, RFLX.ICMP.Message.F_Gateway_Internet_Address, RFLX.ICMP.To_Base_Integer (Val)), Post => Has_Buffer (Ctx) and Valid (Ctx, F_Gateway_Internet_Address) @@ -805,11 +805,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Identifier) - and then RFLX.ICMP.Valid_Identifier (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_Identifier) >= Field_Size (Ctx, F_Identifier) - and then Field_Condition (Ctx, F_Identifier, To_Base_Integer (Val)), + and then RFLX.ICMP.Message.Has_Buffer (Ctx) + and then RFLX.ICMP.Message.Valid_Next (Ctx, RFLX.ICMP.Message.F_Identifier) + and then RFLX.ICMP.Valid_Identifier (RFLX.ICMP.To_Base_Integer (Val)) + and then RFLX.ICMP.Message.Available_Space (Ctx, RFLX.ICMP.Message.F_Identifier) >= RFLX.ICMP.Message.Field_Size (Ctx, RFLX.ICMP.Message.F_Identifier) + and then RFLX.ICMP.Message.Field_Condition (Ctx, RFLX.ICMP.Message.F_Identifier, RFLX.ICMP.To_Base_Integer (Val)), Post => Has_Buffer (Ctx) and Valid (Ctx, F_Identifier) @@ -841,11 +841,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Pointer) - and then RFLX.ICMP.Valid_Pointer (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_Pointer) >= Field_Size (Ctx, F_Pointer) - and then Field_Condition (Ctx, F_Pointer, To_Base_Integer (Val)), + and then RFLX.ICMP.Message.Has_Buffer (Ctx) + and then RFLX.ICMP.Message.Valid_Next (Ctx, RFLX.ICMP.Message.F_Pointer) + and then RFLX.ICMP.Valid_Pointer (RFLX.ICMP.To_Base_Integer (Val)) + and then RFLX.ICMP.Message.Available_Space (Ctx, RFLX.ICMP.Message.F_Pointer) >= RFLX.ICMP.Message.Field_Size (Ctx, RFLX.ICMP.Message.F_Pointer) + and then RFLX.ICMP.Message.Field_Condition (Ctx, RFLX.ICMP.Message.F_Pointer, RFLX.ICMP.To_Base_Integer (Val)), Post => Has_Buffer (Ctx) and Valid (Ctx, F_Pointer) @@ -876,11 +876,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Unused_32) - and then RFLX.ICMP.Valid_Unused_32 (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_Unused_32) >= Field_Size (Ctx, F_Unused_32) - and then Field_Condition (Ctx, F_Unused_32, To_Base_Integer (Val)), + and then RFLX.ICMP.Message.Has_Buffer (Ctx) + and then RFLX.ICMP.Message.Valid_Next (Ctx, RFLX.ICMP.Message.F_Unused_32) + and then RFLX.ICMP.Valid_Unused_32 (RFLX.ICMP.To_Base_Integer (Val)) + and then RFLX.ICMP.Message.Available_Space (Ctx, RFLX.ICMP.Message.F_Unused_32) >= RFLX.ICMP.Message.Field_Size (Ctx, RFLX.ICMP.Message.F_Unused_32) + and then RFLX.ICMP.Message.Field_Condition (Ctx, RFLX.ICMP.Message.F_Unused_32, RFLX.ICMP.To_Base_Integer (Val)), Post => Has_Buffer (Ctx) and Valid (Ctx, F_Unused_32) @@ -909,11 +909,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Sequence_Number) - and then RFLX.ICMP.Valid_Sequence_Number (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_Sequence_Number) >= Field_Size (Ctx, F_Sequence_Number) - and then Field_Condition (Ctx, F_Sequence_Number, To_Base_Integer (Val)), + and then RFLX.ICMP.Message.Has_Buffer (Ctx) + and then RFLX.ICMP.Message.Valid_Next (Ctx, RFLX.ICMP.Message.F_Sequence_Number) + and then RFLX.ICMP.Valid_Sequence_Number (RFLX.ICMP.To_Base_Integer (Val)) + and then RFLX.ICMP.Message.Available_Space (Ctx, RFLX.ICMP.Message.F_Sequence_Number) >= RFLX.ICMP.Message.Field_Size (Ctx, RFLX.ICMP.Message.F_Sequence_Number) + and then RFLX.ICMP.Message.Field_Condition (Ctx, RFLX.ICMP.Message.F_Sequence_Number, RFLX.ICMP.To_Base_Integer (Val)), Post => Has_Buffer (Ctx) and Valid (Ctx, F_Sequence_Number) @@ -954,11 +954,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Unused_24) - and then RFLX.ICMP.Valid_Unused_24 (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_Unused_24) >= Field_Size (Ctx, F_Unused_24) - and then Field_Condition (Ctx, F_Unused_24, To_Base_Integer (Val)), + and then RFLX.ICMP.Message.Has_Buffer (Ctx) + and then RFLX.ICMP.Message.Valid_Next (Ctx, RFLX.ICMP.Message.F_Unused_24) + and then RFLX.ICMP.Valid_Unused_24 (RFLX.ICMP.To_Base_Integer (Val)) + and then RFLX.ICMP.Message.Available_Space (Ctx, RFLX.ICMP.Message.F_Unused_24) >= RFLX.ICMP.Message.Field_Size (Ctx, RFLX.ICMP.Message.F_Unused_24) + and then RFLX.ICMP.Message.Field_Condition (Ctx, RFLX.ICMP.Message.F_Unused_24, RFLX.ICMP.To_Base_Integer (Val)), Post => Has_Buffer (Ctx) and Valid (Ctx, F_Unused_24) @@ -986,11 +986,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Originate_Timestamp) - and then RFLX.ICMP.Valid_Timestamp (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_Originate_Timestamp) >= Field_Size (Ctx, F_Originate_Timestamp) - and then Field_Condition (Ctx, F_Originate_Timestamp, To_Base_Integer (Val)), + and then RFLX.ICMP.Message.Has_Buffer (Ctx) + and then RFLX.ICMP.Message.Valid_Next (Ctx, RFLX.ICMP.Message.F_Originate_Timestamp) + and then RFLX.ICMP.Valid_Timestamp (RFLX.ICMP.To_Base_Integer (Val)) + and then RFLX.ICMP.Message.Available_Space (Ctx, RFLX.ICMP.Message.F_Originate_Timestamp) >= RFLX.ICMP.Message.Field_Size (Ctx, RFLX.ICMP.Message.F_Originate_Timestamp) + and then RFLX.ICMP.Message.Field_Condition (Ctx, RFLX.ICMP.Message.F_Originate_Timestamp, RFLX.ICMP.To_Base_Integer (Val)), Post => Has_Buffer (Ctx) and Valid (Ctx, F_Originate_Timestamp) @@ -1019,11 +1019,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Receive_Timestamp) - and then RFLX.ICMP.Valid_Timestamp (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_Receive_Timestamp) >= Field_Size (Ctx, F_Receive_Timestamp) - and then Field_Condition (Ctx, F_Receive_Timestamp, To_Base_Integer (Val)), + and then RFLX.ICMP.Message.Has_Buffer (Ctx) + and then RFLX.ICMP.Message.Valid_Next (Ctx, RFLX.ICMP.Message.F_Receive_Timestamp) + and then RFLX.ICMP.Valid_Timestamp (RFLX.ICMP.To_Base_Integer (Val)) + and then RFLX.ICMP.Message.Available_Space (Ctx, RFLX.ICMP.Message.F_Receive_Timestamp) >= RFLX.ICMP.Message.Field_Size (Ctx, RFLX.ICMP.Message.F_Receive_Timestamp) + and then RFLX.ICMP.Message.Field_Condition (Ctx, RFLX.ICMP.Message.F_Receive_Timestamp, RFLX.ICMP.To_Base_Integer (Val)), Post => Has_Buffer (Ctx) and Valid (Ctx, F_Receive_Timestamp) @@ -1051,11 +1051,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Transmit_Timestamp) - and then RFLX.ICMP.Valid_Timestamp (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_Transmit_Timestamp) >= Field_Size (Ctx, F_Transmit_Timestamp) - and then Field_Condition (Ctx, F_Transmit_Timestamp, To_Base_Integer (Val)), + and then RFLX.ICMP.Message.Has_Buffer (Ctx) + and then RFLX.ICMP.Message.Valid_Next (Ctx, RFLX.ICMP.Message.F_Transmit_Timestamp) + and then RFLX.ICMP.Valid_Timestamp (RFLX.ICMP.To_Base_Integer (Val)) + and then RFLX.ICMP.Message.Available_Space (Ctx, RFLX.ICMP.Message.F_Transmit_Timestamp) >= RFLX.ICMP.Message.Field_Size (Ctx, RFLX.ICMP.Message.F_Transmit_Timestamp) + and then RFLX.ICMP.Message.Field_Condition (Ctx, RFLX.ICMP.Message.F_Transmit_Timestamp, RFLX.ICMP.To_Base_Integer (Val)), Post => Has_Buffer (Ctx) and Valid (Ctx, F_Transmit_Timestamp) @@ -1083,11 +1083,11 @@ is procedure Set_Data_Empty (Ctx : in out Context) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Data) - and then Available_Space (Ctx, F_Data) >= Field_Size (Ctx, F_Data) - and then Field_Condition (Ctx, F_Data, 0) - and then Field_Size (Ctx, F_Data) = 0, + and then RFLX.ICMP.Message.Has_Buffer (Ctx) + and then RFLX.ICMP.Message.Valid_Next (Ctx, RFLX.ICMP.Message.F_Data) + and then RFLX.ICMP.Message.Available_Space (Ctx, RFLX.ICMP.Message.F_Data) >= RFLX.ICMP.Message.Field_Size (Ctx, RFLX.ICMP.Message.F_Data) + and then RFLX.ICMP.Message.Field_Condition (Ctx, RFLX.ICMP.Message.F_Data, 0) + and then RFLX.ICMP.Message.Field_Size (Ctx, RFLX.ICMP.Message.F_Data) = 0, Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Data) @@ -1108,10 +1108,10 @@ is procedure Initialize_Data (Ctx : in out Context; Length : RFLX_Types.Length) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Data) - and then Valid_Length (Ctx, F_Data, Length) - and then Available_Space (Ctx, F_Data) >= RFLX_Types.To_Bit_Length (Length), + and then RFLX.ICMP.Message.Has_Buffer (Ctx) + and then RFLX.ICMP.Message.Valid_Next (Ctx, RFLX.ICMP.Message.F_Data) + and then RFLX.ICMP.Message.Valid_Length (Ctx, RFLX.ICMP.Message.F_Data, Length) + and then RFLX.ICMP.Message.Available_Space (Ctx, RFLX.ICMP.Message.F_Data) >= RFLX_Types.To_Bit_Length (Length), Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Data) @@ -1133,12 +1133,12 @@ is procedure Set_Data (Ctx : in out Context; Data : RFLX_Types.Bytes) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Data) - and then Available_Space (Ctx, F_Data) >= Field_Size (Ctx, F_Data) - and then Valid_Length (Ctx, F_Data, Data'Length) - and then Available_Space (Ctx, F_Data) >= Data'Length * RFLX_Types.Byte'Size - and then Field_Condition (Ctx, F_Data, 0), + and then RFLX.ICMP.Message.Has_Buffer (Ctx) + and then RFLX.ICMP.Message.Valid_Next (Ctx, RFLX.ICMP.Message.F_Data) + and then RFLX.ICMP.Message.Available_Space (Ctx, RFLX.ICMP.Message.F_Data) >= RFLX.ICMP.Message.Field_Size (Ctx, RFLX.ICMP.Message.F_Data) + and then RFLX.ICMP.Message.Valid_Length (Ctx, RFLX.ICMP.Message.F_Data, Data'Length) + and then RFLX.ICMP.Message.Available_Space (Ctx, RFLX.ICMP.Message.F_Data) >= Data'Length * RFLX_Types.Byte'Size + and then RFLX.ICMP.Message.Field_Condition (Ctx, RFLX.ICMP.Message.F_Data, 0), Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Data) @@ -1163,11 +1163,11 @@ is procedure Generic_Set_Data (Ctx : in out Context; Length : RFLX_Types.Length) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Data) - and then Available_Space (Ctx, F_Data) >= Field_Size (Ctx, F_Data) - and then Valid_Length (Ctx, F_Data, Length) - and then RFLX_Types.To_Length (Available_Space (Ctx, F_Data)) >= Length + and then RFLX.ICMP.Message.Has_Buffer (Ctx) + and then RFLX.ICMP.Message.Valid_Next (Ctx, RFLX.ICMP.Message.F_Data) + and then RFLX.ICMP.Message.Available_Space (Ctx, RFLX.ICMP.Message.F_Data) >= RFLX.ICMP.Message.Field_Size (Ctx, RFLX.ICMP.Message.F_Data) + and then RFLX.ICMP.Message.Valid_Length (Ctx, RFLX.ICMP.Message.F_Data, Length) + and then RFLX_Types.To_Length (RFLX.ICMP.Message.Available_Space (Ctx, RFLX.ICMP.Message.F_Data)) >= Length and then Process_Data_Pre (Length), Post => Has_Buffer (Ctx) @@ -1855,7 +1855,7 @@ private function Initialized (Ctx : Context) return Boolean is (Ctx.Verified_Last = Ctx.First - 1 and then Valid_Next (Ctx, F_Tag) - and then Field_First (Ctx, F_Tag) rem RFLX_Types.Byte'Size = 1 + and then RFLX.ICMP.Message.Field_First (Ctx, RFLX.ICMP.Message.F_Tag) rem RFLX_Types.Byte'Size = 1 and then Available_Space (Ctx, F_Tag) = Ctx.Last - Ctx.First + 1 and then (for all F in Field => Invalid (Ctx, F))); @@ -2215,7 +2215,7 @@ private Size = Field_Size (Ctx, Fld))) with Pre => - Valid_Next (Ctx, Fld); + RFLX.ICMP.Message.Valid_Next (Ctx, Fld); function Valid_Length (Ctx : Context; Fld : Field; Length : RFLX_Types.Length) return Boolean is (Valid_Size (Ctx, Fld, RFLX_Types.To_Bit_Length (Length))); diff --git a/tests/spark/generated/rflx-in_ethernet-contains.ads b/tests/spark/generated/rflx-in_ethernet-contains.ads index 9cbf4a039..419ff83ba 100644 --- a/tests/spark/generated/rflx-in_ethernet-contains.ads +++ b/tests/spark/generated/rflx-in_ethernet-contains.ads @@ -31,7 +31,7 @@ is and RFLX.Ethernet.Frame.Has_Buffer (Ethernet_Frame_PDU_Context) and RFLX.Ethernet.Frame.Present (Ethernet_Frame_PDU_Context, RFLX.Ethernet.Frame.F_Payload) and RFLX.Ethernet.Frame.Valid (Ethernet_Frame_PDU_Context, RFLX.Ethernet.Frame.F_Type_Length) - and IPv4_Packet_In_Ethernet_Frame_Payload (Ethernet_Frame_PDU_Context), + and RFLX.In_Ethernet.Contains.IPv4_Packet_In_Ethernet_Frame_Payload (Ethernet_Frame_PDU_Context), Post => not RFLX.Ethernet.Frame.Has_Buffer (Ethernet_Frame_PDU_Context) and RFLX.IPv4.Packet.Has_Buffer (IPv4_Packet_SDU_Context) @@ -52,7 +52,7 @@ is and then RFLX.Ethernet.Frame.Has_Buffer (Ethernet_Frame_PDU_Context) and then RFLX.Ethernet.Frame.Present (Ethernet_Frame_PDU_Context, RFLX.Ethernet.Frame.F_Payload) and then RFLX.Ethernet.Frame.Valid (Ethernet_Frame_PDU_Context, RFLX.Ethernet.Frame.F_Type_Length) - and then IPv4_Packet_In_Ethernet_Frame_Payload (Ethernet_Frame_PDU_Context) + and then RFLX.In_Ethernet.Contains.IPv4_Packet_In_Ethernet_Frame_Payload (Ethernet_Frame_PDU_Context) and then RFLX_Types.To_Last_Bit_Index (IPv4_Packet_SDU_Context.Buffer_Last) - RFLX_Types.To_First_Bit_Index (IPv4_Packet_SDU_Context.Buffer_First) + 1 >= RFLX.Ethernet.Frame.Field_Size (Ethernet_Frame_PDU_Context, RFLX.Ethernet.Frame.F_Payload) and then RFLX_Types.To_First_Bit_Index (IPv4_Packet_SDU_Context.Buffer_First) + RFLX.Ethernet.Frame.Field_Size (Ethernet_Frame_PDU_Context, RFLX.Ethernet.Frame.F_Payload) - 1 < RFLX_Types.Bit_Index'Last, Post => diff --git a/tests/spark/generated/rflx-in_ipv4-contains.ads b/tests/spark/generated/rflx-in_ipv4-contains.ads index baed3bca9..e18c6122e 100644 --- a/tests/spark/generated/rflx-in_ipv4-contains.ads +++ b/tests/spark/generated/rflx-in_ipv4-contains.ads @@ -33,7 +33,7 @@ is and RFLX.IPv4.Packet.Has_Buffer (IPv4_Packet_PDU_Context) and RFLX.IPv4.Packet.Present (IPv4_Packet_PDU_Context, RFLX.IPv4.Packet.F_Payload) and RFLX.IPv4.Packet.Valid (IPv4_Packet_PDU_Context, RFLX.IPv4.Packet.F_Protocol) - and UDP_Datagram_In_IPv4_Packet_Payload (IPv4_Packet_PDU_Context), + and RFLX.In_IPv4.Contains.UDP_Datagram_In_IPv4_Packet_Payload (IPv4_Packet_PDU_Context), Post => not RFLX.IPv4.Packet.Has_Buffer (IPv4_Packet_PDU_Context) and RFLX.UDP.Datagram.Has_Buffer (UDP_Datagram_SDU_Context) @@ -54,7 +54,7 @@ is and then RFLX.IPv4.Packet.Has_Buffer (IPv4_Packet_PDU_Context) and then RFLX.IPv4.Packet.Present (IPv4_Packet_PDU_Context, RFLX.IPv4.Packet.F_Payload) and then RFLX.IPv4.Packet.Valid (IPv4_Packet_PDU_Context, RFLX.IPv4.Packet.F_Protocol) - and then UDP_Datagram_In_IPv4_Packet_Payload (IPv4_Packet_PDU_Context) + and then RFLX.In_IPv4.Contains.UDP_Datagram_In_IPv4_Packet_Payload (IPv4_Packet_PDU_Context) and then RFLX_Types.To_Last_Bit_Index (UDP_Datagram_SDU_Context.Buffer_Last) - RFLX_Types.To_First_Bit_Index (UDP_Datagram_SDU_Context.Buffer_First) + 1 >= RFLX.IPv4.Packet.Field_Size (IPv4_Packet_PDU_Context, RFLX.IPv4.Packet.F_Payload) and then RFLX_Types.To_First_Bit_Index (UDP_Datagram_SDU_Context.Buffer_First) + RFLX.IPv4.Packet.Field_Size (IPv4_Packet_PDU_Context, RFLX.IPv4.Packet.F_Payload) - 1 < RFLX_Types.Bit_Index'Last, Post => @@ -78,7 +78,7 @@ is and RFLX.IPv4.Packet.Has_Buffer (IPv4_Packet_PDU_Context) and RFLX.IPv4.Packet.Present (IPv4_Packet_PDU_Context, RFLX.IPv4.Packet.F_Payload) and RFLX.IPv4.Packet.Valid (IPv4_Packet_PDU_Context, RFLX.IPv4.Packet.F_Protocol) - and ICMP_Message_In_IPv4_Packet_Payload (IPv4_Packet_PDU_Context), + and RFLX.In_IPv4.Contains.ICMP_Message_In_IPv4_Packet_Payload (IPv4_Packet_PDU_Context), Post => not RFLX.IPv4.Packet.Has_Buffer (IPv4_Packet_PDU_Context) and RFLX.ICMP.Message.Has_Buffer (ICMP_Message_SDU_Context) @@ -99,7 +99,7 @@ is and then RFLX.IPv4.Packet.Has_Buffer (IPv4_Packet_PDU_Context) and then RFLX.IPv4.Packet.Present (IPv4_Packet_PDU_Context, RFLX.IPv4.Packet.F_Payload) and then RFLX.IPv4.Packet.Valid (IPv4_Packet_PDU_Context, RFLX.IPv4.Packet.F_Protocol) - and then ICMP_Message_In_IPv4_Packet_Payload (IPv4_Packet_PDU_Context) + and then RFLX.In_IPv4.Contains.ICMP_Message_In_IPv4_Packet_Payload (IPv4_Packet_PDU_Context) and then RFLX_Types.To_Last_Bit_Index (ICMP_Message_SDU_Context.Buffer_Last) - RFLX_Types.To_First_Bit_Index (ICMP_Message_SDU_Context.Buffer_First) + 1 >= RFLX.IPv4.Packet.Field_Size (IPv4_Packet_PDU_Context, RFLX.IPv4.Packet.F_Payload) and then RFLX_Types.To_First_Bit_Index (ICMP_Message_SDU_Context.Buffer_First) + RFLX.IPv4.Packet.Field_Size (IPv4_Packet_PDU_Context, RFLX.IPv4.Packet.F_Payload) - 1 < RFLX_Types.Bit_Index'Last, Post => diff --git a/tests/spark/generated/rflx-ipv4-option.adb b/tests/spark/generated/rflx-ipv4-option.adb index 65efcbd00..8047d0259 100644 --- a/tests/spark/generated/rflx-ipv4-option.adb +++ b/tests/spark/generated/rflx-ipv4-option.adb @@ -109,9 +109,9 @@ is F_Final)) with Pre => - Has_Buffer (Ctx) - and Structural_Valid (Ctx, Fld) - and Valid_Predecessor (Ctx, Fld); + RFLX.IPv4.Option.Has_Buffer (Ctx) + and RFLX.IPv4.Option.Structural_Valid (Ctx, Fld) + and RFLX.IPv4.Option.Valid_Predecessor (Ctx, Fld); pragma Warnings (On, "precondition is always False"); @@ -135,8 +135,8 @@ is and Field_First (Ctx, Fld) + Field_Size (Ctx, Fld) - 1 <= Ctx.Written_Last) with Pre => - Has_Buffer (Ctx) - and Valid_Next (Ctx, Fld); + RFLX.IPv4.Option.Has_Buffer (Ctx) + and RFLX.IPv4.Option.Valid_Next (Ctx, Fld); function Equal (Ctx : Context; Fld : Field; Data : RFLX_Types.Bytes) return Boolean is (Sufficient_Buffer_Length (Ctx, Fld) @@ -150,7 +150,7 @@ is procedure Reset_Dependent_Fields (Ctx : in out Context; Fld : Field) with Pre => - Valid_Next (Ctx, Fld), + RFLX.IPv4.Option.Valid_Next (Ctx, Fld), Post => Valid_Next (Ctx, Fld) and Invalid (Ctx.Cursors (Fld)) @@ -192,10 +192,10 @@ is function Get (Ctx : Context; Fld : Field) return RFLX_Types.Base_Integer with Pre => - Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) - and then Sufficient_Buffer_Length (Ctx, Fld) - and then not Composite_Field (Fld) + RFLX.IPv4.Option.Has_Buffer (Ctx) + and then RFLX.IPv4.Option.Valid_Next (Ctx, Fld) + and then RFLX.IPv4.Option.Sufficient_Buffer_Length (Ctx, Fld) + and then not RFLX.IPv4.Option.Composite_Field (Fld) is First : constant RFLX_Types.Bit_Index := Field_First (Ctx, Fld); Last : constant RFLX_Types.Bit_Index := Field_Last (Ctx, Fld); @@ -291,12 +291,12 @@ is procedure Set (Ctx : in out Context; Fld : Field; Val : RFLX_Types.Base_Integer; Size : RFLX_Types.Bit_Length; State_Valid : Boolean; Buffer_First : out RFLX_Types.Index; Buffer_Last : out RFLX_Types.Index; Offset : out RFLX_Types.Offset) with Pre => - Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) - and then Valid_Value (Fld, Val) - and then Valid_Size (Ctx, Fld, Size) - and then Size <= Available_Space (Ctx, Fld) - and then (if Composite_Field (Fld) then Size mod RFLX_Types.Byte'Size = 0 else State_Valid), + RFLX.IPv4.Option.Has_Buffer (Ctx) + and then RFLX.IPv4.Option.Valid_Next (Ctx, Fld) + and then RFLX.IPv4.Option.Valid_Value (Fld, Val) + and then RFLX.IPv4.Option.Valid_Size (Ctx, Fld, Size) + and then Size <= RFLX.IPv4.Option.Available_Space (Ctx, Fld) + and then (if RFLX.IPv4.Option.Composite_Field (Fld) then Size mod RFLX_Types.Byte'Size = 0 else State_Valid), Post => Valid_Next (Ctx, Fld) and then Invalid_Successor (Ctx, Fld) @@ -392,14 +392,14 @@ is procedure Set_Scalar (Ctx : in out Context; Fld : Field; Val : RFLX_Types.Base_Integer) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) + and then RFLX.IPv4.Option.Has_Buffer (Ctx) + and then RFLX.IPv4.Option.Valid_Next (Ctx, Fld) and then Fld in F_Copied | F_Option_Class | F_Option_Number | F_Option_Length - and then Valid_Value (Fld, Val) - and then Valid_Size (Ctx, Fld, Field_Size (Ctx, Fld)) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld) - and then Field_Size (Ctx, Fld) in 1 .. RFLX_Types.Base_Integer'Size - and then RFLX_Types.Fits_Into (Val, Natural (Field_Size (Ctx, Fld))), + and then RFLX.IPv4.Option.Valid_Value (Fld, Val) + and then RFLX.IPv4.Option.Valid_Size (Ctx, Fld, RFLX.IPv4.Option.Field_Size (Ctx, Fld)) + and then RFLX.IPv4.Option.Available_Space (Ctx, Fld) >= RFLX.IPv4.Option.Field_Size (Ctx, Fld) + and then RFLX.IPv4.Option.Field_Size (Ctx, Fld) in 1 .. RFLX_Types.Base_Integer'Size + and then RFLX_Types.Fits_Into (Val, Natural (RFLX.IPv4.Option.Field_Size (Ctx, Fld))), Post => Has_Buffer (Ctx) and Valid (Ctx, Fld) @@ -467,17 +467,17 @@ is procedure Set_Option_Class (Ctx : in out Context; Val : RFLX.IPv4.Option_Class) is begin - Set_Scalar (Ctx, F_Option_Class, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_Option_Class, RFLX.IPv4.To_Base_Integer (Val)); end Set_Option_Class; procedure Set_Option_Number (Ctx : in out Context; Val : RFLX.IPv4.Option_Number) is begin - Set_Scalar (Ctx, F_Option_Number, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_Option_Number, RFLX.IPv4.To_Base_Integer (Val)); end Set_Option_Number; procedure Set_Option_Length (Ctx : in out Context; Val : RFLX.IPv4.Option_Length) is begin - Set_Scalar (Ctx, F_Option_Length, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_Option_Length, RFLX.IPv4.To_Base_Integer (Val)); end Set_Option_Length; procedure Set_Option_Data_Empty (Ctx : in out Context) is @@ -490,11 +490,11 @@ is procedure Initialize_Option_Data_Private (Ctx : in out Context; Length : RFLX_Types.Length) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Option_Data) - and then Valid_Length (Ctx, F_Option_Data, Length) - and then RFLX_Types.To_Length (Available_Space (Ctx, F_Option_Data)) >= Length - and then Field_First (Ctx, F_Option_Data) mod RFLX_Types.Byte'Size = 1, + and then RFLX.IPv4.Option.Has_Buffer (Ctx) + and then RFLX.IPv4.Option.Valid_Next (Ctx, RFLX.IPv4.Option.F_Option_Data) + and then RFLX.IPv4.Option.Valid_Length (Ctx, RFLX.IPv4.Option.F_Option_Data, Length) + and then RFLX_Types.To_Length (RFLX.IPv4.Option.Available_Space (Ctx, RFLX.IPv4.Option.F_Option_Data)) >= Length + and then RFLX.IPv4.Option.Field_First (Ctx, RFLX.IPv4.Option.F_Option_Data) mod RFLX_Types.Byte'Size = 1, Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Option_Data) diff --git a/tests/spark/generated/rflx-ipv4-option.ads b/tests/spark/generated/rflx-ipv4-option.ads index 6d2a66c19..76f462cbe 100644 --- a/tests/spark/generated/rflx-ipv4-option.ads +++ b/tests/spark/generated/rflx-ipv4-option.ads @@ -127,7 +127,7 @@ is procedure Reset (Ctx : in out Context) with Pre => not Ctx'Constrained - and Has_Buffer (Ctx), + and RFLX.IPv4.Option.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -139,7 +139,7 @@ is procedure Reset (Ctx : in out Context; First : RFLX_Types.Bit_Index; Last : RFLX_Types.Bit_Length) with Pre => not Ctx'Constrained - and Has_Buffer (Ctx) + and RFLX.IPv4.Option.Has_Buffer (Ctx) and RFLX_Types.To_Index (First) >= Ctx.Buffer_First and RFLX_Types.To_Index (Last) <= Ctx.Buffer_Last and First <= Last + 1 @@ -156,7 +156,7 @@ is procedure Take_Buffer (Ctx : in out Context; Buffer : out RFLX_Types.Bytes_Ptr) with Pre => - Has_Buffer (Ctx), + RFLX.IPv4.Option.Has_Buffer (Ctx), Post => not Has_Buffer (Ctx) and Buffer /= null @@ -172,15 +172,15 @@ is procedure Copy (Ctx : Context; Buffer : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) - and then Byte_Size (Ctx) = Buffer'Length; + RFLX.IPv4.Option.Has_Buffer (Ctx) + and then RFLX.IPv4.Option.Structural_Valid_Message (Ctx) + and then RFLX.IPv4.Option.Byte_Size (Ctx) = Buffer'Length; function Read (Ctx : Context) return RFLX_Types.Bytes with Ghost, Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx); + RFLX.IPv4.Option.Has_Buffer (Ctx) + and then RFLX.IPv4.Option.Structural_Valid_Message (Ctx); pragma Warnings (Off, "formal parameter ""*"" is not referenced"); @@ -194,8 +194,8 @@ is with function Pre (Buffer : RFLX_Types.Bytes) return Boolean is Always_Valid; procedure Generic_Read (Ctx : Context) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) + RFLX.IPv4.Option.Has_Buffer (Ctx) + and then RFLX.IPv4.Option.Structural_Valid_Message (Ctx) and then Pre (Read (Ctx)); pragma Warnings (Off, "formal parameter ""*"" is not referenced"); @@ -211,9 +211,9 @@ is procedure Generic_Write (Ctx : in out Context; Offset : RFLX_Types.Length := 0) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Offset < Buffer_Length (Ctx) - and then Pre (Buffer_Length (Ctx), Offset), + and then RFLX.IPv4.Option.Has_Buffer (Ctx) + and then Offset < RFLX.IPv4.Option.Buffer_Length (Ctx) + and then Pre (RFLX.IPv4.Option.Buffer_Length (Ctx), Offset), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -225,7 +225,7 @@ is function Buffer_Length (Ctx : Context) return RFLX_Types.Length with Pre => - Has_Buffer (Ctx); + RFLX.IPv4.Option.Has_Buffer (Ctx); function Size (Ctx : Context) return RFLX_Types.Bit_Length with Post => @@ -235,16 +235,16 @@ is function Message_Last (Ctx : Context) return RFLX_Types.Bit_Length with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx); + RFLX.IPv4.Option.Has_Buffer (Ctx) + and then RFLX.IPv4.Option.Structural_Valid_Message (Ctx); function Written_Last (Ctx : Context) return RFLX_Types.Bit_Length; procedure Data (Ctx : Context; Data : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) - and then Data'Length = Byte_Size (Ctx); + RFLX.IPv4.Option.Has_Buffer (Ctx) + and then RFLX.IPv4.Option.Structural_Valid_Message (Ctx) + and then Data'Length = RFLX.IPv4.Option.Byte_Size (Ctx); pragma Warnings (Off, "postcondition does not mention function result"); @@ -258,7 +258,7 @@ is function Path_Condition (Ctx : Context; Fld : Field) return Boolean with Pre => - Valid_Predecessor (Ctx, Fld), + RFLX.IPv4.Option.Valid_Predecessor (Ctx, Fld), Post => True; @@ -268,11 +268,11 @@ is function Field_Condition (Ctx : Context; Fld : Field; Val : RFLX_Types.Base_Integer) return Boolean with Pre => - Has_Buffer (Ctx) - and then Valid_Predecessor (Ctx, Fld) - and then Valid_Value (Fld, Val) - and then Valid_Next (Ctx, Fld) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld), + RFLX.IPv4.Option.Has_Buffer (Ctx) + and then RFLX.IPv4.Option.Valid_Predecessor (Ctx, Fld) + and then RFLX.IPv4.Option.Valid_Value (Fld, Val) + and then RFLX.IPv4.Option.Valid_Next (Ctx, Fld) + and then RFLX.IPv4.Option.Available_Space (Ctx, Fld) >= RFLX.IPv4.Option.Field_Size (Ctx, Fld), Post => True; @@ -280,7 +280,7 @@ is function Field_Size (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld), + RFLX.IPv4.Option.Valid_Next (Ctx, Fld), Post => (case Fld is when F_Option_Data => @@ -292,7 +292,7 @@ is function Field_First (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Index with Pre => - Valid_Next (Ctx, Fld), + RFLX.IPv4.Option.Valid_Next (Ctx, Fld), Post => True; @@ -300,8 +300,8 @@ is function Field_Last (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld), + RFLX.IPv4.Option.Valid_Next (Ctx, Fld) + and then RFLX.IPv4.Option.Available_Space (Ctx, Fld) >= RFLX.IPv4.Option.Field_Size (Ctx, Fld), Post => (case Fld is when F_Option_Data => @@ -329,16 +329,16 @@ is function Available_Space (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld); + RFLX.IPv4.Option.Valid_Next (Ctx, Fld); function Equal (Ctx : Context; Fld : Field; Data : RFLX_Types.Bytes) return Boolean with Pre => - Has_Buffer (Ctx) - and Valid_Next (Ctx, Fld); + RFLX.IPv4.Option.Has_Buffer (Ctx) + and RFLX.IPv4.Option.Valid_Next (Ctx, Fld); procedure Verify (Ctx : in out Context; Fld : Field) with Pre => - Has_Buffer (Ctx), + RFLX.IPv4.Option.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -348,7 +348,7 @@ is procedure Verify_Message (Ctx : in out Context) with Pre => - Has_Buffer (Ctx), + RFLX.IPv4.Option.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -370,11 +370,11 @@ is function Structural_Valid_Message (Ctx : Context) return Boolean with Pre => - Has_Buffer (Ctx); + RFLX.IPv4.Option.Has_Buffer (Ctx); function Valid_Message (Ctx : Context) return Boolean with Pre => - Has_Buffer (Ctx); + RFLX.IPv4.Option.Has_Buffer (Ctx); pragma Warnings (Off, "postcondition does not mention function result"); @@ -388,37 +388,37 @@ is function Get_Copied (Ctx : Context) return Boolean with Pre => - Valid (Ctx, F_Copied); + RFLX.IPv4.Option.Valid (Ctx, RFLX.IPv4.Option.F_Copied); function Get_Option_Class (Ctx : Context) return RFLX.IPv4.Option_Class with Pre => - Valid (Ctx, F_Option_Class); + RFLX.IPv4.Option.Valid (Ctx, RFLX.IPv4.Option.F_Option_Class); function Get_Option_Number (Ctx : Context) return RFLX.IPv4.Option_Number with Pre => - Valid (Ctx, F_Option_Number); + RFLX.IPv4.Option.Valid (Ctx, RFLX.IPv4.Option.F_Option_Number); function Get_Option_Length (Ctx : Context) return RFLX.IPv4.Option_Length with Pre => - Valid (Ctx, F_Option_Length); + RFLX.IPv4.Option.Valid (Ctx, RFLX.IPv4.Option.F_Option_Length); pragma Warnings (On, "precondition is always False"); function Get_Option_Data (Ctx : Context) return RFLX_Types.Bytes with Ghost, Pre => - Has_Buffer (Ctx) - and then Structural_Valid (Ctx, F_Option_Data) - and then Valid_Next (Ctx, F_Option_Data), + RFLX.IPv4.Option.Has_Buffer (Ctx) + and then RFLX.IPv4.Option.Structural_Valid (Ctx, RFLX.IPv4.Option.F_Option_Data) + and then RFLX.IPv4.Option.Valid_Next (Ctx, RFLX.IPv4.Option.F_Option_Data), Post => Get_Option_Data'Result'Length = RFLX_Types.To_Length (Field_Size (Ctx, F_Option_Data)); procedure Get_Option_Data (Ctx : Context; Data : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid (Ctx, F_Option_Data) - and then Valid_Next (Ctx, F_Option_Data) - and then Data'Length = RFLX_Types.To_Length (Field_Size (Ctx, F_Option_Data)), + RFLX.IPv4.Option.Has_Buffer (Ctx) + and then RFLX.IPv4.Option.Structural_Valid (Ctx, RFLX.IPv4.Option.F_Option_Data) + and then RFLX.IPv4.Option.Valid_Next (Ctx, RFLX.IPv4.Option.F_Option_Data) + and then Data'Length = RFLX_Types.To_Length (RFLX.IPv4.Option.Field_Size (Ctx, RFLX.IPv4.Option.F_Option_Data)), Post => Equal (Ctx, F_Option_Data, Data); @@ -426,14 +426,14 @@ is with procedure Process_Option_Data (Option_Data : RFLX_Types.Bytes); procedure Generic_Get_Option_Data (Ctx : Context) with Pre => - Has_Buffer (Ctx) - and Present (Ctx, F_Option_Data); + RFLX.IPv4.Option.Has_Buffer (Ctx) + and RFLX.IPv4.Option.Present (Ctx, RFLX.IPv4.Option.F_Option_Data); pragma Warnings (Off, "postcondition does not mention function result"); function Valid_Length (Ctx : Context; Fld : Field; Length : RFLX_Types.Length) return Boolean with Pre => - Valid_Next (Ctx, Fld), + RFLX.IPv4.Option.Valid_Next (Ctx, Fld), Post => True; @@ -445,11 +445,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Copied) + and then RFLX.IPv4.Option.Has_Buffer (Ctx) + and then RFLX.IPv4.Option.Valid_Next (Ctx, RFLX.IPv4.Option.F_Copied) and then Valid_Boolean (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_Copied) >= Field_Size (Ctx, F_Copied) - and then Field_Condition (Ctx, F_Copied, To_Base_Integer (Val)), + and then RFLX.IPv4.Option.Available_Space (Ctx, RFLX.IPv4.Option.F_Copied) >= RFLX.IPv4.Option.Field_Size (Ctx, RFLX.IPv4.Option.F_Copied) + and then RFLX.IPv4.Option.Field_Condition (Ctx, RFLX.IPv4.Option.F_Copied, To_Base_Integer (Val)), Post => Has_Buffer (Ctx) and Valid (Ctx, F_Copied) @@ -472,11 +472,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Option_Class) - and then RFLX.IPv4.Valid_Option_Class (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_Option_Class) >= Field_Size (Ctx, F_Option_Class) - and then Field_Condition (Ctx, F_Option_Class, To_Base_Integer (Val)), + and then RFLX.IPv4.Option.Has_Buffer (Ctx) + and then RFLX.IPv4.Option.Valid_Next (Ctx, RFLX.IPv4.Option.F_Option_Class) + and then RFLX.IPv4.Valid_Option_Class (RFLX.IPv4.To_Base_Integer (Val)) + and then RFLX.IPv4.Option.Available_Space (Ctx, RFLX.IPv4.Option.F_Option_Class) >= RFLX.IPv4.Option.Field_Size (Ctx, RFLX.IPv4.Option.F_Option_Class) + and then RFLX.IPv4.Option.Field_Condition (Ctx, RFLX.IPv4.Option.F_Option_Class, RFLX.IPv4.To_Base_Integer (Val)), Post => Has_Buffer (Ctx) and Valid (Ctx, F_Option_Class) @@ -502,11 +502,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Option_Number) - and then RFLX.IPv4.Valid_Option_Number (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_Option_Number) >= Field_Size (Ctx, F_Option_Number) - and then Field_Condition (Ctx, F_Option_Number, To_Base_Integer (Val)), + and then RFLX.IPv4.Option.Has_Buffer (Ctx) + and then RFLX.IPv4.Option.Valid_Next (Ctx, RFLX.IPv4.Option.F_Option_Number) + and then RFLX.IPv4.Valid_Option_Number (RFLX.IPv4.To_Base_Integer (Val)) + and then RFLX.IPv4.Option.Available_Space (Ctx, RFLX.IPv4.Option.F_Option_Number) >= RFLX.IPv4.Option.Field_Size (Ctx, RFLX.IPv4.Option.F_Option_Number) + and then RFLX.IPv4.Option.Field_Condition (Ctx, RFLX.IPv4.Option.F_Option_Number, RFLX.IPv4.To_Base_Integer (Val)), Post => Has_Buffer (Ctx) and Valid (Ctx, F_Option_Number) @@ -536,11 +536,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Option_Length) - and then RFLX.IPv4.Valid_Option_Length (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_Option_Length) >= Field_Size (Ctx, F_Option_Length) - and then Field_Condition (Ctx, F_Option_Length, To_Base_Integer (Val)), + and then RFLX.IPv4.Option.Has_Buffer (Ctx) + and then RFLX.IPv4.Option.Valid_Next (Ctx, RFLX.IPv4.Option.F_Option_Length) + and then RFLX.IPv4.Valid_Option_Length (RFLX.IPv4.To_Base_Integer (Val)) + and then RFLX.IPv4.Option.Available_Space (Ctx, RFLX.IPv4.Option.F_Option_Length) >= RFLX.IPv4.Option.Field_Size (Ctx, RFLX.IPv4.Option.F_Option_Length) + and then RFLX.IPv4.Option.Field_Condition (Ctx, RFLX.IPv4.Option.F_Option_Length, RFLX.IPv4.To_Base_Integer (Val)), Post => Has_Buffer (Ctx) and Valid (Ctx, F_Option_Length) @@ -581,11 +581,11 @@ is procedure Set_Option_Data_Empty (Ctx : in out Context) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Option_Data) - and then Available_Space (Ctx, F_Option_Data) >= Field_Size (Ctx, F_Option_Data) - and then Field_Condition (Ctx, F_Option_Data, 0) - and then Field_Size (Ctx, F_Option_Data) = 0, + and then RFLX.IPv4.Option.Has_Buffer (Ctx) + and then RFLX.IPv4.Option.Valid_Next (Ctx, RFLX.IPv4.Option.F_Option_Data) + and then RFLX.IPv4.Option.Available_Space (Ctx, RFLX.IPv4.Option.F_Option_Data) >= RFLX.IPv4.Option.Field_Size (Ctx, RFLX.IPv4.Option.F_Option_Data) + and then RFLX.IPv4.Option.Field_Condition (Ctx, RFLX.IPv4.Option.F_Option_Data, 0) + and then RFLX.IPv4.Option.Field_Size (Ctx, RFLX.IPv4.Option.F_Option_Data) = 0, Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Option_Data) @@ -606,9 +606,9 @@ is procedure Initialize_Option_Data (Ctx : in out Context) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Option_Data) - and then Available_Space (Ctx, F_Option_Data) >= Field_Size (Ctx, F_Option_Data), + and then RFLX.IPv4.Option.Has_Buffer (Ctx) + and then RFLX.IPv4.Option.Valid_Next (Ctx, RFLX.IPv4.Option.F_Option_Data) + and then RFLX.IPv4.Option.Available_Space (Ctx, RFLX.IPv4.Option.F_Option_Data) >= RFLX.IPv4.Option.Field_Size (Ctx, RFLX.IPv4.Option.F_Option_Data), Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Option_Data) @@ -629,12 +629,12 @@ is procedure Set_Option_Data (Ctx : in out Context; Data : RFLX_Types.Bytes) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Option_Data) - and then Available_Space (Ctx, F_Option_Data) >= Field_Size (Ctx, F_Option_Data) - and then Valid_Length (Ctx, F_Option_Data, Data'Length) - and then Available_Space (Ctx, F_Option_Data) >= Data'Length * RFLX_Types.Byte'Size - and then Field_Condition (Ctx, F_Option_Data, 0), + and then RFLX.IPv4.Option.Has_Buffer (Ctx) + and then RFLX.IPv4.Option.Valid_Next (Ctx, RFLX.IPv4.Option.F_Option_Data) + and then RFLX.IPv4.Option.Available_Space (Ctx, RFLX.IPv4.Option.F_Option_Data) >= RFLX.IPv4.Option.Field_Size (Ctx, RFLX.IPv4.Option.F_Option_Data) + and then RFLX.IPv4.Option.Valid_Length (Ctx, RFLX.IPv4.Option.F_Option_Data, Data'Length) + and then RFLX.IPv4.Option.Available_Space (Ctx, RFLX.IPv4.Option.F_Option_Data) >= Data'Length * RFLX_Types.Byte'Size + and then RFLX.IPv4.Option.Field_Condition (Ctx, RFLX.IPv4.Option.F_Option_Data, 0), Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Option_Data) @@ -659,11 +659,11 @@ is procedure Generic_Set_Option_Data (Ctx : in out Context; Length : RFLX_Types.Length) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Option_Data) - and then Available_Space (Ctx, F_Option_Data) >= Field_Size (Ctx, F_Option_Data) - and then Valid_Length (Ctx, F_Option_Data, Length) - and then RFLX_Types.To_Length (Available_Space (Ctx, F_Option_Data)) >= Length + and then RFLX.IPv4.Option.Has_Buffer (Ctx) + and then RFLX.IPv4.Option.Valid_Next (Ctx, RFLX.IPv4.Option.F_Option_Data) + and then RFLX.IPv4.Option.Available_Space (Ctx, RFLX.IPv4.Option.F_Option_Data) >= RFLX.IPv4.Option.Field_Size (Ctx, RFLX.IPv4.Option.F_Option_Data) + and then RFLX.IPv4.Option.Valid_Length (Ctx, RFLX.IPv4.Option.F_Option_Data, Length) + and then RFLX_Types.To_Length (RFLX.IPv4.Option.Available_Space (Ctx, RFLX.IPv4.Option.F_Option_Data)) >= Length and then Process_Data_Pre (Length), Post => Has_Buffer (Ctx) @@ -854,7 +854,7 @@ private function Initialized (Ctx : Context) return Boolean is (Ctx.Verified_Last = Ctx.First - 1 and then Valid_Next (Ctx, F_Copied) - and then Field_First (Ctx, F_Copied) rem RFLX_Types.Byte'Size = 1 + and then RFLX.IPv4.Option.Field_First (Ctx, RFLX.IPv4.Option.F_Copied) rem RFLX_Types.Byte'Size = 1 and then Available_Space (Ctx, F_Copied) = Ctx.Last - Ctx.First + 1 and then (for all F in Field => Invalid (Ctx, F))); @@ -1042,7 +1042,7 @@ private (Size = Field_Size (Ctx, Fld)) with Pre => - Valid_Next (Ctx, Fld); + RFLX.IPv4.Option.Valid_Next (Ctx, Fld); function Valid_Length (Ctx : Context; Fld : Field; Length : RFLX_Types.Length) return Boolean is (Valid_Size (Ctx, Fld, RFLX_Types.To_Bit_Length (Length))); diff --git a/tests/spark/generated/rflx-ipv4-packet.adb b/tests/spark/generated/rflx-ipv4-packet.adb index a74c27010..d518bdb45 100644 --- a/tests/spark/generated/rflx-ipv4-packet.adb +++ b/tests/spark/generated/rflx-ipv4-packet.adb @@ -117,9 +117,9 @@ is F_Final)) with Pre => - Has_Buffer (Ctx) - and Structural_Valid (Ctx, Fld) - and Valid_Predecessor (Ctx, Fld); + RFLX.IPv4.Packet.Has_Buffer (Ctx) + and RFLX.IPv4.Packet.Structural_Valid (Ctx, Fld) + and RFLX.IPv4.Packet.Valid_Predecessor (Ctx, Fld); pragma Warnings (On, "precondition is always False"); @@ -167,8 +167,8 @@ is and Field_First (Ctx, Fld) + Field_Size (Ctx, Fld) - 1 <= Ctx.Written_Last) with Pre => - Has_Buffer (Ctx) - and Valid_Next (Ctx, Fld); + RFLX.IPv4.Packet.Has_Buffer (Ctx) + and RFLX.IPv4.Packet.Valid_Next (Ctx, Fld); function Equal (Ctx : Context; Fld : Field; Data : RFLX_Types.Bytes) return Boolean is (Sufficient_Buffer_Length (Ctx, Fld) @@ -182,7 +182,7 @@ is procedure Reset_Dependent_Fields (Ctx : in out Context; Fld : Field) with Pre => - Valid_Next (Ctx, Fld), + RFLX.IPv4.Packet.Valid_Next (Ctx, Fld), Post => Valid_Next (Ctx, Fld) and Invalid (Ctx.Cursors (Fld)) @@ -224,10 +224,10 @@ is function Get (Ctx : Context; Fld : Field) return RFLX_Types.Base_Integer with Pre => - Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) - and then Sufficient_Buffer_Length (Ctx, Fld) - and then not Composite_Field (Fld) + RFLX.IPv4.Packet.Has_Buffer (Ctx) + and then RFLX.IPv4.Packet.Valid_Next (Ctx, Fld) + and then RFLX.IPv4.Packet.Sufficient_Buffer_Length (Ctx, Fld) + and then not RFLX.IPv4.Packet.Composite_Field (Fld) is First : constant RFLX_Types.Bit_Index := Field_First (Ctx, Fld); Last : constant RFLX_Types.Bit_Index := Field_Last (Ctx, Fld); @@ -329,12 +329,12 @@ is procedure Set (Ctx : in out Context; Fld : Field; Val : RFLX_Types.Base_Integer; Size : RFLX_Types.Bit_Length; State_Valid : Boolean; Buffer_First : out RFLX_Types.Index; Buffer_Last : out RFLX_Types.Index; Offset : out RFLX_Types.Offset) with Pre => - Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) - and then Valid_Value (Fld, Val) - and then Valid_Size (Ctx, Fld, Size) - and then Size <= Available_Space (Ctx, Fld) - and then (if Composite_Field (Fld) then Size mod RFLX_Types.Byte'Size = 0 else State_Valid), + RFLX.IPv4.Packet.Has_Buffer (Ctx) + and then RFLX.IPv4.Packet.Valid_Next (Ctx, Fld) + and then RFLX.IPv4.Packet.Valid_Value (Fld, Val) + and then RFLX.IPv4.Packet.Valid_Size (Ctx, Fld, Size) + and then Size <= RFLX.IPv4.Packet.Available_Space (Ctx, Fld) + and then (if RFLX.IPv4.Packet.Composite_Field (Fld) then Size mod RFLX_Types.Byte'Size = 0 else State_Valid), Post => Valid_Next (Ctx, Fld) and then Invalid_Successor (Ctx, Fld) @@ -476,14 +476,14 @@ is procedure Set_Scalar (Ctx : in out Context; Fld : Field; Val : RFLX_Types.Base_Integer) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) + and then RFLX.IPv4.Packet.Has_Buffer (Ctx) + and then RFLX.IPv4.Packet.Valid_Next (Ctx, Fld) and then Fld in F_Version | F_IHL | F_DSCP | F_ECN | F_Total_Length | F_Identification | F_Flag_R | F_Flag_DF | F_Flag_MF | F_Fragment_Offset | F_TTL | F_Protocol | F_Header_Checksum | F_Source | F_Destination - and then Valid_Value (Fld, Val) - and then Valid_Size (Ctx, Fld, Field_Size (Ctx, Fld)) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld) - and then Field_Size (Ctx, Fld) in 1 .. RFLX_Types.Base_Integer'Size - and then RFLX_Types.Fits_Into (Val, Natural (Field_Size (Ctx, Fld))), + and then RFLX.IPv4.Packet.Valid_Value (Fld, Val) + and then RFLX.IPv4.Packet.Valid_Size (Ctx, Fld, RFLX.IPv4.Packet.Field_Size (Ctx, Fld)) + and then RFLX.IPv4.Packet.Available_Space (Ctx, Fld) >= RFLX.IPv4.Packet.Field_Size (Ctx, Fld) + and then RFLX.IPv4.Packet.Field_Size (Ctx, Fld) in 1 .. RFLX_Types.Base_Integer'Size + and then RFLX_Types.Fits_Into (Val, Natural (RFLX.IPv4.Packet.Field_Size (Ctx, Fld))), Post => Has_Buffer (Ctx) and Valid (Ctx, Fld) @@ -580,32 +580,32 @@ is procedure Set_Version (Ctx : in out Context; Val : RFLX.IPv4.Version) is begin - Set_Scalar (Ctx, F_Version, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_Version, RFLX.IPv4.To_Base_Integer (Val)); end Set_Version; procedure Set_IHL (Ctx : in out Context; Val : RFLX.IPv4.IHL) is begin - Set_Scalar (Ctx, F_IHL, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_IHL, RFLX.IPv4.To_Base_Integer (Val)); end Set_IHL; procedure Set_DSCP (Ctx : in out Context; Val : RFLX.IPv4.DCSP) is begin - Set_Scalar (Ctx, F_DSCP, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_DSCP, RFLX.IPv4.To_Base_Integer (Val)); end Set_DSCP; procedure Set_ECN (Ctx : in out Context; Val : RFLX.IPv4.ECN) is begin - Set_Scalar (Ctx, F_ECN, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_ECN, RFLX.IPv4.To_Base_Integer (Val)); end Set_ECN; procedure Set_Total_Length (Ctx : in out Context; Val : RFLX.IPv4.Total_Length) is begin - Set_Scalar (Ctx, F_Total_Length, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_Total_Length, RFLX.IPv4.To_Base_Integer (Val)); end Set_Total_Length; procedure Set_Identification (Ctx : in out Context; Val : RFLX.IPv4.Identification) is begin - Set_Scalar (Ctx, F_Identification, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_Identification, RFLX.IPv4.To_Base_Integer (Val)); end Set_Identification; procedure Set_Flag_R (Ctx : in out Context; Val : Boolean) is @@ -625,32 +625,32 @@ is procedure Set_Fragment_Offset (Ctx : in out Context; Val : RFLX.IPv4.Fragment_Offset) is begin - Set_Scalar (Ctx, F_Fragment_Offset, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_Fragment_Offset, RFLX.IPv4.To_Base_Integer (Val)); end Set_Fragment_Offset; procedure Set_TTL (Ctx : in out Context; Val : RFLX.IPv4.TTL) is begin - Set_Scalar (Ctx, F_TTL, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_TTL, RFLX.IPv4.To_Base_Integer (Val)); end Set_TTL; procedure Set_Protocol (Ctx : in out Context; Val : RFLX.IPv4.Protocol_Enum) is begin - Set_Scalar (Ctx, F_Protocol, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_Protocol, RFLX.IPv4.To_Base_Integer (Val)); end Set_Protocol; procedure Set_Header_Checksum (Ctx : in out Context; Val : RFLX.IPv4.Header_Checksum) is begin - Set_Scalar (Ctx, F_Header_Checksum, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_Header_Checksum, RFLX.IPv4.To_Base_Integer (Val)); end Set_Header_Checksum; procedure Set_Source (Ctx : in out Context; Val : RFLX.IPv4.Address) is begin - Set_Scalar (Ctx, F_Source, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_Source, RFLX.IPv4.To_Base_Integer (Val)); end Set_Source; procedure Set_Destination (Ctx : in out Context; Val : RFLX.IPv4.Address) is begin - Set_Scalar (Ctx, F_Destination, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_Destination, RFLX.IPv4.To_Base_Integer (Val)); end Set_Destination; procedure Set_Options_Empty (Ctx : in out Context) is @@ -667,24 +667,24 @@ is Set (Ctx, F_Payload, 0, 0, True, Unused_Buffer_First, Unused_Buffer_Last, Unused_Offset); end Set_Payload_Empty; - procedure Set_Options (Ctx : in out Context; Seq_Ctx : IPv4.Options.Context) is - Size : constant RFLX_Types.Bit_Length := RFLX_Types.To_Bit_Length (IPv4.Options.Byte_Size (Seq_Ctx)); + procedure Set_Options (Ctx : in out Context; Seq_Ctx : RFLX.IPv4.Options.Context) is + Size : constant RFLX_Types.Bit_Length := RFLX_Types.To_Bit_Length (RFLX.IPv4.Options.Byte_Size (Seq_Ctx)); Unused_First, Unused_Last : RFLX_Types.Bit_Index; Buffer_First, Buffer_Last : RFLX_Types.Index; Unused_Offset : RFLX_Types.Offset; begin Set (Ctx, F_Options, 0, Size, True, Buffer_First, Buffer_Last, Unused_Offset); - IPv4.Options.Copy (Seq_Ctx, Ctx.Buffer.all (Buffer_First .. Buffer_Last)); + RFLX.IPv4.Options.Copy (Seq_Ctx, Ctx.Buffer.all (Buffer_First .. Buffer_Last)); end Set_Options; procedure Initialize_Options_Private (Ctx : in out Context; Length : RFLX_Types.Length) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Options) - and then Valid_Length (Ctx, F_Options, Length) - and then RFLX_Types.To_Length (Available_Space (Ctx, F_Options)) >= Length - and then Field_First (Ctx, F_Options) mod RFLX_Types.Byte'Size = 1, + and then RFLX.IPv4.Packet.Has_Buffer (Ctx) + and then RFLX.IPv4.Packet.Valid_Next (Ctx, RFLX.IPv4.Packet.F_Options) + and then RFLX.IPv4.Packet.Valid_Length (Ctx, RFLX.IPv4.Packet.F_Options, Length) + and then RFLX_Types.To_Length (RFLX.IPv4.Packet.Available_Space (Ctx, RFLX.IPv4.Packet.F_Options)) >= Length + and then RFLX.IPv4.Packet.Field_First (Ctx, RFLX.IPv4.Packet.F_Options) mod RFLX_Types.Byte'Size = 1, Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Options) @@ -736,11 +736,11 @@ is procedure Initialize_Payload_Private (Ctx : in out Context; Length : RFLX_Types.Length) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Payload) - and then Valid_Length (Ctx, F_Payload, Length) - and then RFLX_Types.To_Length (Available_Space (Ctx, F_Payload)) >= Length - and then Field_First (Ctx, F_Payload) mod RFLX_Types.Byte'Size = 1, + and then RFLX.IPv4.Packet.Has_Buffer (Ctx) + and then RFLX.IPv4.Packet.Valid_Next (Ctx, RFLX.IPv4.Packet.F_Payload) + and then RFLX.IPv4.Packet.Valid_Length (Ctx, RFLX.IPv4.Packet.F_Payload, Length) + and then RFLX_Types.To_Length (RFLX.IPv4.Packet.Available_Space (Ctx, RFLX.IPv4.Packet.F_Payload)) >= Length + and then RFLX.IPv4.Packet.Field_First (Ctx, RFLX.IPv4.Packet.F_Payload) mod RFLX_Types.Byte'Size = 1, Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Payload) @@ -805,7 +805,7 @@ is Initialize_Payload_Private (Ctx, Length); end Generic_Set_Payload; - procedure Switch_To_Options (Ctx : in out Context; Seq_Ctx : out IPv4.Options.Context) is + procedure Switch_To_Options (Ctx : in out Context; Seq_Ctx : out RFLX.IPv4.Options.Context) is First : constant RFLX_Types.Bit_Index := Field_First (Ctx, F_Options); Last : constant RFLX_Types.Bit_Index := Field_Last (Ctx, F_Options); Buffer : RFLX_Types.Bytes_Ptr; @@ -820,15 +820,15 @@ is end if; Take_Buffer (Ctx, Buffer); pragma Warnings (Off, "unused assignment to ""Buffer"""); - IPv4.Options.Initialize (Seq_Ctx, Buffer, First, Last); + RFLX.IPv4.Options.Initialize (Seq_Ctx, Buffer, First, Last); pragma Warnings (On, "unused assignment to ""Buffer"""); end Switch_To_Options; - procedure Update_Options (Ctx : in out Context; Seq_Ctx : in out IPv4.Options.Context) is - Valid_Sequence : constant Boolean := IPv4.Options.Valid (Seq_Ctx); + procedure Update_Options (Ctx : in out Context; Seq_Ctx : in out RFLX.IPv4.Options.Context) is + Valid_Sequence : constant Boolean := RFLX.IPv4.Options.Valid (Seq_Ctx); Buffer : RFLX_Types.Bytes_Ptr; begin - IPv4.Options.Take_Buffer (Seq_Ctx, Buffer); + RFLX.IPv4.Options.Take_Buffer (Seq_Ctx, Buffer); Ctx.Buffer := Buffer; if Valid_Sequence then Ctx.Cursors (F_Options) := (State => S_Valid, First => Ctx.Cursors (F_Options).First, Last => Ctx.Cursors (F_Options).Last, Value => Ctx.Cursors (F_Options).Value, Predecessor => Ctx.Cursors (F_Options).Predecessor); diff --git a/tests/spark/generated/rflx-ipv4-packet.ads b/tests/spark/generated/rflx-ipv4-packet.ads index 3ab8c1fe4..1dec459dd 100644 --- a/tests/spark/generated/rflx-ipv4-packet.ads +++ b/tests/spark/generated/rflx-ipv4-packet.ads @@ -128,7 +128,7 @@ is procedure Reset (Ctx : in out Context) with Pre => not Ctx'Constrained - and Has_Buffer (Ctx), + and RFLX.IPv4.Packet.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -140,7 +140,7 @@ is procedure Reset (Ctx : in out Context; First : RFLX_Types.Bit_Index; Last : RFLX_Types.Bit_Length) with Pre => not Ctx'Constrained - and Has_Buffer (Ctx) + and RFLX.IPv4.Packet.Has_Buffer (Ctx) and RFLX_Types.To_Index (First) >= Ctx.Buffer_First and RFLX_Types.To_Index (Last) <= Ctx.Buffer_Last and First <= Last + 1 @@ -157,7 +157,7 @@ is procedure Take_Buffer (Ctx : in out Context; Buffer : out RFLX_Types.Bytes_Ptr) with Pre => - Has_Buffer (Ctx), + RFLX.IPv4.Packet.Has_Buffer (Ctx), Post => not Has_Buffer (Ctx) and Buffer /= null @@ -173,15 +173,15 @@ is procedure Copy (Ctx : Context; Buffer : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) - and then Byte_Size (Ctx) = Buffer'Length; + RFLX.IPv4.Packet.Has_Buffer (Ctx) + and then RFLX.IPv4.Packet.Structural_Valid_Message (Ctx) + and then RFLX.IPv4.Packet.Byte_Size (Ctx) = Buffer'Length; function Read (Ctx : Context) return RFLX_Types.Bytes with Ghost, Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx); + RFLX.IPv4.Packet.Has_Buffer (Ctx) + and then RFLX.IPv4.Packet.Structural_Valid_Message (Ctx); pragma Warnings (Off, "formal parameter ""*"" is not referenced"); @@ -195,8 +195,8 @@ is with function Pre (Buffer : RFLX_Types.Bytes) return Boolean is Always_Valid; procedure Generic_Read (Ctx : Context) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) + RFLX.IPv4.Packet.Has_Buffer (Ctx) + and then RFLX.IPv4.Packet.Structural_Valid_Message (Ctx) and then Pre (Read (Ctx)); pragma Warnings (Off, "formal parameter ""*"" is not referenced"); @@ -212,9 +212,9 @@ is procedure Generic_Write (Ctx : in out Context; Offset : RFLX_Types.Length := 0) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Offset < Buffer_Length (Ctx) - and then Pre (Buffer_Length (Ctx), Offset), + and then RFLX.IPv4.Packet.Has_Buffer (Ctx) + and then Offset < RFLX.IPv4.Packet.Buffer_Length (Ctx) + and then Pre (RFLX.IPv4.Packet.Buffer_Length (Ctx), Offset), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -226,7 +226,7 @@ is function Buffer_Length (Ctx : Context) return RFLX_Types.Length with Pre => - Has_Buffer (Ctx); + RFLX.IPv4.Packet.Has_Buffer (Ctx); function Size (Ctx : Context) return RFLX_Types.Bit_Length with Post => @@ -236,16 +236,16 @@ is function Message_Last (Ctx : Context) return RFLX_Types.Bit_Length with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx); + RFLX.IPv4.Packet.Has_Buffer (Ctx) + and then RFLX.IPv4.Packet.Structural_Valid_Message (Ctx); function Written_Last (Ctx : Context) return RFLX_Types.Bit_Length; procedure Data (Ctx : Context; Data : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) - and then Data'Length = Byte_Size (Ctx); + RFLX.IPv4.Packet.Has_Buffer (Ctx) + and then RFLX.IPv4.Packet.Structural_Valid_Message (Ctx) + and then Data'Length = RFLX.IPv4.Packet.Byte_Size (Ctx); pragma Warnings (Off, "postcondition does not mention function result"); @@ -259,7 +259,7 @@ is function Path_Condition (Ctx : Context; Fld : Field) return Boolean with Pre => - Valid_Predecessor (Ctx, Fld), + RFLX.IPv4.Packet.Valid_Predecessor (Ctx, Fld), Post => True; @@ -269,11 +269,11 @@ is function Field_Condition (Ctx : Context; Fld : Field; Val : RFLX_Types.Base_Integer) return Boolean with Pre => - Has_Buffer (Ctx) - and then Valid_Predecessor (Ctx, Fld) - and then Valid_Value (Fld, Val) - and then Valid_Next (Ctx, Fld) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld), + RFLX.IPv4.Packet.Has_Buffer (Ctx) + and then RFLX.IPv4.Packet.Valid_Predecessor (Ctx, Fld) + and then RFLX.IPv4.Packet.Valid_Value (Fld, Val) + and then RFLX.IPv4.Packet.Valid_Next (Ctx, Fld) + and then RFLX.IPv4.Packet.Available_Space (Ctx, Fld) >= RFLX.IPv4.Packet.Field_Size (Ctx, Fld), Post => True; @@ -281,7 +281,7 @@ is function Field_Size (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld), + RFLX.IPv4.Packet.Valid_Next (Ctx, Fld), Post => (case Fld is when F_Options | F_Payload => @@ -293,7 +293,7 @@ is function Field_First (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Index with Pre => - Valid_Next (Ctx, Fld), + RFLX.IPv4.Packet.Valid_Next (Ctx, Fld), Post => True; @@ -301,8 +301,8 @@ is function Field_Last (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld), + RFLX.IPv4.Packet.Valid_Next (Ctx, Fld) + and then RFLX.IPv4.Packet.Available_Space (Ctx, Fld) >= RFLX.IPv4.Packet.Field_Size (Ctx, Fld), Post => (case Fld is when F_Options | F_Payload => @@ -330,16 +330,16 @@ is function Available_Space (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld); + RFLX.IPv4.Packet.Valid_Next (Ctx, Fld); function Equal (Ctx : Context; Fld : Field; Data : RFLX_Types.Bytes) return Boolean with Pre => - Has_Buffer (Ctx) - and Valid_Next (Ctx, Fld); + RFLX.IPv4.Packet.Has_Buffer (Ctx) + and RFLX.IPv4.Packet.Valid_Next (Ctx, Fld); procedure Verify (Ctx : in out Context; Fld : Field) with Pre => - Has_Buffer (Ctx), + RFLX.IPv4.Packet.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -349,7 +349,7 @@ is procedure Verify_Message (Ctx : in out Context) with Pre => - Has_Buffer (Ctx), + RFLX.IPv4.Packet.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -371,11 +371,11 @@ is function Structural_Valid_Message (Ctx : Context) return Boolean with Pre => - Has_Buffer (Ctx); + RFLX.IPv4.Packet.Has_Buffer (Ctx); function Valid_Message (Ctx : Context) return Boolean with Pre => - Has_Buffer (Ctx); + RFLX.IPv4.Packet.Has_Buffer (Ctx); pragma Warnings (Off, "postcondition does not mention function result"); @@ -389,81 +389,81 @@ is function Get_Version (Ctx : Context) return RFLX.IPv4.Version with Pre => - Valid (Ctx, F_Version); + RFLX.IPv4.Packet.Valid (Ctx, RFLX.IPv4.Packet.F_Version); function Get_IHL (Ctx : Context) return RFLX.IPv4.IHL with Pre => - Valid (Ctx, F_IHL); + RFLX.IPv4.Packet.Valid (Ctx, RFLX.IPv4.Packet.F_IHL); function Get_DSCP (Ctx : Context) return RFLX.IPv4.DCSP with Pre => - Valid (Ctx, F_DSCP); + RFLX.IPv4.Packet.Valid (Ctx, RFLX.IPv4.Packet.F_DSCP); function Get_ECN (Ctx : Context) return RFLX.IPv4.ECN with Pre => - Valid (Ctx, F_ECN); + RFLX.IPv4.Packet.Valid (Ctx, RFLX.IPv4.Packet.F_ECN); function Get_Total_Length (Ctx : Context) return RFLX.IPv4.Total_Length with Pre => - Valid (Ctx, F_Total_Length); + RFLX.IPv4.Packet.Valid (Ctx, RFLX.IPv4.Packet.F_Total_Length); function Get_Identification (Ctx : Context) return RFLX.IPv4.Identification with Pre => - Valid (Ctx, F_Identification); + RFLX.IPv4.Packet.Valid (Ctx, RFLX.IPv4.Packet.F_Identification); function Get_Flag_R (Ctx : Context) return Boolean with Pre => - Valid (Ctx, F_Flag_R); + RFLX.IPv4.Packet.Valid (Ctx, RFLX.IPv4.Packet.F_Flag_R); function Get_Flag_DF (Ctx : Context) return Boolean with Pre => - Valid (Ctx, F_Flag_DF); + RFLX.IPv4.Packet.Valid (Ctx, RFLX.IPv4.Packet.F_Flag_DF); function Get_Flag_MF (Ctx : Context) return Boolean with Pre => - Valid (Ctx, F_Flag_MF); + RFLX.IPv4.Packet.Valid (Ctx, RFLX.IPv4.Packet.F_Flag_MF); function Get_Fragment_Offset (Ctx : Context) return RFLX.IPv4.Fragment_Offset with Pre => - Valid (Ctx, F_Fragment_Offset); + RFLX.IPv4.Packet.Valid (Ctx, RFLX.IPv4.Packet.F_Fragment_Offset); function Get_TTL (Ctx : Context) return RFLX.IPv4.TTL with Pre => - Valid (Ctx, F_TTL); + RFLX.IPv4.Packet.Valid (Ctx, RFLX.IPv4.Packet.F_TTL); function Get_Protocol (Ctx : Context) return RFLX.IPv4.Protocol with Pre => - Valid (Ctx, F_Protocol); + RFLX.IPv4.Packet.Valid (Ctx, RFLX.IPv4.Packet.F_Protocol); function Get_Header_Checksum (Ctx : Context) return RFLX.IPv4.Header_Checksum with Pre => - Valid (Ctx, F_Header_Checksum); + RFLX.IPv4.Packet.Valid (Ctx, RFLX.IPv4.Packet.F_Header_Checksum); function Get_Source (Ctx : Context) return RFLX.IPv4.Address with Pre => - Valid (Ctx, F_Source); + RFLX.IPv4.Packet.Valid (Ctx, RFLX.IPv4.Packet.F_Source); function Get_Destination (Ctx : Context) return RFLX.IPv4.Address with Pre => - Valid (Ctx, F_Destination); + RFLX.IPv4.Packet.Valid (Ctx, RFLX.IPv4.Packet.F_Destination); pragma Warnings (On, "precondition is always False"); function Get_Payload (Ctx : Context) return RFLX_Types.Bytes with Ghost, Pre => - Has_Buffer (Ctx) - and then Structural_Valid (Ctx, F_Payload) - and then Valid_Next (Ctx, F_Payload), + RFLX.IPv4.Packet.Has_Buffer (Ctx) + and then RFLX.IPv4.Packet.Structural_Valid (Ctx, RFLX.IPv4.Packet.F_Payload) + and then RFLX.IPv4.Packet.Valid_Next (Ctx, RFLX.IPv4.Packet.F_Payload), Post => Get_Payload'Result'Length = RFLX_Types.To_Length (Field_Size (Ctx, F_Payload)); procedure Get_Payload (Ctx : Context; Data : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid (Ctx, F_Payload) - and then Valid_Next (Ctx, F_Payload) - and then Data'Length = RFLX_Types.To_Length (Field_Size (Ctx, F_Payload)), + RFLX.IPv4.Packet.Has_Buffer (Ctx) + and then RFLX.IPv4.Packet.Structural_Valid (Ctx, RFLX.IPv4.Packet.F_Payload) + and then RFLX.IPv4.Packet.Valid_Next (Ctx, RFLX.IPv4.Packet.F_Payload) + and then Data'Length = RFLX_Types.To_Length (RFLX.IPv4.Packet.Field_Size (Ctx, RFLX.IPv4.Packet.F_Payload)), Post => Equal (Ctx, F_Payload, Data); @@ -471,14 +471,14 @@ is with procedure Process_Payload (Payload : RFLX_Types.Bytes); procedure Generic_Get_Payload (Ctx : Context) with Pre => - Has_Buffer (Ctx) - and Present (Ctx, F_Payload); + RFLX.IPv4.Packet.Has_Buffer (Ctx) + and RFLX.IPv4.Packet.Present (Ctx, RFLX.IPv4.Packet.F_Payload); pragma Warnings (Off, "postcondition does not mention function result"); function Valid_Length (Ctx : Context; Fld : Field; Length : RFLX_Types.Length) return Boolean with Pre => - Valid_Next (Ctx, Fld), + RFLX.IPv4.Packet.Valid_Next (Ctx, Fld), Post => True; @@ -490,11 +490,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Version) - and then RFLX.IPv4.Valid_Version (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_Version) >= Field_Size (Ctx, F_Version) - and then Field_Condition (Ctx, F_Version, To_Base_Integer (Val)), + and then RFLX.IPv4.Packet.Has_Buffer (Ctx) + and then RFLX.IPv4.Packet.Valid_Next (Ctx, RFLX.IPv4.Packet.F_Version) + and then RFLX.IPv4.Valid_Version (RFLX.IPv4.To_Base_Integer (Val)) + and then RFLX.IPv4.Packet.Available_Space (Ctx, RFLX.IPv4.Packet.F_Version) >= RFLX.IPv4.Packet.Field_Size (Ctx, RFLX.IPv4.Packet.F_Version) + and then RFLX.IPv4.Packet.Field_Condition (Ctx, RFLX.IPv4.Packet.F_Version, RFLX.IPv4.To_Base_Integer (Val)), Post => Has_Buffer (Ctx) and Valid (Ctx, F_Version) @@ -528,11 +528,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_IHL) - and then RFLX.IPv4.Valid_IHL (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_IHL) >= Field_Size (Ctx, F_IHL) - and then Field_Condition (Ctx, F_IHL, To_Base_Integer (Val)), + and then RFLX.IPv4.Packet.Has_Buffer (Ctx) + and then RFLX.IPv4.Packet.Valid_Next (Ctx, RFLX.IPv4.Packet.F_IHL) + and then RFLX.IPv4.Valid_IHL (RFLX.IPv4.To_Base_Integer (Val)) + and then RFLX.IPv4.Packet.Available_Space (Ctx, RFLX.IPv4.Packet.F_IHL) >= RFLX.IPv4.Packet.Field_Size (Ctx, RFLX.IPv4.Packet.F_IHL) + and then RFLX.IPv4.Packet.Field_Condition (Ctx, RFLX.IPv4.Packet.F_IHL, RFLX.IPv4.To_Base_Integer (Val)), Post => Has_Buffer (Ctx) and Valid (Ctx, F_IHL) @@ -569,11 +569,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_DSCP) - and then RFLX.IPv4.Valid_DCSP (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_DSCP) >= Field_Size (Ctx, F_DSCP) - and then Field_Condition (Ctx, F_DSCP, To_Base_Integer (Val)), + and then RFLX.IPv4.Packet.Has_Buffer (Ctx) + and then RFLX.IPv4.Packet.Valid_Next (Ctx, RFLX.IPv4.Packet.F_DSCP) + and then RFLX.IPv4.Valid_DCSP (RFLX.IPv4.To_Base_Integer (Val)) + and then RFLX.IPv4.Packet.Available_Space (Ctx, RFLX.IPv4.Packet.F_DSCP) >= RFLX.IPv4.Packet.Field_Size (Ctx, RFLX.IPv4.Packet.F_DSCP) + and then RFLX.IPv4.Packet.Field_Condition (Ctx, RFLX.IPv4.Packet.F_DSCP, RFLX.IPv4.To_Base_Integer (Val)), Post => Has_Buffer (Ctx) and Valid (Ctx, F_DSCP) @@ -610,11 +610,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_ECN) - and then RFLX.IPv4.Valid_ECN (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_ECN) >= Field_Size (Ctx, F_ECN) - and then Field_Condition (Ctx, F_ECN, To_Base_Integer (Val)), + and then RFLX.IPv4.Packet.Has_Buffer (Ctx) + and then RFLX.IPv4.Packet.Valid_Next (Ctx, RFLX.IPv4.Packet.F_ECN) + and then RFLX.IPv4.Valid_ECN (RFLX.IPv4.To_Base_Integer (Val)) + and then RFLX.IPv4.Packet.Available_Space (Ctx, RFLX.IPv4.Packet.F_ECN) >= RFLX.IPv4.Packet.Field_Size (Ctx, RFLX.IPv4.Packet.F_ECN) + and then RFLX.IPv4.Packet.Field_Condition (Ctx, RFLX.IPv4.Packet.F_ECN, RFLX.IPv4.To_Base_Integer (Val)), Post => Has_Buffer (Ctx) and Valid (Ctx, F_ECN) @@ -651,11 +651,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Total_Length) - and then RFLX.IPv4.Valid_Total_Length (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_Total_Length) >= Field_Size (Ctx, F_Total_Length) - and then Field_Condition (Ctx, F_Total_Length, To_Base_Integer (Val)), + and then RFLX.IPv4.Packet.Has_Buffer (Ctx) + and then RFLX.IPv4.Packet.Valid_Next (Ctx, RFLX.IPv4.Packet.F_Total_Length) + and then RFLX.IPv4.Valid_Total_Length (RFLX.IPv4.To_Base_Integer (Val)) + and then RFLX.IPv4.Packet.Available_Space (Ctx, RFLX.IPv4.Packet.F_Total_Length) >= RFLX.IPv4.Packet.Field_Size (Ctx, RFLX.IPv4.Packet.F_Total_Length) + and then RFLX.IPv4.Packet.Field_Condition (Ctx, RFLX.IPv4.Packet.F_Total_Length, RFLX.IPv4.To_Base_Integer (Val)), Post => Has_Buffer (Ctx) and Valid (Ctx, F_Total_Length) @@ -695,11 +695,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Identification) - and then RFLX.IPv4.Valid_Identification (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_Identification) >= Field_Size (Ctx, F_Identification) - and then Field_Condition (Ctx, F_Identification, To_Base_Integer (Val)), + and then RFLX.IPv4.Packet.Has_Buffer (Ctx) + and then RFLX.IPv4.Packet.Valid_Next (Ctx, RFLX.IPv4.Packet.F_Identification) + and then RFLX.IPv4.Valid_Identification (RFLX.IPv4.To_Base_Integer (Val)) + and then RFLX.IPv4.Packet.Available_Space (Ctx, RFLX.IPv4.Packet.F_Identification) >= RFLX.IPv4.Packet.Field_Size (Ctx, RFLX.IPv4.Packet.F_Identification) + and then RFLX.IPv4.Packet.Field_Condition (Ctx, RFLX.IPv4.Packet.F_Identification, RFLX.IPv4.To_Base_Integer (Val)), Post => Has_Buffer (Ctx) and Valid (Ctx, F_Identification) @@ -736,11 +736,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Flag_R) + and then RFLX.IPv4.Packet.Has_Buffer (Ctx) + and then RFLX.IPv4.Packet.Valid_Next (Ctx, RFLX.IPv4.Packet.F_Flag_R) and then Valid_Boolean (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_Flag_R) >= Field_Size (Ctx, F_Flag_R) - and then Field_Condition (Ctx, F_Flag_R, To_Base_Integer (Val)), + and then RFLX.IPv4.Packet.Available_Space (Ctx, RFLX.IPv4.Packet.F_Flag_R) >= RFLX.IPv4.Packet.Field_Size (Ctx, RFLX.IPv4.Packet.F_Flag_R) + and then RFLX.IPv4.Packet.Field_Condition (Ctx, RFLX.IPv4.Packet.F_Flag_R, To_Base_Integer (Val)), Post => Has_Buffer (Ctx) and Valid (Ctx, F_Flag_R) @@ -780,11 +780,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Flag_DF) + and then RFLX.IPv4.Packet.Has_Buffer (Ctx) + and then RFLX.IPv4.Packet.Valid_Next (Ctx, RFLX.IPv4.Packet.F_Flag_DF) and then Valid_Boolean (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_Flag_DF) >= Field_Size (Ctx, F_Flag_DF) - and then Field_Condition (Ctx, F_Flag_DF, To_Base_Integer (Val)), + and then RFLX.IPv4.Packet.Available_Space (Ctx, RFLX.IPv4.Packet.F_Flag_DF) >= RFLX.IPv4.Packet.Field_Size (Ctx, RFLX.IPv4.Packet.F_Flag_DF) + and then RFLX.IPv4.Packet.Field_Condition (Ctx, RFLX.IPv4.Packet.F_Flag_DF, To_Base_Integer (Val)), Post => Has_Buffer (Ctx) and Valid (Ctx, F_Flag_DF) @@ -821,11 +821,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Flag_MF) + and then RFLX.IPv4.Packet.Has_Buffer (Ctx) + and then RFLX.IPv4.Packet.Valid_Next (Ctx, RFLX.IPv4.Packet.F_Flag_MF) and then Valid_Boolean (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_Flag_MF) >= Field_Size (Ctx, F_Flag_MF) - and then Field_Condition (Ctx, F_Flag_MF, To_Base_Integer (Val)), + and then RFLX.IPv4.Packet.Available_Space (Ctx, RFLX.IPv4.Packet.F_Flag_MF) >= RFLX.IPv4.Packet.Field_Size (Ctx, RFLX.IPv4.Packet.F_Flag_MF) + and then RFLX.IPv4.Packet.Field_Condition (Ctx, RFLX.IPv4.Packet.F_Flag_MF, To_Base_Integer (Val)), Post => Has_Buffer (Ctx) and Valid (Ctx, F_Flag_MF) @@ -862,11 +862,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Fragment_Offset) - and then RFLX.IPv4.Valid_Fragment_Offset (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_Fragment_Offset) >= Field_Size (Ctx, F_Fragment_Offset) - and then Field_Condition (Ctx, F_Fragment_Offset, To_Base_Integer (Val)), + and then RFLX.IPv4.Packet.Has_Buffer (Ctx) + and then RFLX.IPv4.Packet.Valid_Next (Ctx, RFLX.IPv4.Packet.F_Fragment_Offset) + and then RFLX.IPv4.Valid_Fragment_Offset (RFLX.IPv4.To_Base_Integer (Val)) + and then RFLX.IPv4.Packet.Available_Space (Ctx, RFLX.IPv4.Packet.F_Fragment_Offset) >= RFLX.IPv4.Packet.Field_Size (Ctx, RFLX.IPv4.Packet.F_Fragment_Offset) + and then RFLX.IPv4.Packet.Field_Condition (Ctx, RFLX.IPv4.Packet.F_Fragment_Offset, RFLX.IPv4.To_Base_Integer (Val)), Post => Has_Buffer (Ctx) and Valid (Ctx, F_Fragment_Offset) @@ -903,11 +903,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_TTL) - and then RFLX.IPv4.Valid_TTL (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_TTL) >= Field_Size (Ctx, F_TTL) - and then Field_Condition (Ctx, F_TTL, To_Base_Integer (Val)), + and then RFLX.IPv4.Packet.Has_Buffer (Ctx) + and then RFLX.IPv4.Packet.Valid_Next (Ctx, RFLX.IPv4.Packet.F_TTL) + and then RFLX.IPv4.Valid_TTL (RFLX.IPv4.To_Base_Integer (Val)) + and then RFLX.IPv4.Packet.Available_Space (Ctx, RFLX.IPv4.Packet.F_TTL) >= RFLX.IPv4.Packet.Field_Size (Ctx, RFLX.IPv4.Packet.F_TTL) + and then RFLX.IPv4.Packet.Field_Condition (Ctx, RFLX.IPv4.Packet.F_TTL, RFLX.IPv4.To_Base_Integer (Val)), Post => Has_Buffer (Ctx) and Valid (Ctx, F_TTL) @@ -944,11 +944,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Protocol) - and then RFLX.IPv4.Valid_Protocol (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_Protocol) >= Field_Size (Ctx, F_Protocol) - and then Field_Condition (Ctx, F_Protocol, To_Base_Integer (Val)), + and then RFLX.IPv4.Packet.Has_Buffer (Ctx) + and then RFLX.IPv4.Packet.Valid_Next (Ctx, RFLX.IPv4.Packet.F_Protocol) + and then RFLX.IPv4.Valid_Protocol (RFLX.IPv4.To_Base_Integer (Val)) + and then RFLX.IPv4.Packet.Available_Space (Ctx, RFLX.IPv4.Packet.F_Protocol) >= RFLX.IPv4.Packet.Field_Size (Ctx, RFLX.IPv4.Packet.F_Protocol) + and then RFLX.IPv4.Packet.Field_Condition (Ctx, RFLX.IPv4.Packet.F_Protocol, RFLX.IPv4.To_Base_Integer (Val)), Post => Has_Buffer (Ctx) and Valid (Ctx, F_Protocol) @@ -985,11 +985,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Header_Checksum) - and then RFLX.IPv4.Valid_Header_Checksum (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_Header_Checksum) >= Field_Size (Ctx, F_Header_Checksum) - and then Field_Condition (Ctx, F_Header_Checksum, To_Base_Integer (Val)), + and then RFLX.IPv4.Packet.Has_Buffer (Ctx) + and then RFLX.IPv4.Packet.Valid_Next (Ctx, RFLX.IPv4.Packet.F_Header_Checksum) + and then RFLX.IPv4.Valid_Header_Checksum (RFLX.IPv4.To_Base_Integer (Val)) + and then RFLX.IPv4.Packet.Available_Space (Ctx, RFLX.IPv4.Packet.F_Header_Checksum) >= RFLX.IPv4.Packet.Field_Size (Ctx, RFLX.IPv4.Packet.F_Header_Checksum) + and then RFLX.IPv4.Packet.Field_Condition (Ctx, RFLX.IPv4.Packet.F_Header_Checksum, RFLX.IPv4.To_Base_Integer (Val)), Post => Has_Buffer (Ctx) and Valid (Ctx, F_Header_Checksum) @@ -1026,11 +1026,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Source) - and then RFLX.IPv4.Valid_Address (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_Source) >= Field_Size (Ctx, F_Source) - and then Field_Condition (Ctx, F_Source, To_Base_Integer (Val)), + and then RFLX.IPv4.Packet.Has_Buffer (Ctx) + and then RFLX.IPv4.Packet.Valid_Next (Ctx, RFLX.IPv4.Packet.F_Source) + and then RFLX.IPv4.Valid_Address (RFLX.IPv4.To_Base_Integer (Val)) + and then RFLX.IPv4.Packet.Available_Space (Ctx, RFLX.IPv4.Packet.F_Source) >= RFLX.IPv4.Packet.Field_Size (Ctx, RFLX.IPv4.Packet.F_Source) + and then RFLX.IPv4.Packet.Field_Condition (Ctx, RFLX.IPv4.Packet.F_Source, RFLX.IPv4.To_Base_Integer (Val)), Post => Has_Buffer (Ctx) and Valid (Ctx, F_Source) @@ -1067,11 +1067,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Destination) - and then RFLX.IPv4.Valid_Address (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_Destination) >= Field_Size (Ctx, F_Destination) - and then Field_Condition (Ctx, F_Destination, To_Base_Integer (Val)), + and then RFLX.IPv4.Packet.Has_Buffer (Ctx) + and then RFLX.IPv4.Packet.Valid_Next (Ctx, RFLX.IPv4.Packet.F_Destination) + and then RFLX.IPv4.Valid_Address (RFLX.IPv4.To_Base_Integer (Val)) + and then RFLX.IPv4.Packet.Available_Space (Ctx, RFLX.IPv4.Packet.F_Destination) >= RFLX.IPv4.Packet.Field_Size (Ctx, RFLX.IPv4.Packet.F_Destination) + and then RFLX.IPv4.Packet.Field_Condition (Ctx, RFLX.IPv4.Packet.F_Destination, RFLX.IPv4.To_Base_Integer (Val)), Post => Has_Buffer (Ctx) and Valid (Ctx, F_Destination) @@ -1109,11 +1109,11 @@ is procedure Set_Options_Empty (Ctx : in out Context) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Options) - and then Available_Space (Ctx, F_Options) >= Field_Size (Ctx, F_Options) - and then Field_Condition (Ctx, F_Options, 0) - and then Field_Size (Ctx, F_Options) = 0, + and then RFLX.IPv4.Packet.Has_Buffer (Ctx) + and then RFLX.IPv4.Packet.Valid_Next (Ctx, RFLX.IPv4.Packet.F_Options) + and then RFLX.IPv4.Packet.Available_Space (Ctx, RFLX.IPv4.Packet.F_Options) >= RFLX.IPv4.Packet.Field_Size (Ctx, RFLX.IPv4.Packet.F_Options) + and then RFLX.IPv4.Packet.Field_Condition (Ctx, RFLX.IPv4.Packet.F_Options, 0) + and then RFLX.IPv4.Packet.Field_Size (Ctx, RFLX.IPv4.Packet.F_Options) = 0, Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Options) @@ -1146,11 +1146,11 @@ is procedure Set_Payload_Empty (Ctx : in out Context) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Payload) - and then Available_Space (Ctx, F_Payload) >= Field_Size (Ctx, F_Payload) - and then Field_Condition (Ctx, F_Payload, 0) - and then Field_Size (Ctx, F_Payload) = 0, + and then RFLX.IPv4.Packet.Has_Buffer (Ctx) + and then RFLX.IPv4.Packet.Valid_Next (Ctx, RFLX.IPv4.Packet.F_Payload) + and then RFLX.IPv4.Packet.Available_Space (Ctx, RFLX.IPv4.Packet.F_Payload) >= RFLX.IPv4.Packet.Field_Size (Ctx, RFLX.IPv4.Packet.F_Payload) + and then RFLX.IPv4.Packet.Field_Condition (Ctx, RFLX.IPv4.Packet.F_Payload, 0) + and then RFLX.IPv4.Packet.Field_Size (Ctx, RFLX.IPv4.Packet.F_Payload) = 0, Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Payload) @@ -1178,16 +1178,16 @@ is and Field_First (Ctx, F_Payload) = Field_First (Ctx, F_Payload)'Old and Field_Last (Ctx, F_Payload) = Field_Last (Ctx, Predecessor (Ctx, F_Payload)) + Field_Size (Ctx, F_Payload); - procedure Set_Options (Ctx : in out Context; Seq_Ctx : IPv4.Options.Context) with + procedure Set_Options (Ctx : in out Context; Seq_Ctx : RFLX.IPv4.Options.Context) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Options) - and then Available_Space (Ctx, F_Options) >= Field_Size (Ctx, F_Options) - and then Field_Condition (Ctx, F_Options, 0) - and then Valid_Length (Ctx, F_Options, IPv4.Options.Byte_Size (Seq_Ctx)) - and then IPv4.Options.Has_Buffer (Seq_Ctx) - and then IPv4.Options.Valid (Seq_Ctx), + and then RFLX.IPv4.Packet.Has_Buffer (Ctx) + and then RFLX.IPv4.Packet.Valid_Next (Ctx, RFLX.IPv4.Packet.F_Options) + and then RFLX.IPv4.Packet.Available_Space (Ctx, RFLX.IPv4.Packet.F_Options) >= RFLX.IPv4.Packet.Field_Size (Ctx, RFLX.IPv4.Packet.F_Options) + and then RFLX.IPv4.Packet.Field_Condition (Ctx, RFLX.IPv4.Packet.F_Options, 0) + and then RFLX.IPv4.Packet.Valid_Length (Ctx, RFLX.IPv4.Packet.F_Options, RFLX.IPv4.Options.Byte_Size (Seq_Ctx)) + and then RFLX.IPv4.Options.Has_Buffer (Seq_Ctx) + and then RFLX.IPv4.Options.Valid (Seq_Ctx), Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Options) @@ -1221,9 +1221,9 @@ is procedure Initialize_Options (Ctx : in out Context) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Options) - and then Available_Space (Ctx, F_Options) >= Field_Size (Ctx, F_Options), + and then RFLX.IPv4.Packet.Has_Buffer (Ctx) + and then RFLX.IPv4.Packet.Valid_Next (Ctx, RFLX.IPv4.Packet.F_Options) + and then RFLX.IPv4.Packet.Available_Space (Ctx, RFLX.IPv4.Packet.F_Options) >= RFLX.IPv4.Packet.Field_Size (Ctx, RFLX.IPv4.Packet.F_Options), Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Options) @@ -1256,9 +1256,9 @@ is procedure Initialize_Payload (Ctx : in out Context) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Payload) - and then Available_Space (Ctx, F_Payload) >= Field_Size (Ctx, F_Payload), + and then RFLX.IPv4.Packet.Has_Buffer (Ctx) + and then RFLX.IPv4.Packet.Valid_Next (Ctx, RFLX.IPv4.Packet.F_Payload) + and then RFLX.IPv4.Packet.Available_Space (Ctx, RFLX.IPv4.Packet.F_Payload) >= RFLX.IPv4.Packet.Field_Size (Ctx, RFLX.IPv4.Packet.F_Payload), Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Payload) @@ -1289,12 +1289,12 @@ is procedure Set_Payload (Ctx : in out Context; Data : RFLX_Types.Bytes) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Payload) - and then Available_Space (Ctx, F_Payload) >= Field_Size (Ctx, F_Payload) - and then Valid_Length (Ctx, F_Payload, Data'Length) - and then Available_Space (Ctx, F_Payload) >= Data'Length * RFLX_Types.Byte'Size - and then Field_Condition (Ctx, F_Payload, 0), + and then RFLX.IPv4.Packet.Has_Buffer (Ctx) + and then RFLX.IPv4.Packet.Valid_Next (Ctx, RFLX.IPv4.Packet.F_Payload) + and then RFLX.IPv4.Packet.Available_Space (Ctx, RFLX.IPv4.Packet.F_Payload) >= RFLX.IPv4.Packet.Field_Size (Ctx, RFLX.IPv4.Packet.F_Payload) + and then RFLX.IPv4.Packet.Valid_Length (Ctx, RFLX.IPv4.Packet.F_Payload, Data'Length) + and then RFLX.IPv4.Packet.Available_Space (Ctx, RFLX.IPv4.Packet.F_Payload) >= Data'Length * RFLX_Types.Byte'Size + and then RFLX.IPv4.Packet.Field_Condition (Ctx, RFLX.IPv4.Packet.F_Payload, 0), Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Payload) @@ -1329,11 +1329,11 @@ is procedure Generic_Set_Payload (Ctx : in out Context; Length : RFLX_Types.Length) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Payload) - and then Available_Space (Ctx, F_Payload) >= Field_Size (Ctx, F_Payload) - and then Valid_Length (Ctx, F_Payload, Length) - and then RFLX_Types.To_Length (Available_Space (Ctx, F_Payload)) >= Length + and then RFLX.IPv4.Packet.Has_Buffer (Ctx) + and then RFLX.IPv4.Packet.Valid_Next (Ctx, RFLX.IPv4.Packet.F_Payload) + and then RFLX.IPv4.Packet.Available_Space (Ctx, RFLX.IPv4.Packet.F_Payload) >= RFLX.IPv4.Packet.Field_Size (Ctx, RFLX.IPv4.Packet.F_Payload) + and then RFLX.IPv4.Packet.Valid_Length (Ctx, RFLX.IPv4.Packet.F_Payload, Length) + and then RFLX_Types.To_Length (RFLX.IPv4.Packet.Available_Space (Ctx, RFLX.IPv4.Packet.F_Payload)) >= Length and then Process_Data_Pre (Length), Post => Has_Buffer (Ctx) @@ -1362,25 +1362,25 @@ is and Field_First (Ctx, F_Payload) = Field_First (Ctx, F_Payload)'Old and Field_Last (Ctx, F_Payload) = Field_Last (Ctx, Predecessor (Ctx, F_Payload)) + Field_Size (Ctx, F_Payload); - procedure Switch_To_Options (Ctx : in out Context; Seq_Ctx : out IPv4.Options.Context) with + procedure Switch_To_Options (Ctx : in out Context; Seq_Ctx : out RFLX.IPv4.Options.Context) with Pre => not Ctx'Constrained and then not Seq_Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Options) - and then Field_Size (Ctx, F_Options) > 0 - and then Field_First (Ctx, F_Options) rem RFLX_Types.Byte'Size = 1 - and then Available_Space (Ctx, F_Options) >= Field_Size (Ctx, F_Options) - and then Field_Condition (Ctx, F_Options, 0), + and then RFLX.IPv4.Packet.Has_Buffer (Ctx) + and then RFLX.IPv4.Packet.Valid_Next (Ctx, RFLX.IPv4.Packet.F_Options) + and then RFLX.IPv4.Packet.Field_Size (Ctx, RFLX.IPv4.Packet.F_Options) > 0 + and then RFLX.IPv4.Packet.Field_First (Ctx, RFLX.IPv4.Packet.F_Options) rem RFLX_Types.Byte'Size = 1 + and then RFLX.IPv4.Packet.Available_Space (Ctx, RFLX.IPv4.Packet.F_Options) >= RFLX.IPv4.Packet.Field_Size (Ctx, RFLX.IPv4.Packet.F_Options) + and then RFLX.IPv4.Packet.Field_Condition (Ctx, RFLX.IPv4.Packet.F_Options, 0), Post => - not Has_Buffer (Ctx) - and IPv4.Options.Has_Buffer (Seq_Ctx) + not RFLX.IPv4.Packet.Has_Buffer (Ctx) + and RFLX.IPv4.Options.Has_Buffer (Seq_Ctx) and Ctx.Buffer_First = Seq_Ctx.Buffer_First and Ctx.Buffer_Last = Seq_Ctx.Buffer_Last and Seq_Ctx.First = Field_First (Ctx, F_Options) and Seq_Ctx.Last = Field_Last (Ctx, F_Options) - and IPv4.Options.Valid (Seq_Ctx) - and IPv4.Options.Sequence_Last (Seq_Ctx) = Seq_Ctx.First - 1 + and RFLX.IPv4.Options.Valid (Seq_Ctx) + and RFLX.IPv4.Options.Sequence_Last (Seq_Ctx) = Seq_Ctx.First - 1 and Present (Ctx, F_Options) and Ctx.Buffer_First = Ctx.Buffer_First'Old and Ctx.Buffer_Last = Ctx.Buffer_Last'Old @@ -1400,16 +1400,16 @@ is and Valid_Next (Ctx, F_Payload)) and Invalid (Ctx, F_Payload)); - function Complete_Options (Ctx : Context; Seq_Ctx : IPv4.Options.Context) return Boolean with + function Complete_Options (Ctx : Context; Seq_Ctx : RFLX.IPv4.Options.Context) return Boolean with Pre => - Valid_Next (Ctx, F_Options); + RFLX.IPv4.Packet.Valid_Next (Ctx, RFLX.IPv4.Packet.F_Options); - procedure Update_Options (Ctx : in out Context; Seq_Ctx : in out IPv4.Options.Context) with + procedure Update_Options (Ctx : in out Context; Seq_Ctx : in out RFLX.IPv4.Options.Context) with Pre => - Present (Ctx, F_Options) - and then Complete_Options (Ctx, Seq_Ctx) - and then not Has_Buffer (Ctx) - and then IPv4.Options.Has_Buffer (Seq_Ctx) + RFLX.IPv4.Packet.Present (Ctx, RFLX.IPv4.Packet.F_Options) + and then RFLX.IPv4.Packet.Complete_Options (Ctx, Seq_Ctx) + and then not RFLX.IPv4.Packet.Has_Buffer (Ctx) + and then RFLX.IPv4.Options.Has_Buffer (Seq_Ctx) and then Ctx.Buffer_First = Seq_Ctx.Buffer_First and then Ctx.Buffer_Last = Seq_Ctx.Buffer_Last and then Seq_Ctx.First = Field_First (Ctx, F_Options) @@ -1417,7 +1417,7 @@ is Post => Present (Ctx, F_Options) and Has_Buffer (Ctx) - and not IPv4.Options.Has_Buffer (Seq_Ctx) + and not RFLX.IPv4.Options.Has_Buffer (Seq_Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old and Ctx.Buffer_Last = Ctx.Buffer_Last'Old and Ctx.First = Ctx.First'Old @@ -1739,7 +1739,7 @@ private function Initialized (Ctx : Context) return Boolean is (Ctx.Verified_Last = Ctx.First - 1 and then Valid_Next (Ctx, F_Version) - and then Field_First (Ctx, F_Version) rem RFLX_Types.Byte'Size = 1 + and then RFLX.IPv4.Packet.Field_First (Ctx, RFLX.IPv4.Packet.F_Version) rem RFLX_Types.Byte'Size = 1 and then Available_Space (Ctx, F_Version) = Ctx.Last - Ctx.First + 1 and then (for all F in Field => Invalid (Ctx, F))); @@ -1994,14 +1994,14 @@ private (Size = Field_Size (Ctx, Fld)) with Pre => - Valid_Next (Ctx, Fld); + RFLX.IPv4.Packet.Valid_Next (Ctx, Fld); function Valid_Length (Ctx : Context; Fld : Field; Length : RFLX_Types.Length) return Boolean is (Valid_Size (Ctx, Fld, RFLX_Types.To_Bit_Length (Length))); - function Complete_Options (Ctx : Context; Seq_Ctx : IPv4.Options.Context) return Boolean is - (IPv4.Options.Valid (Seq_Ctx) - and IPv4.Options.Size (Seq_Ctx) = Field_Size (Ctx, F_Options)); + function Complete_Options (Ctx : Context; Seq_Ctx : RFLX.IPv4.Options.Context) return Boolean is + (RFLX.IPv4.Options.Valid (Seq_Ctx) + and RFLX.IPv4.Options.Size (Seq_Ctx) = Field_Size (Ctx, F_Options)); function Context_Cursor (Ctx : Context; Fld : Field) return Field_Cursor is (Ctx.Cursors (Fld)); diff --git a/tests/spark/generated/rflx-sequence-inner_message.adb b/tests/spark/generated/rflx-sequence-inner_message.adb index 79d01d43e..a3d18c1f5 100644 --- a/tests/spark/generated/rflx-sequence-inner_message.adb +++ b/tests/spark/generated/rflx-sequence-inner_message.adb @@ -77,9 +77,9 @@ is F_Final)) with Pre => - Has_Buffer (Ctx) - and Structural_Valid (Ctx, Fld) - and Valid_Predecessor (Ctx, Fld); + RFLX.Sequence.Inner_Message.Has_Buffer (Ctx) + and RFLX.Sequence.Inner_Message.Structural_Valid (Ctx, Fld) + and RFLX.Sequence.Inner_Message.Valid_Predecessor (Ctx, Fld); pragma Warnings (On, "precondition is always False"); @@ -97,8 +97,8 @@ is and Field_First (Ctx, Fld) + Field_Size (Ctx, Fld) - 1 <= Ctx.Written_Last) with Pre => - Has_Buffer (Ctx) - and Valid_Next (Ctx, Fld); + RFLX.Sequence.Inner_Message.Has_Buffer (Ctx) + and RFLX.Sequence.Inner_Message.Valid_Next (Ctx, Fld); function Equal (Ctx : Context; Fld : Field; Data : RFLX_Types.Bytes) return Boolean is (Sufficient_Buffer_Length (Ctx, Fld) @@ -112,7 +112,7 @@ is procedure Reset_Dependent_Fields (Ctx : in out Context; Fld : Field) with Pre => - Valid_Next (Ctx, Fld), + RFLX.Sequence.Inner_Message.Valid_Next (Ctx, Fld), Post => Valid_Next (Ctx, Fld) and Invalid (Ctx.Cursors (Fld)) @@ -154,10 +154,10 @@ is function Get (Ctx : Context; Fld : Field) return RFLX_Types.Base_Integer with Pre => - Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) - and then Sufficient_Buffer_Length (Ctx, Fld) - and then not Composite_Field (Fld) + RFLX.Sequence.Inner_Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Inner_Message.Valid_Next (Ctx, Fld) + and then RFLX.Sequence.Inner_Message.Sufficient_Buffer_Length (Ctx, Fld) + and then not RFLX.Sequence.Inner_Message.Composite_Field (Fld) is First : constant RFLX_Types.Bit_Index := Field_First (Ctx, Fld); Last : constant RFLX_Types.Bit_Index := Field_Last (Ctx, Fld); @@ -243,12 +243,17 @@ is procedure Set (Ctx : in out Context; Fld : Field; Val : RFLX_Types.Base_Integer; Size : RFLX_Types.Bit_Length; State_Valid : Boolean; Buffer_First : out RFLX_Types.Index; Buffer_Last : out RFLX_Types.Index; Offset : out RFLX_Types.Offset) with Pre => - Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) - and then Valid_Value (Fld, Val) - and then Valid_Size (Ctx, Fld, Size) - and then Size <= Available_Space (Ctx, Fld) - and then (if Composite_Field (Fld) then Size mod RFLX_Types.Byte'Size = 0 else State_Valid), + RFLX.Sequence.Inner_Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Inner_Message.Valid_Next (Ctx, Fld) + and then RFLX.Sequence.Inner_Message.Valid_Value (Fld, Val) + and then RFLX.Sequence.Inner_Message.Valid_Size (Ctx, Fld, Size) + and then Size <= RFLX.Sequence.Inner_Message.Available_Space (Ctx, Fld) + and then (if + RFLX.Sequence.Inner_Message.Composite_Field (Fld) + then + Size mod RFLX_Types.Byte'Size = 0 + else + State_Valid), Post => Valid_Next (Ctx, Fld) and then Invalid_Successor (Ctx, Fld) @@ -308,14 +313,14 @@ is procedure Set_Scalar (Ctx : in out Context; Fld : Field; Val : RFLX_Types.Base_Integer) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) + and then RFLX.Sequence.Inner_Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Inner_Message.Valid_Next (Ctx, Fld) and then Fld in F_Length - and then Valid_Value (Fld, Val) - and then Valid_Size (Ctx, Fld, Field_Size (Ctx, Fld)) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld) - and then Field_Size (Ctx, Fld) in 1 .. RFLX_Types.Base_Integer'Size - and then RFLX_Types.Fits_Into (Val, Natural (Field_Size (Ctx, Fld))), + and then RFLX.Sequence.Inner_Message.Valid_Value (Fld, Val) + and then RFLX.Sequence.Inner_Message.Valid_Size (Ctx, Fld, RFLX.Sequence.Inner_Message.Field_Size (Ctx, Fld)) + and then RFLX.Sequence.Inner_Message.Available_Space (Ctx, Fld) >= RFLX.Sequence.Inner_Message.Field_Size (Ctx, Fld) + and then RFLX.Sequence.Inner_Message.Field_Size (Ctx, Fld) in 1 .. RFLX_Types.Base_Integer'Size + and then RFLX_Types.Fits_Into (Val, Natural (RFLX.Sequence.Inner_Message.Field_Size (Ctx, Fld))), Post => Has_Buffer (Ctx) and Valid (Ctx, Fld) @@ -348,7 +353,7 @@ is procedure Set_Length (Ctx : in out Context; Val : RFLX.Sequence.Length) is begin - Set_Scalar (Ctx, F_Length, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_Length, RFLX.Sequence.To_Base_Integer (Val)); end Set_Length; procedure Set_Payload_Empty (Ctx : in out Context) is @@ -361,11 +366,11 @@ is procedure Initialize_Payload_Private (Ctx : in out Context; Length : RFLX_Types.Length) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Payload) - and then Valid_Length (Ctx, F_Payload, Length) - and then RFLX_Types.To_Length (Available_Space (Ctx, F_Payload)) >= Length - and then Field_First (Ctx, F_Payload) mod RFLX_Types.Byte'Size = 1, + and then RFLX.Sequence.Inner_Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Inner_Message.Valid_Next (Ctx, RFLX.Sequence.Inner_Message.F_Payload) + and then RFLX.Sequence.Inner_Message.Valid_Length (Ctx, RFLX.Sequence.Inner_Message.F_Payload, Length) + and then RFLX_Types.To_Length (RFLX.Sequence.Inner_Message.Available_Space (Ctx, RFLX.Sequence.Inner_Message.F_Payload)) >= Length + and then RFLX.Sequence.Inner_Message.Field_First (Ctx, RFLX.Sequence.Inner_Message.F_Payload) mod RFLX_Types.Byte'Size = 1, Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Payload) diff --git a/tests/spark/generated/rflx-sequence-inner_message.ads b/tests/spark/generated/rflx-sequence-inner_message.ads index 700857b0c..2c84876e3 100644 --- a/tests/spark/generated/rflx-sequence-inner_message.ads +++ b/tests/spark/generated/rflx-sequence-inner_message.ads @@ -124,7 +124,7 @@ is procedure Reset (Ctx : in out Context) with Pre => not Ctx'Constrained - and Has_Buffer (Ctx), + and RFLX.Sequence.Inner_Message.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -136,7 +136,7 @@ is procedure Reset (Ctx : in out Context; First : RFLX_Types.Bit_Index; Last : RFLX_Types.Bit_Length) with Pre => not Ctx'Constrained - and Has_Buffer (Ctx) + and RFLX.Sequence.Inner_Message.Has_Buffer (Ctx) and RFLX_Types.To_Index (First) >= Ctx.Buffer_First and RFLX_Types.To_Index (Last) <= Ctx.Buffer_Last and First <= Last + 1 @@ -153,7 +153,7 @@ is procedure Take_Buffer (Ctx : in out Context; Buffer : out RFLX_Types.Bytes_Ptr) with Pre => - Has_Buffer (Ctx), + RFLX.Sequence.Inner_Message.Has_Buffer (Ctx), Post => not Has_Buffer (Ctx) and Buffer /= null @@ -169,15 +169,15 @@ is procedure Copy (Ctx : Context; Buffer : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) - and then Byte_Size (Ctx) = Buffer'Length; + RFLX.Sequence.Inner_Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Inner_Message.Structural_Valid_Message (Ctx) + and then RFLX.Sequence.Inner_Message.Byte_Size (Ctx) = Buffer'Length; function Read (Ctx : Context) return RFLX_Types.Bytes with Ghost, Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx); + RFLX.Sequence.Inner_Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Inner_Message.Structural_Valid_Message (Ctx); pragma Warnings (Off, "formal parameter ""*"" is not referenced"); @@ -191,8 +191,8 @@ is with function Pre (Buffer : RFLX_Types.Bytes) return Boolean is Always_Valid; procedure Generic_Read (Ctx : Context) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) + RFLX.Sequence.Inner_Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Inner_Message.Structural_Valid_Message (Ctx) and then Pre (Read (Ctx)); pragma Warnings (Off, "formal parameter ""*"" is not referenced"); @@ -208,9 +208,9 @@ is procedure Generic_Write (Ctx : in out Context; Offset : RFLX_Types.Length := 0) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Offset < Buffer_Length (Ctx) - and then Pre (Buffer_Length (Ctx), Offset), + and then RFLX.Sequence.Inner_Message.Has_Buffer (Ctx) + and then Offset < RFLX.Sequence.Inner_Message.Buffer_Length (Ctx) + and then Pre (RFLX.Sequence.Inner_Message.Buffer_Length (Ctx), Offset), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -222,7 +222,7 @@ is function Buffer_Length (Ctx : Context) return RFLX_Types.Length with Pre => - Has_Buffer (Ctx); + RFLX.Sequence.Inner_Message.Has_Buffer (Ctx); function Size (Ctx : Context) return RFLX_Types.Bit_Length with Post => @@ -232,16 +232,16 @@ is function Message_Last (Ctx : Context) return RFLX_Types.Bit_Length with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx); + RFLX.Sequence.Inner_Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Inner_Message.Structural_Valid_Message (Ctx); function Written_Last (Ctx : Context) return RFLX_Types.Bit_Length; procedure Data (Ctx : Context; Data : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) - and then Data'Length = Byte_Size (Ctx); + RFLX.Sequence.Inner_Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Inner_Message.Structural_Valid_Message (Ctx) + and then Data'Length = RFLX.Sequence.Inner_Message.Byte_Size (Ctx); pragma Warnings (Off, "postcondition does not mention function result"); @@ -255,7 +255,7 @@ is function Path_Condition (Ctx : Context; Fld : Field) return Boolean with Pre => - Valid_Predecessor (Ctx, Fld), + RFLX.Sequence.Inner_Message.Valid_Predecessor (Ctx, Fld), Post => True; @@ -265,10 +265,10 @@ is function Field_Condition (Ctx : Context; Fld : Field) return Boolean with Pre => - Has_Buffer (Ctx) - and then Valid_Predecessor (Ctx, Fld) - and then Valid_Next (Ctx, Fld) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld), + RFLX.Sequence.Inner_Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Inner_Message.Valid_Predecessor (Ctx, Fld) + and then RFLX.Sequence.Inner_Message.Valid_Next (Ctx, Fld) + and then RFLX.Sequence.Inner_Message.Available_Space (Ctx, Fld) >= RFLX.Sequence.Inner_Message.Field_Size (Ctx, Fld), Post => True; @@ -276,7 +276,7 @@ is function Field_Size (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld), + RFLX.Sequence.Inner_Message.Valid_Next (Ctx, Fld), Post => (case Fld is when F_Payload => @@ -288,7 +288,7 @@ is function Field_First (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Index with Pre => - Valid_Next (Ctx, Fld), + RFLX.Sequence.Inner_Message.Valid_Next (Ctx, Fld), Post => True; @@ -296,8 +296,8 @@ is function Field_Last (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld), + RFLX.Sequence.Inner_Message.Valid_Next (Ctx, Fld) + and then RFLX.Sequence.Inner_Message.Available_Space (Ctx, Fld) >= RFLX.Sequence.Inner_Message.Field_Size (Ctx, Fld), Post => (case Fld is when F_Payload => @@ -325,16 +325,16 @@ is function Available_Space (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld); + RFLX.Sequence.Inner_Message.Valid_Next (Ctx, Fld); function Equal (Ctx : Context; Fld : Field; Data : RFLX_Types.Bytes) return Boolean with Pre => - Has_Buffer (Ctx) - and Valid_Next (Ctx, Fld); + RFLX.Sequence.Inner_Message.Has_Buffer (Ctx) + and RFLX.Sequence.Inner_Message.Valid_Next (Ctx, Fld); procedure Verify (Ctx : in out Context; Fld : Field) with Pre => - Has_Buffer (Ctx), + RFLX.Sequence.Inner_Message.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -344,7 +344,7 @@ is procedure Verify_Message (Ctx : in out Context) with Pre => - Has_Buffer (Ctx), + RFLX.Sequence.Inner_Message.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -366,11 +366,11 @@ is function Structural_Valid_Message (Ctx : Context) return Boolean with Pre => - Has_Buffer (Ctx); + RFLX.Sequence.Inner_Message.Has_Buffer (Ctx); function Valid_Message (Ctx : Context) return Boolean with Pre => - Has_Buffer (Ctx); + RFLX.Sequence.Inner_Message.Has_Buffer (Ctx); pragma Warnings (Off, "postcondition does not mention function result"); @@ -384,25 +384,25 @@ is function Get_Length (Ctx : Context) return RFLX.Sequence.Length with Pre => - Valid (Ctx, F_Length); + RFLX.Sequence.Inner_Message.Valid (Ctx, RFLX.Sequence.Inner_Message.F_Length); pragma Warnings (On, "precondition is always False"); function Get_Payload (Ctx : Context) return RFLX_Types.Bytes with Ghost, Pre => - Has_Buffer (Ctx) - and then Structural_Valid (Ctx, F_Payload) - and then Valid_Next (Ctx, F_Payload), + RFLX.Sequence.Inner_Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Inner_Message.Structural_Valid (Ctx, RFLX.Sequence.Inner_Message.F_Payload) + and then RFLX.Sequence.Inner_Message.Valid_Next (Ctx, RFLX.Sequence.Inner_Message.F_Payload), Post => Get_Payload'Result'Length = RFLX_Types.To_Length (Field_Size (Ctx, F_Payload)); procedure Get_Payload (Ctx : Context; Data : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid (Ctx, F_Payload) - and then Valid_Next (Ctx, F_Payload) - and then Data'Length = RFLX_Types.To_Length (Field_Size (Ctx, F_Payload)), + RFLX.Sequence.Inner_Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Inner_Message.Structural_Valid (Ctx, RFLX.Sequence.Inner_Message.F_Payload) + and then RFLX.Sequence.Inner_Message.Valid_Next (Ctx, RFLX.Sequence.Inner_Message.F_Payload) + and then Data'Length = RFLX_Types.To_Length (RFLX.Sequence.Inner_Message.Field_Size (Ctx, RFLX.Sequence.Inner_Message.F_Payload)), Post => Equal (Ctx, F_Payload, Data); @@ -410,14 +410,14 @@ is with procedure Process_Payload (Payload : RFLX_Types.Bytes); procedure Generic_Get_Payload (Ctx : Context) with Pre => - Has_Buffer (Ctx) - and Present (Ctx, F_Payload); + RFLX.Sequence.Inner_Message.Has_Buffer (Ctx) + and RFLX.Sequence.Inner_Message.Present (Ctx, RFLX.Sequence.Inner_Message.F_Payload); pragma Warnings (Off, "postcondition does not mention function result"); function Valid_Length (Ctx : Context; Fld : Field; Length : RFLX_Types.Length) return Boolean with Pre => - Valid_Next (Ctx, Fld), + RFLX.Sequence.Inner_Message.Valid_Next (Ctx, Fld), Post => True; @@ -429,11 +429,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Length) - and then RFLX.Sequence.Valid_Length (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_Length) >= Field_Size (Ctx, F_Length) - and then Field_Condition (Ctx, F_Length), + and then RFLX.Sequence.Inner_Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Inner_Message.Valid_Next (Ctx, RFLX.Sequence.Inner_Message.F_Length) + and then RFLX.Sequence.Valid_Length (RFLX.Sequence.To_Base_Integer (Val)) + and then RFLX.Sequence.Inner_Message.Available_Space (Ctx, RFLX.Sequence.Inner_Message.F_Length) >= RFLX.Sequence.Inner_Message.Field_Size (Ctx, RFLX.Sequence.Inner_Message.F_Length) + and then RFLX.Sequence.Inner_Message.Field_Condition (Ctx, RFLX.Sequence.Inner_Message.F_Length), Post => Has_Buffer (Ctx) and Valid (Ctx, F_Length) @@ -454,11 +454,11 @@ is procedure Set_Payload_Empty (Ctx : in out Context) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Payload) - and then Available_Space (Ctx, F_Payload) >= Field_Size (Ctx, F_Payload) - and then Field_Condition (Ctx, F_Payload) - and then Field_Size (Ctx, F_Payload) = 0, + and then RFLX.Sequence.Inner_Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Inner_Message.Valid_Next (Ctx, RFLX.Sequence.Inner_Message.F_Payload) + and then RFLX.Sequence.Inner_Message.Available_Space (Ctx, RFLX.Sequence.Inner_Message.F_Payload) >= RFLX.Sequence.Inner_Message.Field_Size (Ctx, RFLX.Sequence.Inner_Message.F_Payload) + and then RFLX.Sequence.Inner_Message.Field_Condition (Ctx, RFLX.Sequence.Inner_Message.F_Payload) + and then RFLX.Sequence.Inner_Message.Field_Size (Ctx, RFLX.Sequence.Inner_Message.F_Payload) = 0, Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Payload) @@ -476,9 +476,9 @@ is procedure Initialize_Payload (Ctx : in out Context) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Payload) - and then Available_Space (Ctx, F_Payload) >= Field_Size (Ctx, F_Payload), + and then RFLX.Sequence.Inner_Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Inner_Message.Valid_Next (Ctx, RFLX.Sequence.Inner_Message.F_Payload) + and then RFLX.Sequence.Inner_Message.Available_Space (Ctx, RFLX.Sequence.Inner_Message.F_Payload) >= RFLX.Sequence.Inner_Message.Field_Size (Ctx, RFLX.Sequence.Inner_Message.F_Payload), Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Payload) @@ -496,12 +496,12 @@ is procedure Set_Payload (Ctx : in out Context; Data : RFLX_Types.Bytes) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Payload) - and then Available_Space (Ctx, F_Payload) >= Field_Size (Ctx, F_Payload) - and then Valid_Length (Ctx, F_Payload, Data'Length) - and then Available_Space (Ctx, F_Payload) >= Data'Length * RFLX_Types.Byte'Size - and then Field_Condition (Ctx, F_Payload), + and then RFLX.Sequence.Inner_Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Inner_Message.Valid_Next (Ctx, RFLX.Sequence.Inner_Message.F_Payload) + and then RFLX.Sequence.Inner_Message.Available_Space (Ctx, RFLX.Sequence.Inner_Message.F_Payload) >= RFLX.Sequence.Inner_Message.Field_Size (Ctx, RFLX.Sequence.Inner_Message.F_Payload) + and then RFLX.Sequence.Inner_Message.Valid_Length (Ctx, RFLX.Sequence.Inner_Message.F_Payload, Data'Length) + and then RFLX.Sequence.Inner_Message.Available_Space (Ctx, RFLX.Sequence.Inner_Message.F_Payload) >= Data'Length * RFLX_Types.Byte'Size + and then RFLX.Sequence.Inner_Message.Field_Condition (Ctx, RFLX.Sequence.Inner_Message.F_Payload), Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Payload) @@ -523,11 +523,11 @@ is procedure Generic_Set_Payload (Ctx : in out Context; Length : RFLX_Types.Length) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Payload) - and then Available_Space (Ctx, F_Payload) >= Field_Size (Ctx, F_Payload) - and then Valid_Length (Ctx, F_Payload, Length) - and then RFLX_Types.To_Length (Available_Space (Ctx, F_Payload)) >= Length + and then RFLX.Sequence.Inner_Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Inner_Message.Valid_Next (Ctx, RFLX.Sequence.Inner_Message.F_Payload) + and then RFLX.Sequence.Inner_Message.Available_Space (Ctx, RFLX.Sequence.Inner_Message.F_Payload) >= RFLX.Sequence.Inner_Message.Field_Size (Ctx, RFLX.Sequence.Inner_Message.F_Payload) + and then RFLX.Sequence.Inner_Message.Valid_Length (Ctx, RFLX.Sequence.Inner_Message.F_Payload, Length) + and then RFLX_Types.To_Length (RFLX.Sequence.Inner_Message.Available_Space (Ctx, RFLX.Sequence.Inner_Message.F_Payload)) >= Length and then Process_Data_Pre (Length), Post => Has_Buffer (Ctx) @@ -568,8 +568,8 @@ is procedure To_Structure (Ctx : Context; Struct : out Structure) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx), + RFLX.Sequence.Inner_Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Inner_Message.Structural_Valid_Message (Ctx), Post => Valid_Structure (Struct); @@ -578,9 +578,9 @@ is procedure To_Context (Struct : Structure; Ctx : in out Context) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Structure (Struct) - and then Sufficient_Buffer_Length (Ctx, Struct), + and then RFLX.Sequence.Inner_Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Inner_Message.Valid_Structure (Struct) + and then RFLX.Sequence.Inner_Message.Sufficient_Buffer_Length (Ctx, Struct), Post => Has_Buffer (Ctx) and Structural_Valid_Message (Ctx) @@ -682,7 +682,7 @@ private function Initialized (Ctx : Context) return Boolean is (Ctx.Verified_Last = Ctx.First - 1 and then Valid_Next (Ctx, F_Length) - and then Field_First (Ctx, F_Length) rem RFLX_Types.Byte'Size = 1 + and then RFLX.Sequence.Inner_Message.Field_First (Ctx, RFLX.Sequence.Inner_Message.F_Length) rem RFLX_Types.Byte'Size = 1 and then Available_Space (Ctx, F_Length) = Ctx.Last - Ctx.First + 1 and then (for all F in Field => Invalid (Ctx, F))); @@ -796,7 +796,7 @@ private (Size = Field_Size (Ctx, Fld)) with Pre => - Valid_Next (Ctx, Fld); + RFLX.Sequence.Inner_Message.Valid_Next (Ctx, Fld); function Valid_Length (Ctx : Context; Fld : Field; Length : RFLX_Types.Length) return Boolean is (Valid_Size (Ctx, Fld, RFLX_Types.To_Bit_Length (Length))); diff --git a/tests/spark/generated/rflx-sequence-message.adb b/tests/spark/generated/rflx-sequence-message.adb index 7f9ca69e8..5f2cf8871 100644 --- a/tests/spark/generated/rflx-sequence-message.adb +++ b/tests/spark/generated/rflx-sequence-message.adb @@ -83,9 +83,9 @@ is F_Final)) with Pre => - Has_Buffer (Ctx) - and Structural_Valid (Ctx, Fld) - and Valid_Predecessor (Ctx, Fld); + RFLX.Sequence.Message.Has_Buffer (Ctx) + and RFLX.Sequence.Message.Structural_Valid (Ctx, Fld) + and RFLX.Sequence.Message.Valid_Predecessor (Ctx, Fld); pragma Warnings (On, "precondition is always False"); @@ -109,8 +109,8 @@ is and Field_First (Ctx, Fld) + Field_Size (Ctx, Fld) - 1 <= Ctx.Written_Last) with Pre => - Has_Buffer (Ctx) - and Valid_Next (Ctx, Fld); + RFLX.Sequence.Message.Has_Buffer (Ctx) + and RFLX.Sequence.Message.Valid_Next (Ctx, Fld); function Equal (Ctx : Context; Fld : Field; Data : RFLX_Types.Bytes) return Boolean is (Sufficient_Buffer_Length (Ctx, Fld) @@ -124,7 +124,7 @@ is procedure Reset_Dependent_Fields (Ctx : in out Context; Fld : Field) with Pre => - Valid_Next (Ctx, Fld), + RFLX.Sequence.Message.Valid_Next (Ctx, Fld), Post => Valid_Next (Ctx, Fld) and Invalid (Ctx.Cursors (Fld)) @@ -166,10 +166,10 @@ is function Get (Ctx : Context; Fld : Field) return RFLX_Types.Base_Integer with Pre => - Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) - and then Sufficient_Buffer_Length (Ctx, Fld) - and then not Composite_Field (Fld) + RFLX.Sequence.Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Message.Valid_Next (Ctx, Fld) + and then RFLX.Sequence.Message.Sufficient_Buffer_Length (Ctx, Fld) + and then not RFLX.Sequence.Message.Composite_Field (Fld) is First : constant RFLX_Types.Bit_Index := Field_First (Ctx, Fld); Last : constant RFLX_Types.Bit_Index := Field_Last (Ctx, Fld); @@ -233,12 +233,17 @@ is procedure Set (Ctx : in out Context; Fld : Field; Val : RFLX_Types.Base_Integer; Size : RFLX_Types.Bit_Length; State_Valid : Boolean; Buffer_First : out RFLX_Types.Index; Buffer_Last : out RFLX_Types.Index; Offset : out RFLX_Types.Offset) with Pre => - Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) - and then Valid_Value (Fld, Val) - and then Valid_Size (Ctx, Fld, Size) - and then Size <= Available_Space (Ctx, Fld) - and then (if Composite_Field (Fld) then Size mod RFLX_Types.Byte'Size = 0 else State_Valid), + RFLX.Sequence.Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Message.Valid_Next (Ctx, Fld) + and then RFLX.Sequence.Message.Valid_Value (Fld, Val) + and then RFLX.Sequence.Message.Valid_Size (Ctx, Fld, Size) + and then Size <= RFLX.Sequence.Message.Available_Space (Ctx, Fld) + and then (if + RFLX.Sequence.Message.Composite_Field (Fld) + then + Size mod RFLX_Types.Byte'Size = 0 + else + State_Valid), Post => Valid_Next (Ctx, Fld) and then Invalid_Successor (Ctx, Fld) @@ -309,14 +314,14 @@ is procedure Set_Scalar (Ctx : in out Context; Fld : Field; Val : RFLX_Types.Base_Integer) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) + and then RFLX.Sequence.Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Message.Valid_Next (Ctx, Fld) and then Fld in F_Length - and then Valid_Value (Fld, Val) - and then Valid_Size (Ctx, Fld, Field_Size (Ctx, Fld)) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld) - and then Field_Size (Ctx, Fld) in 1 .. RFLX_Types.Base_Integer'Size - and then RFLX_Types.Fits_Into (Val, Natural (Field_Size (Ctx, Fld))), + and then RFLX.Sequence.Message.Valid_Value (Fld, Val) + and then RFLX.Sequence.Message.Valid_Size (Ctx, Fld, RFLX.Sequence.Message.Field_Size (Ctx, Fld)) + and then RFLX.Sequence.Message.Available_Space (Ctx, Fld) >= RFLX.Sequence.Message.Field_Size (Ctx, Fld) + and then RFLX.Sequence.Message.Field_Size (Ctx, Fld) in 1 .. RFLX_Types.Base_Integer'Size + and then RFLX_Types.Fits_Into (Val, Natural (RFLX.Sequence.Message.Field_Size (Ctx, Fld))), Post => Has_Buffer (Ctx) and Valid (Ctx, Fld) @@ -358,7 +363,7 @@ is procedure Set_Length (Ctx : in out Context; Val : RFLX.Sequence.Length) is begin - Set_Scalar (Ctx, F_Length, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_Length, RFLX.Sequence.To_Base_Integer (Val)); end Set_Length; procedure Set_Modular_Vector_Empty (Ctx : in out Context) is @@ -368,54 +373,54 @@ is Set (Ctx, F_Modular_Vector, 0, 0, True, Unused_Buffer_First, Unused_Buffer_Last, Unused_Offset); end Set_Modular_Vector_Empty; - procedure Set_Modular_Vector (Ctx : in out Context; Seq_Ctx : Sequence.Modular_Vector.Context) is - Size : constant RFLX_Types.Bit_Length := RFLX_Types.To_Bit_Length (Sequence.Modular_Vector.Byte_Size (Seq_Ctx)); + procedure Set_Modular_Vector (Ctx : in out Context; Seq_Ctx : RFLX.Sequence.Modular_Vector.Context) is + Size : constant RFLX_Types.Bit_Length := RFLX_Types.To_Bit_Length (RFLX.Sequence.Modular_Vector.Byte_Size (Seq_Ctx)); Unused_First, Unused_Last : RFLX_Types.Bit_Index; Buffer_First, Buffer_Last : RFLX_Types.Index; Unused_Offset : RFLX_Types.Offset; begin Set (Ctx, F_Modular_Vector, 0, Size, True, Buffer_First, Buffer_Last, Unused_Offset); - Sequence.Modular_Vector.Copy (Seq_Ctx, Ctx.Buffer.all (Buffer_First .. Buffer_Last)); + RFLX.Sequence.Modular_Vector.Copy (Seq_Ctx, Ctx.Buffer.all (Buffer_First .. Buffer_Last)); end Set_Modular_Vector; - procedure Set_Range_Vector (Ctx : in out Context; Seq_Ctx : Sequence.Range_Vector.Context) is - Size : constant RFLX_Types.Bit_Length := RFLX_Types.To_Bit_Length (Sequence.Range_Vector.Byte_Size (Seq_Ctx)); + procedure Set_Range_Vector (Ctx : in out Context; Seq_Ctx : RFLX.Sequence.Range_Vector.Context) is + Size : constant RFLX_Types.Bit_Length := RFLX_Types.To_Bit_Length (RFLX.Sequence.Range_Vector.Byte_Size (Seq_Ctx)); Unused_First, Unused_Last : RFLX_Types.Bit_Index; Buffer_First, Buffer_Last : RFLX_Types.Index; Unused_Offset : RFLX_Types.Offset; begin Set (Ctx, F_Range_Vector, 0, Size, True, Buffer_First, Buffer_Last, Unused_Offset); - Sequence.Range_Vector.Copy (Seq_Ctx, Ctx.Buffer.all (Buffer_First .. Buffer_Last)); + RFLX.Sequence.Range_Vector.Copy (Seq_Ctx, Ctx.Buffer.all (Buffer_First .. Buffer_Last)); end Set_Range_Vector; - procedure Set_Enumeration_Vector (Ctx : in out Context; Seq_Ctx : Sequence.Enumeration_Vector.Context) is - Size : constant RFLX_Types.Bit_Length := RFLX_Types.To_Bit_Length (Sequence.Enumeration_Vector.Byte_Size (Seq_Ctx)); + procedure Set_Enumeration_Vector (Ctx : in out Context; Seq_Ctx : RFLX.Sequence.Enumeration_Vector.Context) is + Size : constant RFLX_Types.Bit_Length := RFLX_Types.To_Bit_Length (RFLX.Sequence.Enumeration_Vector.Byte_Size (Seq_Ctx)); Unused_First, Unused_Last : RFLX_Types.Bit_Index; Buffer_First, Buffer_Last : RFLX_Types.Index; Unused_Offset : RFLX_Types.Offset; begin Set (Ctx, F_Enumeration_Vector, 0, Size, True, Buffer_First, Buffer_Last, Unused_Offset); - Sequence.Enumeration_Vector.Copy (Seq_Ctx, Ctx.Buffer.all (Buffer_First .. Buffer_Last)); + RFLX.Sequence.Enumeration_Vector.Copy (Seq_Ctx, Ctx.Buffer.all (Buffer_First .. Buffer_Last)); end Set_Enumeration_Vector; - procedure Set_AV_Enumeration_Vector (Ctx : in out Context; Seq_Ctx : Sequence.AV_Enumeration_Vector.Context) is - Size : constant RFLX_Types.Bit_Length := RFLX_Types.To_Bit_Length (Sequence.AV_Enumeration_Vector.Byte_Size (Seq_Ctx)); + procedure Set_AV_Enumeration_Vector (Ctx : in out Context; Seq_Ctx : RFLX.Sequence.AV_Enumeration_Vector.Context) is + Size : constant RFLX_Types.Bit_Length := RFLX_Types.To_Bit_Length (RFLX.Sequence.AV_Enumeration_Vector.Byte_Size (Seq_Ctx)); Unused_First, Unused_Last : RFLX_Types.Bit_Index; Buffer_First, Buffer_Last : RFLX_Types.Index; Unused_Offset : RFLX_Types.Offset; begin Set (Ctx, F_AV_Enumeration_Vector, 0, Size, True, Buffer_First, Buffer_Last, Unused_Offset); - Sequence.AV_Enumeration_Vector.Copy (Seq_Ctx, Ctx.Buffer.all (Buffer_First .. Buffer_Last)); + RFLX.Sequence.AV_Enumeration_Vector.Copy (Seq_Ctx, Ctx.Buffer.all (Buffer_First .. Buffer_Last)); end Set_AV_Enumeration_Vector; procedure Initialize_Modular_Vector_Private (Ctx : in out Context; Length : RFLX_Types.Length) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Modular_Vector) - and then Valid_Length (Ctx, F_Modular_Vector, Length) - and then RFLX_Types.To_Length (Available_Space (Ctx, F_Modular_Vector)) >= Length - and then Field_First (Ctx, F_Modular_Vector) mod RFLX_Types.Byte'Size = 1, + and then RFLX.Sequence.Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Message.Valid_Next (Ctx, RFLX.Sequence.Message.F_Modular_Vector) + and then RFLX.Sequence.Message.Valid_Length (Ctx, RFLX.Sequence.Message.F_Modular_Vector, Length) + and then RFLX_Types.To_Length (RFLX.Sequence.Message.Available_Space (Ctx, RFLX.Sequence.Message.F_Modular_Vector)) >= Length + and then RFLX.Sequence.Message.Field_First (Ctx, RFLX.Sequence.Message.F_Modular_Vector) mod RFLX_Types.Byte'Size = 1, Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Modular_Vector) @@ -456,11 +461,11 @@ is procedure Initialize_Range_Vector_Private (Ctx : in out Context; Length : RFLX_Types.Length) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Range_Vector) - and then Valid_Length (Ctx, F_Range_Vector, Length) - and then RFLX_Types.To_Length (Available_Space (Ctx, F_Range_Vector)) >= Length - and then Field_First (Ctx, F_Range_Vector) mod RFLX_Types.Byte'Size = 1, + and then RFLX.Sequence.Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Message.Valid_Next (Ctx, RFLX.Sequence.Message.F_Range_Vector) + and then RFLX.Sequence.Message.Valid_Length (Ctx, RFLX.Sequence.Message.F_Range_Vector, Length) + and then RFLX_Types.To_Length (RFLX.Sequence.Message.Available_Space (Ctx, RFLX.Sequence.Message.F_Range_Vector)) >= Length + and then RFLX.Sequence.Message.Field_First (Ctx, RFLX.Sequence.Message.F_Range_Vector) mod RFLX_Types.Byte'Size = 1, Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Range_Vector) @@ -500,11 +505,11 @@ is procedure Initialize_Enumeration_Vector_Private (Ctx : in out Context; Length : RFLX_Types.Length) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Enumeration_Vector) - and then Valid_Length (Ctx, F_Enumeration_Vector, Length) - and then RFLX_Types.To_Length (Available_Space (Ctx, F_Enumeration_Vector)) >= Length - and then Field_First (Ctx, F_Enumeration_Vector) mod RFLX_Types.Byte'Size = 1, + and then RFLX.Sequence.Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Message.Valid_Next (Ctx, RFLX.Sequence.Message.F_Enumeration_Vector) + and then RFLX.Sequence.Message.Valid_Length (Ctx, RFLX.Sequence.Message.F_Enumeration_Vector, Length) + and then RFLX_Types.To_Length (RFLX.Sequence.Message.Available_Space (Ctx, RFLX.Sequence.Message.F_Enumeration_Vector)) >= Length + and then RFLX.Sequence.Message.Field_First (Ctx, RFLX.Sequence.Message.F_Enumeration_Vector) mod RFLX_Types.Byte'Size = 1, Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Enumeration_Vector) @@ -543,11 +548,11 @@ is procedure Initialize_AV_Enumeration_Vector_Private (Ctx : in out Context; Length : RFLX_Types.Length) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_AV_Enumeration_Vector) - and then Valid_Length (Ctx, F_AV_Enumeration_Vector, Length) - and then RFLX_Types.To_Length (Available_Space (Ctx, F_AV_Enumeration_Vector)) >= Length - and then Field_First (Ctx, F_AV_Enumeration_Vector) mod RFLX_Types.Byte'Size = 1, + and then RFLX.Sequence.Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Message.Valid_Next (Ctx, RFLX.Sequence.Message.F_AV_Enumeration_Vector) + and then RFLX.Sequence.Message.Valid_Length (Ctx, RFLX.Sequence.Message.F_AV_Enumeration_Vector, Length) + and then RFLX_Types.To_Length (RFLX.Sequence.Message.Available_Space (Ctx, RFLX.Sequence.Message.F_AV_Enumeration_Vector)) >= Length + and then RFLX.Sequence.Message.Field_First (Ctx, RFLX.Sequence.Message.F_AV_Enumeration_Vector) mod RFLX_Types.Byte'Size = 1, Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_AV_Enumeration_Vector) @@ -580,7 +585,7 @@ is Initialize_AV_Enumeration_Vector_Private (Ctx, RFLX_Types.To_Length (Field_Size (Ctx, F_AV_Enumeration_Vector))); end Initialize_AV_Enumeration_Vector; - procedure Switch_To_Modular_Vector (Ctx : in out Context; Seq_Ctx : out Sequence.Modular_Vector.Context) is + procedure Switch_To_Modular_Vector (Ctx : in out Context; Seq_Ctx : out RFLX.Sequence.Modular_Vector.Context) is First : constant RFLX_Types.Bit_Index := Field_First (Ctx, F_Modular_Vector); Last : constant RFLX_Types.Bit_Index := Field_Last (Ctx, F_Modular_Vector); Buffer : RFLX_Types.Bytes_Ptr; @@ -595,11 +600,11 @@ is end if; Take_Buffer (Ctx, Buffer); pragma Warnings (Off, "unused assignment to ""Buffer"""); - Sequence.Modular_Vector.Initialize (Seq_Ctx, Buffer, First, Last); + RFLX.Sequence.Modular_Vector.Initialize (Seq_Ctx, Buffer, First, Last); pragma Warnings (On, "unused assignment to ""Buffer"""); end Switch_To_Modular_Vector; - procedure Switch_To_Range_Vector (Ctx : in out Context; Seq_Ctx : out Sequence.Range_Vector.Context) is + procedure Switch_To_Range_Vector (Ctx : in out Context; Seq_Ctx : out RFLX.Sequence.Range_Vector.Context) is First : constant RFLX_Types.Bit_Index := Field_First (Ctx, F_Range_Vector); Last : constant RFLX_Types.Bit_Index := Field_Last (Ctx, F_Range_Vector); Buffer : RFLX_Types.Bytes_Ptr; @@ -614,11 +619,11 @@ is end if; Take_Buffer (Ctx, Buffer); pragma Warnings (Off, "unused assignment to ""Buffer"""); - Sequence.Range_Vector.Initialize (Seq_Ctx, Buffer, First, Last); + RFLX.Sequence.Range_Vector.Initialize (Seq_Ctx, Buffer, First, Last); pragma Warnings (On, "unused assignment to ""Buffer"""); end Switch_To_Range_Vector; - procedure Switch_To_Enumeration_Vector (Ctx : in out Context; Seq_Ctx : out Sequence.Enumeration_Vector.Context) is + procedure Switch_To_Enumeration_Vector (Ctx : in out Context; Seq_Ctx : out RFLX.Sequence.Enumeration_Vector.Context) is First : constant RFLX_Types.Bit_Index := Field_First (Ctx, F_Enumeration_Vector); Last : constant RFLX_Types.Bit_Index := Field_Last (Ctx, F_Enumeration_Vector); Buffer : RFLX_Types.Bytes_Ptr; @@ -633,11 +638,11 @@ is end if; Take_Buffer (Ctx, Buffer); pragma Warnings (Off, "unused assignment to ""Buffer"""); - Sequence.Enumeration_Vector.Initialize (Seq_Ctx, Buffer, First, Last); + RFLX.Sequence.Enumeration_Vector.Initialize (Seq_Ctx, Buffer, First, Last); pragma Warnings (On, "unused assignment to ""Buffer"""); end Switch_To_Enumeration_Vector; - procedure Switch_To_AV_Enumeration_Vector (Ctx : in out Context; Seq_Ctx : out Sequence.AV_Enumeration_Vector.Context) is + procedure Switch_To_AV_Enumeration_Vector (Ctx : in out Context; Seq_Ctx : out RFLX.Sequence.AV_Enumeration_Vector.Context) is First : constant RFLX_Types.Bit_Index := Field_First (Ctx, F_AV_Enumeration_Vector); Last : constant RFLX_Types.Bit_Index := Field_Last (Ctx, F_AV_Enumeration_Vector); Buffer : RFLX_Types.Bytes_Ptr; @@ -652,48 +657,48 @@ is end if; Take_Buffer (Ctx, Buffer); pragma Warnings (Off, "unused assignment to ""Buffer"""); - Sequence.AV_Enumeration_Vector.Initialize (Seq_Ctx, Buffer, First, Last); + RFLX.Sequence.AV_Enumeration_Vector.Initialize (Seq_Ctx, Buffer, First, Last); pragma Warnings (On, "unused assignment to ""Buffer"""); end Switch_To_AV_Enumeration_Vector; - procedure Update_Modular_Vector (Ctx : in out Context; Seq_Ctx : in out Sequence.Modular_Vector.Context) is - Valid_Sequence : constant Boolean := Sequence.Modular_Vector.Valid (Seq_Ctx); + procedure Update_Modular_Vector (Ctx : in out Context; Seq_Ctx : in out RFLX.Sequence.Modular_Vector.Context) is + Valid_Sequence : constant Boolean := RFLX.Sequence.Modular_Vector.Valid (Seq_Ctx); Buffer : RFLX_Types.Bytes_Ptr; begin - Sequence.Modular_Vector.Take_Buffer (Seq_Ctx, Buffer); + RFLX.Sequence.Modular_Vector.Take_Buffer (Seq_Ctx, Buffer); Ctx.Buffer := Buffer; if Valid_Sequence then Ctx.Cursors (F_Modular_Vector) := (State => S_Valid, First => Ctx.Cursors (F_Modular_Vector).First, Last => Ctx.Cursors (F_Modular_Vector).Last, Value => Ctx.Cursors (F_Modular_Vector).Value, Predecessor => Ctx.Cursors (F_Modular_Vector).Predecessor); end if; end Update_Modular_Vector; - procedure Update_Range_Vector (Ctx : in out Context; Seq_Ctx : in out Sequence.Range_Vector.Context) is - Valid_Sequence : constant Boolean := Sequence.Range_Vector.Valid (Seq_Ctx); + procedure Update_Range_Vector (Ctx : in out Context; Seq_Ctx : in out RFLX.Sequence.Range_Vector.Context) is + Valid_Sequence : constant Boolean := RFLX.Sequence.Range_Vector.Valid (Seq_Ctx); Buffer : RFLX_Types.Bytes_Ptr; begin - Sequence.Range_Vector.Take_Buffer (Seq_Ctx, Buffer); + RFLX.Sequence.Range_Vector.Take_Buffer (Seq_Ctx, Buffer); Ctx.Buffer := Buffer; if Valid_Sequence then Ctx.Cursors (F_Range_Vector) := (State => S_Valid, First => Ctx.Cursors (F_Range_Vector).First, Last => Ctx.Cursors (F_Range_Vector).Last, Value => Ctx.Cursors (F_Range_Vector).Value, Predecessor => Ctx.Cursors (F_Range_Vector).Predecessor); end if; end Update_Range_Vector; - procedure Update_Enumeration_Vector (Ctx : in out Context; Seq_Ctx : in out Sequence.Enumeration_Vector.Context) is - Valid_Sequence : constant Boolean := Sequence.Enumeration_Vector.Valid (Seq_Ctx); + procedure Update_Enumeration_Vector (Ctx : in out Context; Seq_Ctx : in out RFLX.Sequence.Enumeration_Vector.Context) is + Valid_Sequence : constant Boolean := RFLX.Sequence.Enumeration_Vector.Valid (Seq_Ctx); Buffer : RFLX_Types.Bytes_Ptr; begin - Sequence.Enumeration_Vector.Take_Buffer (Seq_Ctx, Buffer); + RFLX.Sequence.Enumeration_Vector.Take_Buffer (Seq_Ctx, Buffer); Ctx.Buffer := Buffer; if Valid_Sequence then Ctx.Cursors (F_Enumeration_Vector) := (State => S_Valid, First => Ctx.Cursors (F_Enumeration_Vector).First, Last => Ctx.Cursors (F_Enumeration_Vector).Last, Value => Ctx.Cursors (F_Enumeration_Vector).Value, Predecessor => Ctx.Cursors (F_Enumeration_Vector).Predecessor); end if; end Update_Enumeration_Vector; - procedure Update_AV_Enumeration_Vector (Ctx : in out Context; Seq_Ctx : in out Sequence.AV_Enumeration_Vector.Context) is - Valid_Sequence : constant Boolean := Sequence.AV_Enumeration_Vector.Valid (Seq_Ctx); + procedure Update_AV_Enumeration_Vector (Ctx : in out Context; Seq_Ctx : in out RFLX.Sequence.AV_Enumeration_Vector.Context) is + Valid_Sequence : constant Boolean := RFLX.Sequence.AV_Enumeration_Vector.Valid (Seq_Ctx); Buffer : RFLX_Types.Bytes_Ptr; begin - Sequence.AV_Enumeration_Vector.Take_Buffer (Seq_Ctx, Buffer); + RFLX.Sequence.AV_Enumeration_Vector.Take_Buffer (Seq_Ctx, Buffer); Ctx.Buffer := Buffer; if Valid_Sequence then Ctx.Cursors (F_AV_Enumeration_Vector) := (State => S_Valid, First => Ctx.Cursors (F_AV_Enumeration_Vector).First, Last => Ctx.Cursors (F_AV_Enumeration_Vector).Last, Value => Ctx.Cursors (F_AV_Enumeration_Vector).Value, Predecessor => Ctx.Cursors (F_AV_Enumeration_Vector).Predecessor); diff --git a/tests/spark/generated/rflx-sequence-message.ads b/tests/spark/generated/rflx-sequence-message.ads index 236caa647..51f85a541 100644 --- a/tests/spark/generated/rflx-sequence-message.ads +++ b/tests/spark/generated/rflx-sequence-message.ads @@ -128,7 +128,7 @@ is procedure Reset (Ctx : in out Context) with Pre => not Ctx'Constrained - and Has_Buffer (Ctx), + and RFLX.Sequence.Message.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -140,7 +140,7 @@ is procedure Reset (Ctx : in out Context; First : RFLX_Types.Bit_Index; Last : RFLX_Types.Bit_Length) with Pre => not Ctx'Constrained - and Has_Buffer (Ctx) + and RFLX.Sequence.Message.Has_Buffer (Ctx) and RFLX_Types.To_Index (First) >= Ctx.Buffer_First and RFLX_Types.To_Index (Last) <= Ctx.Buffer_Last and First <= Last + 1 @@ -157,7 +157,7 @@ is procedure Take_Buffer (Ctx : in out Context; Buffer : out RFLX_Types.Bytes_Ptr) with Pre => - Has_Buffer (Ctx), + RFLX.Sequence.Message.Has_Buffer (Ctx), Post => not Has_Buffer (Ctx) and Buffer /= null @@ -173,15 +173,15 @@ is procedure Copy (Ctx : Context; Buffer : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) - and then Byte_Size (Ctx) = Buffer'Length; + RFLX.Sequence.Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Message.Structural_Valid_Message (Ctx) + and then RFLX.Sequence.Message.Byte_Size (Ctx) = Buffer'Length; function Read (Ctx : Context) return RFLX_Types.Bytes with Ghost, Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx); + RFLX.Sequence.Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Message.Structural_Valid_Message (Ctx); pragma Warnings (Off, "formal parameter ""*"" is not referenced"); @@ -195,8 +195,8 @@ is with function Pre (Buffer : RFLX_Types.Bytes) return Boolean is Always_Valid; procedure Generic_Read (Ctx : Context) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) + RFLX.Sequence.Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Message.Structural_Valid_Message (Ctx) and then Pre (Read (Ctx)); pragma Warnings (Off, "formal parameter ""*"" is not referenced"); @@ -212,9 +212,9 @@ is procedure Generic_Write (Ctx : in out Context; Offset : RFLX_Types.Length := 0) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Offset < Buffer_Length (Ctx) - and then Pre (Buffer_Length (Ctx), Offset), + and then RFLX.Sequence.Message.Has_Buffer (Ctx) + and then Offset < RFLX.Sequence.Message.Buffer_Length (Ctx) + and then Pre (RFLX.Sequence.Message.Buffer_Length (Ctx), Offset), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -226,7 +226,7 @@ is function Buffer_Length (Ctx : Context) return RFLX_Types.Length with Pre => - Has_Buffer (Ctx); + RFLX.Sequence.Message.Has_Buffer (Ctx); function Size (Ctx : Context) return RFLX_Types.Bit_Length with Post => @@ -236,16 +236,16 @@ is function Message_Last (Ctx : Context) return RFLX_Types.Bit_Length with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx); + RFLX.Sequence.Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Message.Structural_Valid_Message (Ctx); function Written_Last (Ctx : Context) return RFLX_Types.Bit_Length; procedure Data (Ctx : Context; Data : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) - and then Data'Length = Byte_Size (Ctx); + RFLX.Sequence.Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Message.Structural_Valid_Message (Ctx) + and then Data'Length = RFLX.Sequence.Message.Byte_Size (Ctx); pragma Warnings (Off, "postcondition does not mention function result"); @@ -259,7 +259,7 @@ is function Path_Condition (Ctx : Context; Fld : Field) return Boolean with Pre => - Valid_Predecessor (Ctx, Fld), + RFLX.Sequence.Message.Valid_Predecessor (Ctx, Fld), Post => True; @@ -269,10 +269,10 @@ is function Field_Condition (Ctx : Context; Fld : Field) return Boolean with Pre => - Has_Buffer (Ctx) - and then Valid_Predecessor (Ctx, Fld) - and then Valid_Next (Ctx, Fld) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld), + RFLX.Sequence.Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Message.Valid_Predecessor (Ctx, Fld) + and then RFLX.Sequence.Message.Valid_Next (Ctx, Fld) + and then RFLX.Sequence.Message.Available_Space (Ctx, Fld) >= RFLX.Sequence.Message.Field_Size (Ctx, Fld), Post => True; @@ -280,7 +280,7 @@ is function Field_Size (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld), + RFLX.Sequence.Message.Valid_Next (Ctx, Fld), Post => (case Fld is when F_Modular_Vector | F_Range_Vector | F_Enumeration_Vector | F_AV_Enumeration_Vector => @@ -292,7 +292,7 @@ is function Field_First (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Index with Pre => - Valid_Next (Ctx, Fld), + RFLX.Sequence.Message.Valid_Next (Ctx, Fld), Post => True; @@ -300,8 +300,8 @@ is function Field_Last (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld), + RFLX.Sequence.Message.Valid_Next (Ctx, Fld) + and then RFLX.Sequence.Message.Available_Space (Ctx, Fld) >= RFLX.Sequence.Message.Field_Size (Ctx, Fld), Post => (case Fld is when F_Modular_Vector | F_Range_Vector | F_Enumeration_Vector | F_AV_Enumeration_Vector => @@ -329,16 +329,16 @@ is function Available_Space (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld); + RFLX.Sequence.Message.Valid_Next (Ctx, Fld); function Equal (Ctx : Context; Fld : Field; Data : RFLX_Types.Bytes) return Boolean with Pre => - Has_Buffer (Ctx) - and Valid_Next (Ctx, Fld); + RFLX.Sequence.Message.Has_Buffer (Ctx) + and RFLX.Sequence.Message.Valid_Next (Ctx, Fld); procedure Verify (Ctx : in out Context; Fld : Field) with Pre => - Has_Buffer (Ctx), + RFLX.Sequence.Message.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -348,7 +348,7 @@ is procedure Verify_Message (Ctx : in out Context) with Pre => - Has_Buffer (Ctx), + RFLX.Sequence.Message.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -370,11 +370,11 @@ is function Structural_Valid_Message (Ctx : Context) return Boolean with Pre => - Has_Buffer (Ctx); + RFLX.Sequence.Message.Has_Buffer (Ctx); function Valid_Message (Ctx : Context) return Boolean with Pre => - Has_Buffer (Ctx); + RFLX.Sequence.Message.Has_Buffer (Ctx); pragma Warnings (Off, "postcondition does not mention function result"); @@ -388,7 +388,7 @@ is function Get_Length (Ctx : Context) return RFLX.Sequence.Length with Pre => - Valid (Ctx, F_Length); + RFLX.Sequence.Message.Valid (Ctx, RFLX.Sequence.Message.F_Length); pragma Warnings (On, "precondition is always False"); @@ -396,7 +396,7 @@ is function Valid_Length (Ctx : Context; Fld : Field; Length : RFLX_Types.Length) return Boolean with Pre => - Valid_Next (Ctx, Fld), + RFLX.Sequence.Message.Valid_Next (Ctx, Fld), Post => True; @@ -408,11 +408,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Length) - and then RFLX.Sequence.Valid_Length (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_Length) >= Field_Size (Ctx, F_Length) - and then Field_Condition (Ctx, F_Length), + and then RFLX.Sequence.Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Message.Valid_Next (Ctx, RFLX.Sequence.Message.F_Length) + and then RFLX.Sequence.Valid_Length (RFLX.Sequence.To_Base_Integer (Val)) + and then RFLX.Sequence.Message.Available_Space (Ctx, RFLX.Sequence.Message.F_Length) >= RFLX.Sequence.Message.Field_Size (Ctx, RFLX.Sequence.Message.F_Length) + and then RFLX.Sequence.Message.Field_Condition (Ctx, RFLX.Sequence.Message.F_Length), Post => Has_Buffer (Ctx) and Valid (Ctx, F_Length) @@ -436,11 +436,11 @@ is procedure Set_Modular_Vector_Empty (Ctx : in out Context) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Modular_Vector) - and then Available_Space (Ctx, F_Modular_Vector) >= Field_Size (Ctx, F_Modular_Vector) - and then Field_Condition (Ctx, F_Modular_Vector) - and then Field_Size (Ctx, F_Modular_Vector) = 0, + and then RFLX.Sequence.Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Message.Valid_Next (Ctx, RFLX.Sequence.Message.F_Modular_Vector) + and then RFLX.Sequence.Message.Available_Space (Ctx, RFLX.Sequence.Message.F_Modular_Vector) >= RFLX.Sequence.Message.Field_Size (Ctx, RFLX.Sequence.Message.F_Modular_Vector) + and then RFLX.Sequence.Message.Field_Condition (Ctx, RFLX.Sequence.Message.F_Modular_Vector) + and then RFLX.Sequence.Message.Field_Size (Ctx, RFLX.Sequence.Message.F_Modular_Vector) = 0, Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Modular_Vector) @@ -459,16 +459,16 @@ is and Field_First (Ctx, F_Modular_Vector) = Field_First (Ctx, F_Modular_Vector)'Old and Field_Last (Ctx, F_Modular_Vector) = Field_Last (Ctx, Predecessor (Ctx, F_Modular_Vector)) + Field_Size (Ctx, F_Modular_Vector); - procedure Set_Modular_Vector (Ctx : in out Context; Seq_Ctx : Sequence.Modular_Vector.Context) with + procedure Set_Modular_Vector (Ctx : in out Context; Seq_Ctx : RFLX.Sequence.Modular_Vector.Context) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Modular_Vector) - and then Available_Space (Ctx, F_Modular_Vector) >= Field_Size (Ctx, F_Modular_Vector) - and then Field_Condition (Ctx, F_Modular_Vector) - and then Valid_Length (Ctx, F_Modular_Vector, Sequence.Modular_Vector.Byte_Size (Seq_Ctx)) - and then Sequence.Modular_Vector.Has_Buffer (Seq_Ctx) - and then Sequence.Modular_Vector.Valid (Seq_Ctx), + and then RFLX.Sequence.Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Message.Valid_Next (Ctx, RFLX.Sequence.Message.F_Modular_Vector) + and then RFLX.Sequence.Message.Available_Space (Ctx, RFLX.Sequence.Message.F_Modular_Vector) >= RFLX.Sequence.Message.Field_Size (Ctx, RFLX.Sequence.Message.F_Modular_Vector) + and then RFLX.Sequence.Message.Field_Condition (Ctx, RFLX.Sequence.Message.F_Modular_Vector) + and then RFLX.Sequence.Message.Valid_Length (Ctx, RFLX.Sequence.Message.F_Modular_Vector, RFLX.Sequence.Modular_Vector.Byte_Size (Seq_Ctx)) + and then RFLX.Sequence.Modular_Vector.Has_Buffer (Seq_Ctx) + and then RFLX.Sequence.Modular_Vector.Valid (Seq_Ctx), Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Modular_Vector) @@ -488,16 +488,16 @@ is and Field_Last (Ctx, F_Modular_Vector) = Field_Last (Ctx, Predecessor (Ctx, F_Modular_Vector)) + Field_Size (Ctx, F_Modular_Vector) and (if Field_Size (Ctx, F_Modular_Vector) > 0 then Present (Ctx, F_Modular_Vector)); - procedure Set_Range_Vector (Ctx : in out Context; Seq_Ctx : Sequence.Range_Vector.Context) with + procedure Set_Range_Vector (Ctx : in out Context; Seq_Ctx : RFLX.Sequence.Range_Vector.Context) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Range_Vector) - and then Available_Space (Ctx, F_Range_Vector) >= Field_Size (Ctx, F_Range_Vector) - and then Field_Condition (Ctx, F_Range_Vector) - and then Valid_Length (Ctx, F_Range_Vector, Sequence.Range_Vector.Byte_Size (Seq_Ctx)) - and then Sequence.Range_Vector.Has_Buffer (Seq_Ctx) - and then Sequence.Range_Vector.Valid (Seq_Ctx), + and then RFLX.Sequence.Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Message.Valid_Next (Ctx, RFLX.Sequence.Message.F_Range_Vector) + and then RFLX.Sequence.Message.Available_Space (Ctx, RFLX.Sequence.Message.F_Range_Vector) >= RFLX.Sequence.Message.Field_Size (Ctx, RFLX.Sequence.Message.F_Range_Vector) + and then RFLX.Sequence.Message.Field_Condition (Ctx, RFLX.Sequence.Message.F_Range_Vector) + and then RFLX.Sequence.Message.Valid_Length (Ctx, RFLX.Sequence.Message.F_Range_Vector, RFLX.Sequence.Range_Vector.Byte_Size (Seq_Ctx)) + and then RFLX.Sequence.Range_Vector.Has_Buffer (Seq_Ctx) + and then RFLX.Sequence.Range_Vector.Valid (Seq_Ctx), Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Range_Vector) @@ -516,16 +516,16 @@ is and Field_Last (Ctx, F_Range_Vector) = Field_Last (Ctx, Predecessor (Ctx, F_Range_Vector)) + Field_Size (Ctx, F_Range_Vector) and (if Field_Size (Ctx, F_Range_Vector) > 0 then Present (Ctx, F_Range_Vector)); - procedure Set_Enumeration_Vector (Ctx : in out Context; Seq_Ctx : Sequence.Enumeration_Vector.Context) with + procedure Set_Enumeration_Vector (Ctx : in out Context; Seq_Ctx : RFLX.Sequence.Enumeration_Vector.Context) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Enumeration_Vector) - and then Available_Space (Ctx, F_Enumeration_Vector) >= Field_Size (Ctx, F_Enumeration_Vector) - and then Field_Condition (Ctx, F_Enumeration_Vector) - and then Valid_Length (Ctx, F_Enumeration_Vector, Sequence.Enumeration_Vector.Byte_Size (Seq_Ctx)) - and then Sequence.Enumeration_Vector.Has_Buffer (Seq_Ctx) - and then Sequence.Enumeration_Vector.Valid (Seq_Ctx), + and then RFLX.Sequence.Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Message.Valid_Next (Ctx, RFLX.Sequence.Message.F_Enumeration_Vector) + and then RFLX.Sequence.Message.Available_Space (Ctx, RFLX.Sequence.Message.F_Enumeration_Vector) >= RFLX.Sequence.Message.Field_Size (Ctx, RFLX.Sequence.Message.F_Enumeration_Vector) + and then RFLX.Sequence.Message.Field_Condition (Ctx, RFLX.Sequence.Message.F_Enumeration_Vector) + and then RFLX.Sequence.Message.Valid_Length (Ctx, RFLX.Sequence.Message.F_Enumeration_Vector, RFLX.Sequence.Enumeration_Vector.Byte_Size (Seq_Ctx)) + and then RFLX.Sequence.Enumeration_Vector.Has_Buffer (Seq_Ctx) + and then RFLX.Sequence.Enumeration_Vector.Valid (Seq_Ctx), Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Enumeration_Vector) @@ -543,16 +543,16 @@ is and Field_Last (Ctx, F_Enumeration_Vector) = Field_Last (Ctx, Predecessor (Ctx, F_Enumeration_Vector)) + Field_Size (Ctx, F_Enumeration_Vector) and (if Field_Size (Ctx, F_Enumeration_Vector) > 0 then Present (Ctx, F_Enumeration_Vector)); - procedure Set_AV_Enumeration_Vector (Ctx : in out Context; Seq_Ctx : Sequence.AV_Enumeration_Vector.Context) with + procedure Set_AV_Enumeration_Vector (Ctx : in out Context; Seq_Ctx : RFLX.Sequence.AV_Enumeration_Vector.Context) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_AV_Enumeration_Vector) - and then Available_Space (Ctx, F_AV_Enumeration_Vector) >= Field_Size (Ctx, F_AV_Enumeration_Vector) - and then Field_Condition (Ctx, F_AV_Enumeration_Vector) - and then Valid_Length (Ctx, F_AV_Enumeration_Vector, Sequence.AV_Enumeration_Vector.Byte_Size (Seq_Ctx)) - and then Sequence.AV_Enumeration_Vector.Has_Buffer (Seq_Ctx) - and then Sequence.AV_Enumeration_Vector.Valid (Seq_Ctx), + and then RFLX.Sequence.Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Message.Valid_Next (Ctx, RFLX.Sequence.Message.F_AV_Enumeration_Vector) + and then RFLX.Sequence.Message.Available_Space (Ctx, RFLX.Sequence.Message.F_AV_Enumeration_Vector) >= RFLX.Sequence.Message.Field_Size (Ctx, RFLX.Sequence.Message.F_AV_Enumeration_Vector) + and then RFLX.Sequence.Message.Field_Condition (Ctx, RFLX.Sequence.Message.F_AV_Enumeration_Vector) + and then RFLX.Sequence.Message.Valid_Length (Ctx, RFLX.Sequence.Message.F_AV_Enumeration_Vector, RFLX.Sequence.AV_Enumeration_Vector.Byte_Size (Seq_Ctx)) + and then RFLX.Sequence.AV_Enumeration_Vector.Has_Buffer (Seq_Ctx) + and then RFLX.Sequence.AV_Enumeration_Vector.Valid (Seq_Ctx), Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_AV_Enumeration_Vector) @@ -574,9 +574,9 @@ is procedure Initialize_Modular_Vector (Ctx : in out Context) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Modular_Vector) - and then Available_Space (Ctx, F_Modular_Vector) >= Field_Size (Ctx, F_Modular_Vector), + and then RFLX.Sequence.Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Message.Valid_Next (Ctx, RFLX.Sequence.Message.F_Modular_Vector) + and then RFLX.Sequence.Message.Available_Space (Ctx, RFLX.Sequence.Message.F_Modular_Vector) >= RFLX.Sequence.Message.Field_Size (Ctx, RFLX.Sequence.Message.F_Modular_Vector), Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Modular_Vector) @@ -598,9 +598,9 @@ is procedure Initialize_Range_Vector (Ctx : in out Context) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Range_Vector) - and then Available_Space (Ctx, F_Range_Vector) >= Field_Size (Ctx, F_Range_Vector), + and then RFLX.Sequence.Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Message.Valid_Next (Ctx, RFLX.Sequence.Message.F_Range_Vector) + and then RFLX.Sequence.Message.Available_Space (Ctx, RFLX.Sequence.Message.F_Range_Vector) >= RFLX.Sequence.Message.Field_Size (Ctx, RFLX.Sequence.Message.F_Range_Vector), Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Range_Vector) @@ -621,9 +621,9 @@ is procedure Initialize_Enumeration_Vector (Ctx : in out Context) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Enumeration_Vector) - and then Available_Space (Ctx, F_Enumeration_Vector) >= Field_Size (Ctx, F_Enumeration_Vector), + and then RFLX.Sequence.Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Message.Valid_Next (Ctx, RFLX.Sequence.Message.F_Enumeration_Vector) + and then RFLX.Sequence.Message.Available_Space (Ctx, RFLX.Sequence.Message.F_Enumeration_Vector) >= RFLX.Sequence.Message.Field_Size (Ctx, RFLX.Sequence.Message.F_Enumeration_Vector), Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Enumeration_Vector) @@ -643,9 +643,9 @@ is procedure Initialize_AV_Enumeration_Vector (Ctx : in out Context) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_AV_Enumeration_Vector) - and then Available_Space (Ctx, F_AV_Enumeration_Vector) >= Field_Size (Ctx, F_AV_Enumeration_Vector), + and then RFLX.Sequence.Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Message.Valid_Next (Ctx, RFLX.Sequence.Message.F_AV_Enumeration_Vector) + and then RFLX.Sequence.Message.Available_Space (Ctx, RFLX.Sequence.Message.F_AV_Enumeration_Vector) >= RFLX.Sequence.Message.Field_Size (Ctx, RFLX.Sequence.Message.F_AV_Enumeration_Vector), Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_AV_Enumeration_Vector) @@ -663,25 +663,25 @@ is and Field_First (Ctx, F_AV_Enumeration_Vector) = Field_First (Ctx, F_AV_Enumeration_Vector)'Old and Field_Last (Ctx, F_AV_Enumeration_Vector) = Field_Last (Ctx, Predecessor (Ctx, F_AV_Enumeration_Vector)) + Field_Size (Ctx, F_AV_Enumeration_Vector); - procedure Switch_To_Modular_Vector (Ctx : in out Context; Seq_Ctx : out Sequence.Modular_Vector.Context) with + procedure Switch_To_Modular_Vector (Ctx : in out Context; Seq_Ctx : out RFLX.Sequence.Modular_Vector.Context) with Pre => not Ctx'Constrained and then not Seq_Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Modular_Vector) - and then Field_Size (Ctx, F_Modular_Vector) > 0 - and then Field_First (Ctx, F_Modular_Vector) rem RFLX_Types.Byte'Size = 1 - and then Available_Space (Ctx, F_Modular_Vector) >= Field_Size (Ctx, F_Modular_Vector) - and then Field_Condition (Ctx, F_Modular_Vector), + and then RFLX.Sequence.Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Message.Valid_Next (Ctx, RFLX.Sequence.Message.F_Modular_Vector) + and then RFLX.Sequence.Message.Field_Size (Ctx, RFLX.Sequence.Message.F_Modular_Vector) > 0 + and then RFLX.Sequence.Message.Field_First (Ctx, RFLX.Sequence.Message.F_Modular_Vector) rem RFLX_Types.Byte'Size = 1 + and then RFLX.Sequence.Message.Available_Space (Ctx, RFLX.Sequence.Message.F_Modular_Vector) >= RFLX.Sequence.Message.Field_Size (Ctx, RFLX.Sequence.Message.F_Modular_Vector) + and then RFLX.Sequence.Message.Field_Condition (Ctx, RFLX.Sequence.Message.F_Modular_Vector), Post => - not Has_Buffer (Ctx) - and Sequence.Modular_Vector.Has_Buffer (Seq_Ctx) + not RFLX.Sequence.Message.Has_Buffer (Ctx) + and RFLX.Sequence.Modular_Vector.Has_Buffer (Seq_Ctx) and Ctx.Buffer_First = Seq_Ctx.Buffer_First and Ctx.Buffer_Last = Seq_Ctx.Buffer_Last and Seq_Ctx.First = Field_First (Ctx, F_Modular_Vector) and Seq_Ctx.Last = Field_Last (Ctx, F_Modular_Vector) - and Sequence.Modular_Vector.Valid (Seq_Ctx) - and Sequence.Modular_Vector.Sequence_Last (Seq_Ctx) = Seq_Ctx.First - 1 + and RFLX.Sequence.Modular_Vector.Valid (Seq_Ctx) + and RFLX.Sequence.Modular_Vector.Sequence_Last (Seq_Ctx) = Seq_Ctx.First - 1 and Present (Ctx, F_Modular_Vector) and Ctx.Buffer_First = Ctx.Buffer_First'Old and Ctx.Buffer_Last = Ctx.Buffer_Last'Old @@ -703,25 +703,25 @@ is and Invalid (Ctx, F_Enumeration_Vector) and Invalid (Ctx, F_AV_Enumeration_Vector)); - procedure Switch_To_Range_Vector (Ctx : in out Context; Seq_Ctx : out Sequence.Range_Vector.Context) with + procedure Switch_To_Range_Vector (Ctx : in out Context; Seq_Ctx : out RFLX.Sequence.Range_Vector.Context) with Pre => not Ctx'Constrained and then not Seq_Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Range_Vector) - and then Field_Size (Ctx, F_Range_Vector) > 0 - and then Field_First (Ctx, F_Range_Vector) rem RFLX_Types.Byte'Size = 1 - and then Available_Space (Ctx, F_Range_Vector) >= Field_Size (Ctx, F_Range_Vector) - and then Field_Condition (Ctx, F_Range_Vector), + and then RFLX.Sequence.Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Message.Valid_Next (Ctx, RFLX.Sequence.Message.F_Range_Vector) + and then RFLX.Sequence.Message.Field_Size (Ctx, RFLX.Sequence.Message.F_Range_Vector) > 0 + and then RFLX.Sequence.Message.Field_First (Ctx, RFLX.Sequence.Message.F_Range_Vector) rem RFLX_Types.Byte'Size = 1 + and then RFLX.Sequence.Message.Available_Space (Ctx, RFLX.Sequence.Message.F_Range_Vector) >= RFLX.Sequence.Message.Field_Size (Ctx, RFLX.Sequence.Message.F_Range_Vector) + and then RFLX.Sequence.Message.Field_Condition (Ctx, RFLX.Sequence.Message.F_Range_Vector), Post => - not Has_Buffer (Ctx) - and Sequence.Range_Vector.Has_Buffer (Seq_Ctx) + not RFLX.Sequence.Message.Has_Buffer (Ctx) + and RFLX.Sequence.Range_Vector.Has_Buffer (Seq_Ctx) and Ctx.Buffer_First = Seq_Ctx.Buffer_First and Ctx.Buffer_Last = Seq_Ctx.Buffer_Last and Seq_Ctx.First = Field_First (Ctx, F_Range_Vector) and Seq_Ctx.Last = Field_Last (Ctx, F_Range_Vector) - and Sequence.Range_Vector.Valid (Seq_Ctx) - and Sequence.Range_Vector.Sequence_Last (Seq_Ctx) = Seq_Ctx.First - 1 + and RFLX.Sequence.Range_Vector.Valid (Seq_Ctx) + and RFLX.Sequence.Range_Vector.Sequence_Last (Seq_Ctx) = Seq_Ctx.First - 1 and Present (Ctx, F_Range_Vector) and Ctx.Buffer_First = Ctx.Buffer_First'Old and Ctx.Buffer_Last = Ctx.Buffer_Last'Old @@ -742,25 +742,25 @@ is and Invalid (Ctx, F_Enumeration_Vector) and Invalid (Ctx, F_AV_Enumeration_Vector)); - procedure Switch_To_Enumeration_Vector (Ctx : in out Context; Seq_Ctx : out Sequence.Enumeration_Vector.Context) with + procedure Switch_To_Enumeration_Vector (Ctx : in out Context; Seq_Ctx : out RFLX.Sequence.Enumeration_Vector.Context) with Pre => not Ctx'Constrained and then not Seq_Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Enumeration_Vector) - and then Field_Size (Ctx, F_Enumeration_Vector) > 0 - and then Field_First (Ctx, F_Enumeration_Vector) rem RFLX_Types.Byte'Size = 1 - and then Available_Space (Ctx, F_Enumeration_Vector) >= Field_Size (Ctx, F_Enumeration_Vector) - and then Field_Condition (Ctx, F_Enumeration_Vector), + and then RFLX.Sequence.Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Message.Valid_Next (Ctx, RFLX.Sequence.Message.F_Enumeration_Vector) + and then RFLX.Sequence.Message.Field_Size (Ctx, RFLX.Sequence.Message.F_Enumeration_Vector) > 0 + and then RFLX.Sequence.Message.Field_First (Ctx, RFLX.Sequence.Message.F_Enumeration_Vector) rem RFLX_Types.Byte'Size = 1 + and then RFLX.Sequence.Message.Available_Space (Ctx, RFLX.Sequence.Message.F_Enumeration_Vector) >= RFLX.Sequence.Message.Field_Size (Ctx, RFLX.Sequence.Message.F_Enumeration_Vector) + and then RFLX.Sequence.Message.Field_Condition (Ctx, RFLX.Sequence.Message.F_Enumeration_Vector), Post => - not Has_Buffer (Ctx) - and Sequence.Enumeration_Vector.Has_Buffer (Seq_Ctx) + not RFLX.Sequence.Message.Has_Buffer (Ctx) + and RFLX.Sequence.Enumeration_Vector.Has_Buffer (Seq_Ctx) and Ctx.Buffer_First = Seq_Ctx.Buffer_First and Ctx.Buffer_Last = Seq_Ctx.Buffer_Last and Seq_Ctx.First = Field_First (Ctx, F_Enumeration_Vector) and Seq_Ctx.Last = Field_Last (Ctx, F_Enumeration_Vector) - and Sequence.Enumeration_Vector.Valid (Seq_Ctx) - and Sequence.Enumeration_Vector.Sequence_Last (Seq_Ctx) = Seq_Ctx.First - 1 + and RFLX.Sequence.Enumeration_Vector.Valid (Seq_Ctx) + and RFLX.Sequence.Enumeration_Vector.Sequence_Last (Seq_Ctx) = Seq_Ctx.First - 1 and Present (Ctx, F_Enumeration_Vector) and Ctx.Buffer_First = Ctx.Buffer_First'Old and Ctx.Buffer_Last = Ctx.Buffer_Last'Old @@ -780,25 +780,25 @@ is and Valid_Next (Ctx, F_AV_Enumeration_Vector)) and Invalid (Ctx, F_AV_Enumeration_Vector)); - procedure Switch_To_AV_Enumeration_Vector (Ctx : in out Context; Seq_Ctx : out Sequence.AV_Enumeration_Vector.Context) with + procedure Switch_To_AV_Enumeration_Vector (Ctx : in out Context; Seq_Ctx : out RFLX.Sequence.AV_Enumeration_Vector.Context) with Pre => not Ctx'Constrained and then not Seq_Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_AV_Enumeration_Vector) - and then Field_Size (Ctx, F_AV_Enumeration_Vector) > 0 - and then Field_First (Ctx, F_AV_Enumeration_Vector) rem RFLX_Types.Byte'Size = 1 - and then Available_Space (Ctx, F_AV_Enumeration_Vector) >= Field_Size (Ctx, F_AV_Enumeration_Vector) - and then Field_Condition (Ctx, F_AV_Enumeration_Vector), + and then RFLX.Sequence.Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Message.Valid_Next (Ctx, RFLX.Sequence.Message.F_AV_Enumeration_Vector) + and then RFLX.Sequence.Message.Field_Size (Ctx, RFLX.Sequence.Message.F_AV_Enumeration_Vector) > 0 + and then RFLX.Sequence.Message.Field_First (Ctx, RFLX.Sequence.Message.F_AV_Enumeration_Vector) rem RFLX_Types.Byte'Size = 1 + and then RFLX.Sequence.Message.Available_Space (Ctx, RFLX.Sequence.Message.F_AV_Enumeration_Vector) >= RFLX.Sequence.Message.Field_Size (Ctx, RFLX.Sequence.Message.F_AV_Enumeration_Vector) + and then RFLX.Sequence.Message.Field_Condition (Ctx, RFLX.Sequence.Message.F_AV_Enumeration_Vector), Post => - not Has_Buffer (Ctx) - and Sequence.AV_Enumeration_Vector.Has_Buffer (Seq_Ctx) + not RFLX.Sequence.Message.Has_Buffer (Ctx) + and RFLX.Sequence.AV_Enumeration_Vector.Has_Buffer (Seq_Ctx) and Ctx.Buffer_First = Seq_Ctx.Buffer_First and Ctx.Buffer_Last = Seq_Ctx.Buffer_Last and Seq_Ctx.First = Field_First (Ctx, F_AV_Enumeration_Vector) and Seq_Ctx.Last = Field_Last (Ctx, F_AV_Enumeration_Vector) - and Sequence.AV_Enumeration_Vector.Valid (Seq_Ctx) - and Sequence.AV_Enumeration_Vector.Sequence_Last (Seq_Ctx) = Seq_Ctx.First - 1 + and RFLX.Sequence.AV_Enumeration_Vector.Valid (Seq_Ctx) + and RFLX.Sequence.AV_Enumeration_Vector.Sequence_Last (Seq_Ctx) = Seq_Ctx.First - 1 and Present (Ctx, F_AV_Enumeration_Vector) and Ctx.Buffer_First = Ctx.Buffer_First'Old and Ctx.Buffer_Last = Ctx.Buffer_Last'Old @@ -815,28 +815,28 @@ is others => True); - function Complete_Modular_Vector (Ctx : Context; Seq_Ctx : Sequence.Modular_Vector.Context) return Boolean with + function Complete_Modular_Vector (Ctx : Context; Seq_Ctx : RFLX.Sequence.Modular_Vector.Context) return Boolean with Pre => - Valid_Next (Ctx, F_Modular_Vector); + RFLX.Sequence.Message.Valid_Next (Ctx, RFLX.Sequence.Message.F_Modular_Vector); - function Complete_Range_Vector (Ctx : Context; Seq_Ctx : Sequence.Range_Vector.Context) return Boolean with + function Complete_Range_Vector (Ctx : Context; Seq_Ctx : RFLX.Sequence.Range_Vector.Context) return Boolean with Pre => - Valid_Next (Ctx, F_Range_Vector); + RFLX.Sequence.Message.Valid_Next (Ctx, RFLX.Sequence.Message.F_Range_Vector); - function Complete_Enumeration_Vector (Ctx : Context; Seq_Ctx : Sequence.Enumeration_Vector.Context) return Boolean with + function Complete_Enumeration_Vector (Ctx : Context; Seq_Ctx : RFLX.Sequence.Enumeration_Vector.Context) return Boolean with Pre => - Valid_Next (Ctx, F_Enumeration_Vector); + RFLX.Sequence.Message.Valid_Next (Ctx, RFLX.Sequence.Message.F_Enumeration_Vector); - function Complete_AV_Enumeration_Vector (Ctx : Context; Seq_Ctx : Sequence.AV_Enumeration_Vector.Context) return Boolean with + function Complete_AV_Enumeration_Vector (Ctx : Context; Seq_Ctx : RFLX.Sequence.AV_Enumeration_Vector.Context) return Boolean with Pre => - Valid_Next (Ctx, F_AV_Enumeration_Vector); + RFLX.Sequence.Message.Valid_Next (Ctx, RFLX.Sequence.Message.F_AV_Enumeration_Vector); - procedure Update_Modular_Vector (Ctx : in out Context; Seq_Ctx : in out Sequence.Modular_Vector.Context) with + procedure Update_Modular_Vector (Ctx : in out Context; Seq_Ctx : in out RFLX.Sequence.Modular_Vector.Context) with Pre => - Present (Ctx, F_Modular_Vector) - and then Complete_Modular_Vector (Ctx, Seq_Ctx) - and then not Has_Buffer (Ctx) - and then Sequence.Modular_Vector.Has_Buffer (Seq_Ctx) + RFLX.Sequence.Message.Present (Ctx, RFLX.Sequence.Message.F_Modular_Vector) + and then RFLX.Sequence.Message.Complete_Modular_Vector (Ctx, Seq_Ctx) + and then not RFLX.Sequence.Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Modular_Vector.Has_Buffer (Seq_Ctx) and then Ctx.Buffer_First = Seq_Ctx.Buffer_First and then Ctx.Buffer_Last = Seq_Ctx.Buffer_Last and then Seq_Ctx.First = Field_First (Ctx, F_Modular_Vector) @@ -844,7 +844,7 @@ is Post => Present (Ctx, F_Modular_Vector) and Has_Buffer (Ctx) - and not Sequence.Modular_Vector.Has_Buffer (Seq_Ctx) + and not RFLX.Sequence.Modular_Vector.Has_Buffer (Seq_Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old and Ctx.Buffer_Last = Ctx.Buffer_Last'Old and Ctx.First = Ctx.First'Old @@ -860,12 +860,12 @@ is Depends => (Ctx => (Ctx, Seq_Ctx), Seq_Ctx => Seq_Ctx); - procedure Update_Range_Vector (Ctx : in out Context; Seq_Ctx : in out Sequence.Range_Vector.Context) with + procedure Update_Range_Vector (Ctx : in out Context; Seq_Ctx : in out RFLX.Sequence.Range_Vector.Context) with Pre => - Present (Ctx, F_Range_Vector) - and then Complete_Range_Vector (Ctx, Seq_Ctx) - and then not Has_Buffer (Ctx) - and then Sequence.Range_Vector.Has_Buffer (Seq_Ctx) + RFLX.Sequence.Message.Present (Ctx, RFLX.Sequence.Message.F_Range_Vector) + and then RFLX.Sequence.Message.Complete_Range_Vector (Ctx, Seq_Ctx) + and then not RFLX.Sequence.Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Range_Vector.Has_Buffer (Seq_Ctx) and then Ctx.Buffer_First = Seq_Ctx.Buffer_First and then Ctx.Buffer_Last = Seq_Ctx.Buffer_Last and then Seq_Ctx.First = Field_First (Ctx, F_Range_Vector) @@ -873,7 +873,7 @@ is Post => Present (Ctx, F_Range_Vector) and Has_Buffer (Ctx) - and not Sequence.Range_Vector.Has_Buffer (Seq_Ctx) + and not RFLX.Sequence.Range_Vector.Has_Buffer (Seq_Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old and Ctx.Buffer_Last = Ctx.Buffer_Last'Old and Ctx.First = Ctx.First'Old @@ -889,12 +889,12 @@ is Depends => (Ctx => (Ctx, Seq_Ctx), Seq_Ctx => Seq_Ctx); - procedure Update_Enumeration_Vector (Ctx : in out Context; Seq_Ctx : in out Sequence.Enumeration_Vector.Context) with + procedure Update_Enumeration_Vector (Ctx : in out Context; Seq_Ctx : in out RFLX.Sequence.Enumeration_Vector.Context) with Pre => - Present (Ctx, F_Enumeration_Vector) - and then Complete_Enumeration_Vector (Ctx, Seq_Ctx) - and then not Has_Buffer (Ctx) - and then Sequence.Enumeration_Vector.Has_Buffer (Seq_Ctx) + RFLX.Sequence.Message.Present (Ctx, RFLX.Sequence.Message.F_Enumeration_Vector) + and then RFLX.Sequence.Message.Complete_Enumeration_Vector (Ctx, Seq_Ctx) + and then not RFLX.Sequence.Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Enumeration_Vector.Has_Buffer (Seq_Ctx) and then Ctx.Buffer_First = Seq_Ctx.Buffer_First and then Ctx.Buffer_Last = Seq_Ctx.Buffer_Last and then Seq_Ctx.First = Field_First (Ctx, F_Enumeration_Vector) @@ -902,7 +902,7 @@ is Post => Present (Ctx, F_Enumeration_Vector) and Has_Buffer (Ctx) - and not Sequence.Enumeration_Vector.Has_Buffer (Seq_Ctx) + and not RFLX.Sequence.Enumeration_Vector.Has_Buffer (Seq_Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old and Ctx.Buffer_Last = Ctx.Buffer_Last'Old and Ctx.First = Ctx.First'Old @@ -918,12 +918,12 @@ is Depends => (Ctx => (Ctx, Seq_Ctx), Seq_Ctx => Seq_Ctx); - procedure Update_AV_Enumeration_Vector (Ctx : in out Context; Seq_Ctx : in out Sequence.AV_Enumeration_Vector.Context) with + procedure Update_AV_Enumeration_Vector (Ctx : in out Context; Seq_Ctx : in out RFLX.Sequence.AV_Enumeration_Vector.Context) with Pre => - Present (Ctx, F_AV_Enumeration_Vector) - and then Complete_AV_Enumeration_Vector (Ctx, Seq_Ctx) - and then not Has_Buffer (Ctx) - and then Sequence.AV_Enumeration_Vector.Has_Buffer (Seq_Ctx) + RFLX.Sequence.Message.Present (Ctx, RFLX.Sequence.Message.F_AV_Enumeration_Vector) + and then RFLX.Sequence.Message.Complete_AV_Enumeration_Vector (Ctx, Seq_Ctx) + and then not RFLX.Sequence.Message.Has_Buffer (Ctx) + and then RFLX.Sequence.AV_Enumeration_Vector.Has_Buffer (Seq_Ctx) and then Ctx.Buffer_First = Seq_Ctx.Buffer_First and then Ctx.Buffer_Last = Seq_Ctx.Buffer_Last and then Seq_Ctx.First = Field_First (Ctx, F_AV_Enumeration_Vector) @@ -931,7 +931,7 @@ is Post => Present (Ctx, F_AV_Enumeration_Vector) and Has_Buffer (Ctx) - and not Sequence.AV_Enumeration_Vector.Has_Buffer (Seq_Ctx) + and not RFLX.Sequence.AV_Enumeration_Vector.Has_Buffer (Seq_Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old and Ctx.Buffer_Last = Ctx.Buffer_Last'Old and Ctx.First = Ctx.First'Old @@ -1093,7 +1093,7 @@ private function Initialized (Ctx : Context) return Boolean is (Ctx.Verified_Last = Ctx.First - 1 and then Valid_Next (Ctx, F_Length) - and then Field_First (Ctx, F_Length) rem RFLX_Types.Byte'Size = 1 + and then RFLX.Sequence.Message.Field_First (Ctx, RFLX.Sequence.Message.F_Length) rem RFLX_Types.Byte'Size = 1 and then Available_Space (Ctx, F_Length) = Ctx.Last - Ctx.First + 1 and then (for all F in Field => Invalid (Ctx, F))); @@ -1218,26 +1218,26 @@ private (Size = Field_Size (Ctx, Fld)) with Pre => - Valid_Next (Ctx, Fld); + RFLX.Sequence.Message.Valid_Next (Ctx, Fld); function Valid_Length (Ctx : Context; Fld : Field; Length : RFLX_Types.Length) return Boolean is (Valid_Size (Ctx, Fld, RFLX_Types.To_Bit_Length (Length))); - function Complete_Modular_Vector (Ctx : Context; Seq_Ctx : Sequence.Modular_Vector.Context) return Boolean is - (Sequence.Modular_Vector.Valid (Seq_Ctx) - and Sequence.Modular_Vector.Size (Seq_Ctx) = Field_Size (Ctx, F_Modular_Vector)); + function Complete_Modular_Vector (Ctx : Context; Seq_Ctx : RFLX.Sequence.Modular_Vector.Context) return Boolean is + (RFLX.Sequence.Modular_Vector.Valid (Seq_Ctx) + and RFLX.Sequence.Modular_Vector.Size (Seq_Ctx) = Field_Size (Ctx, F_Modular_Vector)); - function Complete_Range_Vector (Ctx : Context; Seq_Ctx : Sequence.Range_Vector.Context) return Boolean is - (Sequence.Range_Vector.Valid (Seq_Ctx) - and Sequence.Range_Vector.Size (Seq_Ctx) = Field_Size (Ctx, F_Range_Vector)); + function Complete_Range_Vector (Ctx : Context; Seq_Ctx : RFLX.Sequence.Range_Vector.Context) return Boolean is + (RFLX.Sequence.Range_Vector.Valid (Seq_Ctx) + and RFLX.Sequence.Range_Vector.Size (Seq_Ctx) = Field_Size (Ctx, F_Range_Vector)); - function Complete_Enumeration_Vector (Ctx : Context; Seq_Ctx : Sequence.Enumeration_Vector.Context) return Boolean is - (Sequence.Enumeration_Vector.Valid (Seq_Ctx) - and Sequence.Enumeration_Vector.Size (Seq_Ctx) = Field_Size (Ctx, F_Enumeration_Vector)); + function Complete_Enumeration_Vector (Ctx : Context; Seq_Ctx : RFLX.Sequence.Enumeration_Vector.Context) return Boolean is + (RFLX.Sequence.Enumeration_Vector.Valid (Seq_Ctx) + and RFLX.Sequence.Enumeration_Vector.Size (Seq_Ctx) = Field_Size (Ctx, F_Enumeration_Vector)); - function Complete_AV_Enumeration_Vector (Ctx : Context; Seq_Ctx : Sequence.AV_Enumeration_Vector.Context) return Boolean is - (Sequence.AV_Enumeration_Vector.Valid (Seq_Ctx) - and Sequence.AV_Enumeration_Vector.Size (Seq_Ctx) = Field_Size (Ctx, F_AV_Enumeration_Vector)); + function Complete_AV_Enumeration_Vector (Ctx : Context; Seq_Ctx : RFLX.Sequence.AV_Enumeration_Vector.Context) return Boolean is + (RFLX.Sequence.AV_Enumeration_Vector.Valid (Seq_Ctx) + and RFLX.Sequence.AV_Enumeration_Vector.Size (Seq_Ctx) = Field_Size (Ctx, F_AV_Enumeration_Vector)); function Context_Cursor (Ctx : Context; Fld : Field) return Field_Cursor is (Ctx.Cursors (Fld)); diff --git a/tests/spark/generated/rflx-sequence-messages_message.adb b/tests/spark/generated/rflx-sequence-messages_message.adb index ec35b74d6..65cd9409d 100644 --- a/tests/spark/generated/rflx-sequence-messages_message.adb +++ b/tests/spark/generated/rflx-sequence-messages_message.adb @@ -77,9 +77,9 @@ is F_Final)) with Pre => - Has_Buffer (Ctx) - and Structural_Valid (Ctx, Fld) - and Valid_Predecessor (Ctx, Fld); + RFLX.Sequence.Messages_Message.Has_Buffer (Ctx) + and RFLX.Sequence.Messages_Message.Structural_Valid (Ctx, Fld) + and RFLX.Sequence.Messages_Message.Valid_Predecessor (Ctx, Fld); pragma Warnings (On, "precondition is always False"); @@ -97,8 +97,8 @@ is and Field_First (Ctx, Fld) + Field_Size (Ctx, Fld) - 1 <= Ctx.Written_Last) with Pre => - Has_Buffer (Ctx) - and Valid_Next (Ctx, Fld); + RFLX.Sequence.Messages_Message.Has_Buffer (Ctx) + and RFLX.Sequence.Messages_Message.Valid_Next (Ctx, Fld); function Equal (Ctx : Context; Fld : Field; Data : RFLX_Types.Bytes) return Boolean is (Sufficient_Buffer_Length (Ctx, Fld) @@ -112,7 +112,7 @@ is procedure Reset_Dependent_Fields (Ctx : in out Context; Fld : Field) with Pre => - Valid_Next (Ctx, Fld), + RFLX.Sequence.Messages_Message.Valid_Next (Ctx, Fld), Post => Valid_Next (Ctx, Fld) and Invalid (Ctx.Cursors (Fld)) @@ -154,10 +154,10 @@ is function Get (Ctx : Context; Fld : Field) return RFLX_Types.Base_Integer with Pre => - Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) - and then Sufficient_Buffer_Length (Ctx, Fld) - and then not Composite_Field (Fld) + RFLX.Sequence.Messages_Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Messages_Message.Valid_Next (Ctx, Fld) + and then RFLX.Sequence.Messages_Message.Sufficient_Buffer_Length (Ctx, Fld) + and then not RFLX.Sequence.Messages_Message.Composite_Field (Fld) is First : constant RFLX_Types.Bit_Index := Field_First (Ctx, Fld); Last : constant RFLX_Types.Bit_Index := Field_Last (Ctx, Fld); @@ -221,12 +221,17 @@ is procedure Set (Ctx : in out Context; Fld : Field; Val : RFLX_Types.Base_Integer; Size : RFLX_Types.Bit_Length; State_Valid : Boolean; Buffer_First : out RFLX_Types.Index; Buffer_Last : out RFLX_Types.Index; Offset : out RFLX_Types.Offset) with Pre => - Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) - and then Valid_Value (Fld, Val) - and then Valid_Size (Ctx, Fld, Size) - and then Size <= Available_Space (Ctx, Fld) - and then (if Composite_Field (Fld) then Size mod RFLX_Types.Byte'Size = 0 else State_Valid), + RFLX.Sequence.Messages_Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Messages_Message.Valid_Next (Ctx, Fld) + and then RFLX.Sequence.Messages_Message.Valid_Value (Fld, Val) + and then RFLX.Sequence.Messages_Message.Valid_Size (Ctx, Fld, Size) + and then Size <= RFLX.Sequence.Messages_Message.Available_Space (Ctx, Fld) + and then (if + RFLX.Sequence.Messages_Message.Composite_Field (Fld) + then + Size mod RFLX_Types.Byte'Size = 0 + else + State_Valid), Post => Valid_Next (Ctx, Fld) and then Invalid_Successor (Ctx, Fld) @@ -286,14 +291,14 @@ is procedure Set_Scalar (Ctx : in out Context; Fld : Field; Val : RFLX_Types.Base_Integer) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) + and then RFLX.Sequence.Messages_Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Messages_Message.Valid_Next (Ctx, Fld) and then Fld in F_Length - and then Valid_Value (Fld, Val) - and then Valid_Size (Ctx, Fld, Field_Size (Ctx, Fld)) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld) - and then Field_Size (Ctx, Fld) in 1 .. RFLX_Types.Base_Integer'Size - and then RFLX_Types.Fits_Into (Val, Natural (Field_Size (Ctx, Fld))), + and then RFLX.Sequence.Messages_Message.Valid_Value (Fld, Val) + and then RFLX.Sequence.Messages_Message.Valid_Size (Ctx, Fld, RFLX.Sequence.Messages_Message.Field_Size (Ctx, Fld)) + and then RFLX.Sequence.Messages_Message.Available_Space (Ctx, Fld) >= RFLX.Sequence.Messages_Message.Field_Size (Ctx, Fld) + and then RFLX.Sequence.Messages_Message.Field_Size (Ctx, Fld) in 1 .. RFLX_Types.Base_Integer'Size + and then RFLX_Types.Fits_Into (Val, Natural (RFLX.Sequence.Messages_Message.Field_Size (Ctx, Fld))), Post => Has_Buffer (Ctx) and Valid (Ctx, Fld) @@ -326,7 +331,7 @@ is procedure Set_Length (Ctx : in out Context; Val : RFLX.Sequence.Length) is begin - Set_Scalar (Ctx, F_Length, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_Length, RFLX.Sequence.To_Base_Integer (Val)); end Set_Length; procedure Set_Messages_Empty (Ctx : in out Context) is @@ -336,24 +341,24 @@ is Set (Ctx, F_Messages, 0, 0, True, Unused_Buffer_First, Unused_Buffer_Last, Unused_Offset); end Set_Messages_Empty; - procedure Set_Messages (Ctx : in out Context; Seq_Ctx : Sequence.Inner_Messages.Context) is - Size : constant RFLX_Types.Bit_Length := RFLX_Types.To_Bit_Length (Sequence.Inner_Messages.Byte_Size (Seq_Ctx)); + procedure Set_Messages (Ctx : in out Context; Seq_Ctx : RFLX.Sequence.Inner_Messages.Context) is + Size : constant RFLX_Types.Bit_Length := RFLX_Types.To_Bit_Length (RFLX.Sequence.Inner_Messages.Byte_Size (Seq_Ctx)); Unused_First, Unused_Last : RFLX_Types.Bit_Index; Buffer_First, Buffer_Last : RFLX_Types.Index; Unused_Offset : RFLX_Types.Offset; begin Set (Ctx, F_Messages, 0, Size, True, Buffer_First, Buffer_Last, Unused_Offset); - Sequence.Inner_Messages.Copy (Seq_Ctx, Ctx.Buffer.all (Buffer_First .. Buffer_Last)); + RFLX.Sequence.Inner_Messages.Copy (Seq_Ctx, Ctx.Buffer.all (Buffer_First .. Buffer_Last)); end Set_Messages; procedure Initialize_Messages_Private (Ctx : in out Context; Length : RFLX_Types.Length) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Messages) - and then Valid_Length (Ctx, F_Messages, Length) - and then RFLX_Types.To_Length (Available_Space (Ctx, F_Messages)) >= Length - and then Field_First (Ctx, F_Messages) mod RFLX_Types.Byte'Size = 1, + and then RFLX.Sequence.Messages_Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Messages_Message.Valid_Next (Ctx, RFLX.Sequence.Messages_Message.F_Messages) + and then RFLX.Sequence.Messages_Message.Valid_Length (Ctx, RFLX.Sequence.Messages_Message.F_Messages, Length) + and then RFLX_Types.To_Length (RFLX.Sequence.Messages_Message.Available_Space (Ctx, RFLX.Sequence.Messages_Message.F_Messages)) >= Length + and then RFLX.Sequence.Messages_Message.Field_First (Ctx, RFLX.Sequence.Messages_Message.F_Messages) mod RFLX_Types.Byte'Size = 1, Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Messages) @@ -386,7 +391,7 @@ is Initialize_Messages_Private (Ctx, RFLX_Types.To_Length (Field_Size (Ctx, F_Messages))); end Initialize_Messages; - procedure Switch_To_Messages (Ctx : in out Context; Seq_Ctx : out Sequence.Inner_Messages.Context) is + procedure Switch_To_Messages (Ctx : in out Context; Seq_Ctx : out RFLX.Sequence.Inner_Messages.Context) is First : constant RFLX_Types.Bit_Index := Field_First (Ctx, F_Messages); Last : constant RFLX_Types.Bit_Index := Field_Last (Ctx, F_Messages); Buffer : RFLX_Types.Bytes_Ptr; @@ -401,15 +406,15 @@ is end if; Take_Buffer (Ctx, Buffer); pragma Warnings (Off, "unused assignment to ""Buffer"""); - Sequence.Inner_Messages.Initialize (Seq_Ctx, Buffer, First, Last); + RFLX.Sequence.Inner_Messages.Initialize (Seq_Ctx, Buffer, First, Last); pragma Warnings (On, "unused assignment to ""Buffer"""); end Switch_To_Messages; - procedure Update_Messages (Ctx : in out Context; Seq_Ctx : in out Sequence.Inner_Messages.Context) is - Valid_Sequence : constant Boolean := Sequence.Inner_Messages.Valid (Seq_Ctx); + procedure Update_Messages (Ctx : in out Context; Seq_Ctx : in out RFLX.Sequence.Inner_Messages.Context) is + Valid_Sequence : constant Boolean := RFLX.Sequence.Inner_Messages.Valid (Seq_Ctx); Buffer : RFLX_Types.Bytes_Ptr; begin - Sequence.Inner_Messages.Take_Buffer (Seq_Ctx, Buffer); + RFLX.Sequence.Inner_Messages.Take_Buffer (Seq_Ctx, Buffer); Ctx.Buffer := Buffer; if Valid_Sequence then Ctx.Cursors (F_Messages) := (State => S_Valid, First => Ctx.Cursors (F_Messages).First, Last => Ctx.Cursors (F_Messages).Last, Value => Ctx.Cursors (F_Messages).Value, Predecessor => Ctx.Cursors (F_Messages).Predecessor); diff --git a/tests/spark/generated/rflx-sequence-messages_message.ads b/tests/spark/generated/rflx-sequence-messages_message.ads index 6ee9e4981..a194fcc99 100644 --- a/tests/spark/generated/rflx-sequence-messages_message.ads +++ b/tests/spark/generated/rflx-sequence-messages_message.ads @@ -125,7 +125,7 @@ is procedure Reset (Ctx : in out Context) with Pre => not Ctx'Constrained - and Has_Buffer (Ctx), + and RFLX.Sequence.Messages_Message.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -137,7 +137,7 @@ is procedure Reset (Ctx : in out Context; First : RFLX_Types.Bit_Index; Last : RFLX_Types.Bit_Length) with Pre => not Ctx'Constrained - and Has_Buffer (Ctx) + and RFLX.Sequence.Messages_Message.Has_Buffer (Ctx) and RFLX_Types.To_Index (First) >= Ctx.Buffer_First and RFLX_Types.To_Index (Last) <= Ctx.Buffer_Last and First <= Last + 1 @@ -154,7 +154,7 @@ is procedure Take_Buffer (Ctx : in out Context; Buffer : out RFLX_Types.Bytes_Ptr) with Pre => - Has_Buffer (Ctx), + RFLX.Sequence.Messages_Message.Has_Buffer (Ctx), Post => not Has_Buffer (Ctx) and Buffer /= null @@ -170,15 +170,15 @@ is procedure Copy (Ctx : Context; Buffer : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) - and then Byte_Size (Ctx) = Buffer'Length; + RFLX.Sequence.Messages_Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Messages_Message.Structural_Valid_Message (Ctx) + and then RFLX.Sequence.Messages_Message.Byte_Size (Ctx) = Buffer'Length; function Read (Ctx : Context) return RFLX_Types.Bytes with Ghost, Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx); + RFLX.Sequence.Messages_Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Messages_Message.Structural_Valid_Message (Ctx); pragma Warnings (Off, "formal parameter ""*"" is not referenced"); @@ -192,8 +192,8 @@ is with function Pre (Buffer : RFLX_Types.Bytes) return Boolean is Always_Valid; procedure Generic_Read (Ctx : Context) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) + RFLX.Sequence.Messages_Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Messages_Message.Structural_Valid_Message (Ctx) and then Pre (Read (Ctx)); pragma Warnings (Off, "formal parameter ""*"" is not referenced"); @@ -209,9 +209,9 @@ is procedure Generic_Write (Ctx : in out Context; Offset : RFLX_Types.Length := 0) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Offset < Buffer_Length (Ctx) - and then Pre (Buffer_Length (Ctx), Offset), + and then RFLX.Sequence.Messages_Message.Has_Buffer (Ctx) + and then Offset < RFLX.Sequence.Messages_Message.Buffer_Length (Ctx) + and then Pre (RFLX.Sequence.Messages_Message.Buffer_Length (Ctx), Offset), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -223,7 +223,7 @@ is function Buffer_Length (Ctx : Context) return RFLX_Types.Length with Pre => - Has_Buffer (Ctx); + RFLX.Sequence.Messages_Message.Has_Buffer (Ctx); function Size (Ctx : Context) return RFLX_Types.Bit_Length with Post => @@ -233,16 +233,16 @@ is function Message_Last (Ctx : Context) return RFLX_Types.Bit_Length with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx); + RFLX.Sequence.Messages_Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Messages_Message.Structural_Valid_Message (Ctx); function Written_Last (Ctx : Context) return RFLX_Types.Bit_Length; procedure Data (Ctx : Context; Data : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) - and then Data'Length = Byte_Size (Ctx); + RFLX.Sequence.Messages_Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Messages_Message.Structural_Valid_Message (Ctx) + and then Data'Length = RFLX.Sequence.Messages_Message.Byte_Size (Ctx); pragma Warnings (Off, "postcondition does not mention function result"); @@ -256,7 +256,7 @@ is function Path_Condition (Ctx : Context; Fld : Field) return Boolean with Pre => - Valid_Predecessor (Ctx, Fld), + RFLX.Sequence.Messages_Message.Valid_Predecessor (Ctx, Fld), Post => True; @@ -266,10 +266,10 @@ is function Field_Condition (Ctx : Context; Fld : Field) return Boolean with Pre => - Has_Buffer (Ctx) - and then Valid_Predecessor (Ctx, Fld) - and then Valid_Next (Ctx, Fld) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld), + RFLX.Sequence.Messages_Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Messages_Message.Valid_Predecessor (Ctx, Fld) + and then RFLX.Sequence.Messages_Message.Valid_Next (Ctx, Fld) + and then RFLX.Sequence.Messages_Message.Available_Space (Ctx, Fld) >= RFLX.Sequence.Messages_Message.Field_Size (Ctx, Fld), Post => True; @@ -277,7 +277,7 @@ is function Field_Size (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld), + RFLX.Sequence.Messages_Message.Valid_Next (Ctx, Fld), Post => (case Fld is when F_Messages => @@ -289,7 +289,7 @@ is function Field_First (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Index with Pre => - Valid_Next (Ctx, Fld), + RFLX.Sequence.Messages_Message.Valid_Next (Ctx, Fld), Post => True; @@ -297,8 +297,8 @@ is function Field_Last (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld), + RFLX.Sequence.Messages_Message.Valid_Next (Ctx, Fld) + and then RFLX.Sequence.Messages_Message.Available_Space (Ctx, Fld) >= RFLX.Sequence.Messages_Message.Field_Size (Ctx, Fld), Post => (case Fld is when F_Messages => @@ -326,16 +326,16 @@ is function Available_Space (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld); + RFLX.Sequence.Messages_Message.Valid_Next (Ctx, Fld); function Equal (Ctx : Context; Fld : Field; Data : RFLX_Types.Bytes) return Boolean with Pre => - Has_Buffer (Ctx) - and Valid_Next (Ctx, Fld); + RFLX.Sequence.Messages_Message.Has_Buffer (Ctx) + and RFLX.Sequence.Messages_Message.Valid_Next (Ctx, Fld); procedure Verify (Ctx : in out Context; Fld : Field) with Pre => - Has_Buffer (Ctx), + RFLX.Sequence.Messages_Message.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -345,7 +345,7 @@ is procedure Verify_Message (Ctx : in out Context) with Pre => - Has_Buffer (Ctx), + RFLX.Sequence.Messages_Message.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -367,11 +367,11 @@ is function Structural_Valid_Message (Ctx : Context) return Boolean with Pre => - Has_Buffer (Ctx); + RFLX.Sequence.Messages_Message.Has_Buffer (Ctx); function Valid_Message (Ctx : Context) return Boolean with Pre => - Has_Buffer (Ctx); + RFLX.Sequence.Messages_Message.Has_Buffer (Ctx); pragma Warnings (Off, "postcondition does not mention function result"); @@ -385,7 +385,7 @@ is function Get_Length (Ctx : Context) return RFLX.Sequence.Length with Pre => - Valid (Ctx, F_Length); + RFLX.Sequence.Messages_Message.Valid (Ctx, RFLX.Sequence.Messages_Message.F_Length); pragma Warnings (On, "precondition is always False"); @@ -393,7 +393,7 @@ is function Valid_Length (Ctx : Context; Fld : Field; Length : RFLX_Types.Length) return Boolean with Pre => - Valid_Next (Ctx, Fld), + RFLX.Sequence.Messages_Message.Valid_Next (Ctx, Fld), Post => True; @@ -405,11 +405,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Length) - and then RFLX.Sequence.Valid_Length (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_Length) >= Field_Size (Ctx, F_Length) - and then Field_Condition (Ctx, F_Length), + and then RFLX.Sequence.Messages_Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Messages_Message.Valid_Next (Ctx, RFLX.Sequence.Messages_Message.F_Length) + and then RFLX.Sequence.Valid_Length (RFLX.Sequence.To_Base_Integer (Val)) + and then RFLX.Sequence.Messages_Message.Available_Space (Ctx, RFLX.Sequence.Messages_Message.F_Length) >= RFLX.Sequence.Messages_Message.Field_Size (Ctx, RFLX.Sequence.Messages_Message.F_Length) + and then RFLX.Sequence.Messages_Message.Field_Condition (Ctx, RFLX.Sequence.Messages_Message.F_Length), Post => Has_Buffer (Ctx) and Valid (Ctx, F_Length) @@ -430,11 +430,11 @@ is procedure Set_Messages_Empty (Ctx : in out Context) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Messages) - and then Available_Space (Ctx, F_Messages) >= Field_Size (Ctx, F_Messages) - and then Field_Condition (Ctx, F_Messages) - and then Field_Size (Ctx, F_Messages) = 0, + and then RFLX.Sequence.Messages_Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Messages_Message.Valid_Next (Ctx, RFLX.Sequence.Messages_Message.F_Messages) + and then RFLX.Sequence.Messages_Message.Available_Space (Ctx, RFLX.Sequence.Messages_Message.F_Messages) >= RFLX.Sequence.Messages_Message.Field_Size (Ctx, RFLX.Sequence.Messages_Message.F_Messages) + and then RFLX.Sequence.Messages_Message.Field_Condition (Ctx, RFLX.Sequence.Messages_Message.F_Messages) + and then RFLX.Sequence.Messages_Message.Field_Size (Ctx, RFLX.Sequence.Messages_Message.F_Messages) = 0, Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Messages) @@ -449,16 +449,16 @@ is and Field_First (Ctx, F_Messages) = Field_First (Ctx, F_Messages)'Old and Field_Last (Ctx, F_Messages) = Field_Last (Ctx, Predecessor (Ctx, F_Messages)) + Field_Size (Ctx, F_Messages); - procedure Set_Messages (Ctx : in out Context; Seq_Ctx : Sequence.Inner_Messages.Context) with + procedure Set_Messages (Ctx : in out Context; Seq_Ctx : RFLX.Sequence.Inner_Messages.Context) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Messages) - and then Available_Space (Ctx, F_Messages) >= Field_Size (Ctx, F_Messages) - and then Field_Condition (Ctx, F_Messages) - and then Valid_Length (Ctx, F_Messages, Sequence.Inner_Messages.Byte_Size (Seq_Ctx)) - and then Sequence.Inner_Messages.Has_Buffer (Seq_Ctx) - and then Sequence.Inner_Messages.Valid (Seq_Ctx), + and then RFLX.Sequence.Messages_Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Messages_Message.Valid_Next (Ctx, RFLX.Sequence.Messages_Message.F_Messages) + and then RFLX.Sequence.Messages_Message.Available_Space (Ctx, RFLX.Sequence.Messages_Message.F_Messages) >= RFLX.Sequence.Messages_Message.Field_Size (Ctx, RFLX.Sequence.Messages_Message.F_Messages) + and then RFLX.Sequence.Messages_Message.Field_Condition (Ctx, RFLX.Sequence.Messages_Message.F_Messages) + and then RFLX.Sequence.Messages_Message.Valid_Length (Ctx, RFLX.Sequence.Messages_Message.F_Messages, RFLX.Sequence.Inner_Messages.Byte_Size (Seq_Ctx)) + and then RFLX.Sequence.Inner_Messages.Has_Buffer (Seq_Ctx) + and then RFLX.Sequence.Inner_Messages.Valid (Seq_Ctx), Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Messages) @@ -477,9 +477,9 @@ is procedure Initialize_Messages (Ctx : in out Context) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Messages) - and then Available_Space (Ctx, F_Messages) >= Field_Size (Ctx, F_Messages), + and then RFLX.Sequence.Messages_Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Messages_Message.Valid_Next (Ctx, RFLX.Sequence.Messages_Message.F_Messages) + and then RFLX.Sequence.Messages_Message.Available_Space (Ctx, RFLX.Sequence.Messages_Message.F_Messages) >= RFLX.Sequence.Messages_Message.Field_Size (Ctx, RFLX.Sequence.Messages_Message.F_Messages), Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Messages) @@ -494,25 +494,25 @@ is and Field_First (Ctx, F_Messages) = Field_First (Ctx, F_Messages)'Old and Field_Last (Ctx, F_Messages) = Field_Last (Ctx, Predecessor (Ctx, F_Messages)) + Field_Size (Ctx, F_Messages); - procedure Switch_To_Messages (Ctx : in out Context; Seq_Ctx : out Sequence.Inner_Messages.Context) with + procedure Switch_To_Messages (Ctx : in out Context; Seq_Ctx : out RFLX.Sequence.Inner_Messages.Context) with Pre => not Ctx'Constrained and then not Seq_Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Messages) - and then Field_Size (Ctx, F_Messages) > 0 - and then Field_First (Ctx, F_Messages) rem RFLX_Types.Byte'Size = 1 - and then Available_Space (Ctx, F_Messages) >= Field_Size (Ctx, F_Messages) - and then Field_Condition (Ctx, F_Messages), + and then RFLX.Sequence.Messages_Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Messages_Message.Valid_Next (Ctx, RFLX.Sequence.Messages_Message.F_Messages) + and then RFLX.Sequence.Messages_Message.Field_Size (Ctx, RFLX.Sequence.Messages_Message.F_Messages) > 0 + and then RFLX.Sequence.Messages_Message.Field_First (Ctx, RFLX.Sequence.Messages_Message.F_Messages) rem RFLX_Types.Byte'Size = 1 + and then RFLX.Sequence.Messages_Message.Available_Space (Ctx, RFLX.Sequence.Messages_Message.F_Messages) >= RFLX.Sequence.Messages_Message.Field_Size (Ctx, RFLX.Sequence.Messages_Message.F_Messages) + and then RFLX.Sequence.Messages_Message.Field_Condition (Ctx, RFLX.Sequence.Messages_Message.F_Messages), Post => - not Has_Buffer (Ctx) - and Sequence.Inner_Messages.Has_Buffer (Seq_Ctx) + not RFLX.Sequence.Messages_Message.Has_Buffer (Ctx) + and RFLX.Sequence.Inner_Messages.Has_Buffer (Seq_Ctx) and Ctx.Buffer_First = Seq_Ctx.Buffer_First and Ctx.Buffer_Last = Seq_Ctx.Buffer_Last and Seq_Ctx.First = Field_First (Ctx, F_Messages) and Seq_Ctx.Last = Field_Last (Ctx, F_Messages) - and Sequence.Inner_Messages.Valid (Seq_Ctx) - and Sequence.Inner_Messages.Sequence_Last (Seq_Ctx) = Seq_Ctx.First - 1 + and RFLX.Sequence.Inner_Messages.Valid (Seq_Ctx) + and RFLX.Sequence.Inner_Messages.Sequence_Last (Seq_Ctx) = Seq_Ctx.First - 1 and Present (Ctx, F_Messages) and Ctx.Buffer_First = Ctx.Buffer_First'Old and Ctx.Buffer_Last = Ctx.Buffer_Last'Old @@ -529,16 +529,16 @@ is others => True); - function Complete_Messages (Ctx : Context; Seq_Ctx : Sequence.Inner_Messages.Context) return Boolean with + function Complete_Messages (Ctx : Context; Seq_Ctx : RFLX.Sequence.Inner_Messages.Context) return Boolean with Pre => - Valid_Next (Ctx, F_Messages); + RFLX.Sequence.Messages_Message.Valid_Next (Ctx, RFLX.Sequence.Messages_Message.F_Messages); - procedure Update_Messages (Ctx : in out Context; Seq_Ctx : in out Sequence.Inner_Messages.Context) with + procedure Update_Messages (Ctx : in out Context; Seq_Ctx : in out RFLX.Sequence.Inner_Messages.Context) with Pre => - Present (Ctx, F_Messages) - and then Complete_Messages (Ctx, Seq_Ctx) - and then not Has_Buffer (Ctx) - and then Sequence.Inner_Messages.Has_Buffer (Seq_Ctx) + RFLX.Sequence.Messages_Message.Present (Ctx, RFLX.Sequence.Messages_Message.F_Messages) + and then RFLX.Sequence.Messages_Message.Complete_Messages (Ctx, Seq_Ctx) + and then not RFLX.Sequence.Messages_Message.Has_Buffer (Ctx) + and then RFLX.Sequence.Inner_Messages.Has_Buffer (Seq_Ctx) and then Ctx.Buffer_First = Seq_Ctx.Buffer_First and then Ctx.Buffer_Last = Seq_Ctx.Buffer_Last and then Seq_Ctx.First = Field_First (Ctx, F_Messages) @@ -546,7 +546,7 @@ is Post => Present (Ctx, F_Messages) and Has_Buffer (Ctx) - and not Sequence.Inner_Messages.Has_Buffer (Seq_Ctx) + and not RFLX.Sequence.Inner_Messages.Has_Buffer (Seq_Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old and Ctx.Buffer_Last = Ctx.Buffer_Last'Old and Ctx.First = Ctx.First'Old @@ -669,7 +669,7 @@ private function Initialized (Ctx : Context) return Boolean is (Ctx.Verified_Last = Ctx.First - 1 and then Valid_Next (Ctx, F_Length) - and then Field_First (Ctx, F_Length) rem RFLX_Types.Byte'Size = 1 + and then RFLX.Sequence.Messages_Message.Field_First (Ctx, RFLX.Sequence.Messages_Message.F_Length) rem RFLX_Types.Byte'Size = 1 and then Available_Space (Ctx, F_Length) = Ctx.Last - Ctx.First + 1 and then (for all F in Field => Invalid (Ctx, F))); @@ -783,14 +783,14 @@ private (Size = Field_Size (Ctx, Fld)) with Pre => - Valid_Next (Ctx, Fld); + RFLX.Sequence.Messages_Message.Valid_Next (Ctx, Fld); function Valid_Length (Ctx : Context; Fld : Field; Length : RFLX_Types.Length) return Boolean is (Valid_Size (Ctx, Fld, RFLX_Types.To_Bit_Length (Length))); - function Complete_Messages (Ctx : Context; Seq_Ctx : Sequence.Inner_Messages.Context) return Boolean is - (Sequence.Inner_Messages.Valid (Seq_Ctx) - and Sequence.Inner_Messages.Size (Seq_Ctx) = Field_Size (Ctx, F_Messages)); + function Complete_Messages (Ctx : Context; Seq_Ctx : RFLX.Sequence.Inner_Messages.Context) return Boolean is + (RFLX.Sequence.Inner_Messages.Valid (Seq_Ctx) + and RFLX.Sequence.Inner_Messages.Size (Seq_Ctx) = Field_Size (Ctx, F_Messages)); function Context_Cursor (Ctx : Context; Fld : Field) return Field_Cursor is (Ctx.Cursors (Fld)); diff --git a/tests/spark/generated/rflx-sequence-sequence_size_defined_by_message_size.adb b/tests/spark/generated/rflx-sequence-sequence_size_defined_by_message_size.adb index 01e6f4520..e703267e1 100644 --- a/tests/spark/generated/rflx-sequence-sequence_size_defined_by_message_size.adb +++ b/tests/spark/generated/rflx-sequence-sequence_size_defined_by_message_size.adb @@ -77,9 +77,9 @@ is F_Final)) with Pre => - Has_Buffer (Ctx) - and Structural_Valid (Ctx, Fld) - and Valid_Predecessor (Ctx, Fld); + RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Has_Buffer (Ctx) + and RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Structural_Valid (Ctx, Fld) + and RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Valid_Predecessor (Ctx, Fld); pragma Warnings (On, "precondition is always False"); @@ -97,8 +97,8 @@ is and Field_First (Ctx, Fld) + Field_Size (Ctx, Fld) - 1 <= Ctx.Written_Last) with Pre => - Has_Buffer (Ctx) - and Valid_Next (Ctx, Fld); + RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Has_Buffer (Ctx) + and RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Valid_Next (Ctx, Fld); function Equal (Ctx : Context; Fld : Field; Data : RFLX_Types.Bytes) return Boolean is (Sufficient_Buffer_Length (Ctx, Fld) @@ -112,7 +112,7 @@ is procedure Reset_Dependent_Fields (Ctx : in out Context; Fld : Field) with Pre => - Valid_Next (Ctx, Fld), + RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Valid_Next (Ctx, Fld), Post => Valid_Next (Ctx, Fld) and Invalid (Ctx.Cursors (Fld)) @@ -154,10 +154,10 @@ is function Get (Ctx : Context; Fld : Field) return RFLX_Types.Base_Integer with Pre => - Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) - and then Sufficient_Buffer_Length (Ctx, Fld) - and then not Composite_Field (Fld) + RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Has_Buffer (Ctx) + and then RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Valid_Next (Ctx, Fld) + and then RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Sufficient_Buffer_Length (Ctx, Fld) + and then not RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Composite_Field (Fld) is First : constant RFLX_Types.Bit_Index := Field_First (Ctx, Fld); Last : constant RFLX_Types.Bit_Index := Field_Last (Ctx, Fld); @@ -221,12 +221,17 @@ is procedure Set (Ctx : in out Context; Fld : Field; Val : RFLX_Types.Base_Integer; Size : RFLX_Types.Bit_Length; State_Valid : Boolean; Buffer_First : out RFLX_Types.Index; Buffer_Last : out RFLX_Types.Index; Offset : out RFLX_Types.Offset) with Pre => - Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) - and then Valid_Value (Fld, Val) - and then Valid_Size (Ctx, Fld, Size) - and then Size <= Available_Space (Ctx, Fld) - and then (if Composite_Field (Fld) then Size mod RFLX_Types.Byte'Size = 0 else State_Valid), + RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Has_Buffer (Ctx) + and then RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Valid_Next (Ctx, Fld) + and then RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Valid_Value (Fld, Val) + and then RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Valid_Size (Ctx, Fld, Size) + and then Size <= RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Available_Space (Ctx, Fld) + and then (if + RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Composite_Field (Fld) + then + Size mod RFLX_Types.Byte'Size = 0 + else + State_Valid), Post => Valid_Next (Ctx, Fld) and then Invalid_Successor (Ctx, Fld) @@ -286,14 +291,14 @@ is procedure Set_Scalar (Ctx : in out Context; Fld : Field; Val : RFLX_Types.Base_Integer) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) + and then RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Has_Buffer (Ctx) + and then RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Valid_Next (Ctx, Fld) and then Fld in F_Header - and then Valid_Value (Fld, Val) - and then Valid_Size (Ctx, Fld, Field_Size (Ctx, Fld)) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld) - and then Field_Size (Ctx, Fld) in 1 .. RFLX_Types.Base_Integer'Size - and then RFLX_Types.Fits_Into (Val, Natural (Field_Size (Ctx, Fld))), + and then RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Valid_Value (Fld, Val) + and then RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Valid_Size (Ctx, Fld, RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Field_Size (Ctx, Fld)) + and then RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Available_Space (Ctx, Fld) >= RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Field_Size (Ctx, Fld) + and then RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Field_Size (Ctx, Fld) in 1 .. RFLX_Types.Base_Integer'Size + and then RFLX_Types.Fits_Into (Val, Natural (RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Field_Size (Ctx, Fld))), Post => Has_Buffer (Ctx) and Valid (Ctx, Fld) @@ -326,7 +331,7 @@ is procedure Set_Header (Ctx : in out Context; Val : RFLX.Sequence.Enumeration) is begin - Set_Scalar (Ctx, F_Header, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_Header, RFLX.Sequence.To_Base_Integer (Val)); end Set_Header; procedure Set_Vector_Empty (Ctx : in out Context) is @@ -336,24 +341,24 @@ is Set (Ctx, F_Vector, 0, 0, True, Unused_Buffer_First, Unused_Buffer_Last, Unused_Offset); end Set_Vector_Empty; - procedure Set_Vector (Ctx : in out Context; Seq_Ctx : Sequence.Modular_Vector.Context) is - Size : constant RFLX_Types.Bit_Length := RFLX_Types.To_Bit_Length (Sequence.Modular_Vector.Byte_Size (Seq_Ctx)); + procedure Set_Vector (Ctx : in out Context; Seq_Ctx : RFLX.Sequence.Modular_Vector.Context) is + Size : constant RFLX_Types.Bit_Length := RFLX_Types.To_Bit_Length (RFLX.Sequence.Modular_Vector.Byte_Size (Seq_Ctx)); Unused_First, Unused_Last : RFLX_Types.Bit_Index; Buffer_First, Buffer_Last : RFLX_Types.Index; Unused_Offset : RFLX_Types.Offset; begin Set (Ctx, F_Vector, 0, Size, True, Buffer_First, Buffer_Last, Unused_Offset); - Sequence.Modular_Vector.Copy (Seq_Ctx, Ctx.Buffer.all (Buffer_First .. Buffer_Last)); + RFLX.Sequence.Modular_Vector.Copy (Seq_Ctx, Ctx.Buffer.all (Buffer_First .. Buffer_Last)); end Set_Vector; procedure Initialize_Vector_Private (Ctx : in out Context; Length : RFLX_Types.Length) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Vector) - and then Valid_Length (Ctx, F_Vector, Length) - and then RFLX_Types.To_Length (Available_Space (Ctx, F_Vector)) >= Length - and then Field_First (Ctx, F_Vector) mod RFLX_Types.Byte'Size = 1, + and then RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Has_Buffer (Ctx) + and then RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Valid_Next (Ctx, RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.F_Vector) + and then RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Valid_Length (Ctx, RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.F_Vector, Length) + and then RFLX_Types.To_Length (RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Available_Space (Ctx, RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.F_Vector)) >= Length + and then RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Field_First (Ctx, RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.F_Vector) mod RFLX_Types.Byte'Size = 1, Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Vector) @@ -386,7 +391,7 @@ is Initialize_Vector_Private (Ctx, Length); end Initialize_Vector; - procedure Switch_To_Vector (Ctx : in out Context; Seq_Ctx : out Sequence.Modular_Vector.Context) is + procedure Switch_To_Vector (Ctx : in out Context; Seq_Ctx : out RFLX.Sequence.Modular_Vector.Context) is First : constant RFLX_Types.Bit_Index := Field_First (Ctx, F_Vector); Last : constant RFLX_Types.Bit_Index := Field_Last (Ctx, F_Vector); Buffer : RFLX_Types.Bytes_Ptr; @@ -401,15 +406,15 @@ is end if; Take_Buffer (Ctx, Buffer); pragma Warnings (Off, "unused assignment to ""Buffer"""); - Sequence.Modular_Vector.Initialize (Seq_Ctx, Buffer, First, Last); + RFLX.Sequence.Modular_Vector.Initialize (Seq_Ctx, Buffer, First, Last); pragma Warnings (On, "unused assignment to ""Buffer"""); end Switch_To_Vector; - procedure Update_Vector (Ctx : in out Context; Seq_Ctx : in out Sequence.Modular_Vector.Context) is - Valid_Sequence : constant Boolean := Sequence.Modular_Vector.Valid (Seq_Ctx); + procedure Update_Vector (Ctx : in out Context; Seq_Ctx : in out RFLX.Sequence.Modular_Vector.Context) is + Valid_Sequence : constant Boolean := RFLX.Sequence.Modular_Vector.Valid (Seq_Ctx); Buffer : RFLX_Types.Bytes_Ptr; begin - Sequence.Modular_Vector.Take_Buffer (Seq_Ctx, Buffer); + RFLX.Sequence.Modular_Vector.Take_Buffer (Seq_Ctx, Buffer); Ctx.Buffer := Buffer; if Valid_Sequence then Ctx.Cursors (F_Vector) := (State => S_Valid, First => Ctx.Cursors (F_Vector).First, Last => Ctx.Cursors (F_Vector).Last, Value => Ctx.Cursors (F_Vector).Value, Predecessor => Ctx.Cursors (F_Vector).Predecessor); diff --git a/tests/spark/generated/rflx-sequence-sequence_size_defined_by_message_size.ads b/tests/spark/generated/rflx-sequence-sequence_size_defined_by_message_size.ads index 5d108d797..46916a782 100644 --- a/tests/spark/generated/rflx-sequence-sequence_size_defined_by_message_size.ads +++ b/tests/spark/generated/rflx-sequence-sequence_size_defined_by_message_size.ads @@ -125,7 +125,7 @@ is procedure Reset (Ctx : in out Context) with Pre => not Ctx'Constrained - and Has_Buffer (Ctx), + and RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -137,7 +137,7 @@ is procedure Reset (Ctx : in out Context; First : RFLX_Types.Bit_Index; Last : RFLX_Types.Bit_Length) with Pre => not Ctx'Constrained - and Has_Buffer (Ctx) + and RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Has_Buffer (Ctx) and RFLX_Types.To_Index (First) >= Ctx.Buffer_First and RFLX_Types.To_Index (Last) <= Ctx.Buffer_Last and First <= Last + 1 @@ -154,7 +154,7 @@ is procedure Take_Buffer (Ctx : in out Context; Buffer : out RFLX_Types.Bytes_Ptr) with Pre => - Has_Buffer (Ctx), + RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Has_Buffer (Ctx), Post => not Has_Buffer (Ctx) and Buffer /= null @@ -170,15 +170,15 @@ is procedure Copy (Ctx : Context; Buffer : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) - and then Byte_Size (Ctx) = Buffer'Length; + RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Has_Buffer (Ctx) + and then RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Structural_Valid_Message (Ctx) + and then RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Byte_Size (Ctx) = Buffer'Length; function Read (Ctx : Context) return RFLX_Types.Bytes with Ghost, Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx); + RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Has_Buffer (Ctx) + and then RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Structural_Valid_Message (Ctx); pragma Warnings (Off, "formal parameter ""*"" is not referenced"); @@ -192,8 +192,8 @@ is with function Pre (Buffer : RFLX_Types.Bytes) return Boolean is Always_Valid; procedure Generic_Read (Ctx : Context) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) + RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Has_Buffer (Ctx) + and then RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Structural_Valid_Message (Ctx) and then Pre (Read (Ctx)); pragma Warnings (Off, "formal parameter ""*"" is not referenced"); @@ -209,9 +209,9 @@ is procedure Generic_Write (Ctx : in out Context; Offset : RFLX_Types.Length := 0) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Offset < Buffer_Length (Ctx) - and then Pre (Buffer_Length (Ctx), Offset), + and then RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Has_Buffer (Ctx) + and then Offset < RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Buffer_Length (Ctx) + and then Pre (RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Buffer_Length (Ctx), Offset), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -223,7 +223,7 @@ is function Buffer_Length (Ctx : Context) return RFLX_Types.Length with Pre => - Has_Buffer (Ctx); + RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Has_Buffer (Ctx); function Size (Ctx : Context) return RFLX_Types.Bit_Length with Post => @@ -233,16 +233,16 @@ is function Message_Last (Ctx : Context) return RFLX_Types.Bit_Length with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx); + RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Has_Buffer (Ctx) + and then RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Structural_Valid_Message (Ctx); function Written_Last (Ctx : Context) return RFLX_Types.Bit_Length; procedure Data (Ctx : Context; Data : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) - and then Data'Length = Byte_Size (Ctx); + RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Has_Buffer (Ctx) + and then RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Structural_Valid_Message (Ctx) + and then Data'Length = RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Byte_Size (Ctx); pragma Warnings (Off, "postcondition does not mention function result"); @@ -256,7 +256,7 @@ is function Path_Condition (Ctx : Context; Fld : Field) return Boolean with Pre => - Valid_Predecessor (Ctx, Fld), + RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Valid_Predecessor (Ctx, Fld), Post => True; @@ -266,10 +266,10 @@ is function Field_Condition (Ctx : Context; Fld : Field) return Boolean with Pre => - Has_Buffer (Ctx) - and then Valid_Predecessor (Ctx, Fld) - and then Valid_Next (Ctx, Fld) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld), + RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Has_Buffer (Ctx) + and then RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Valid_Predecessor (Ctx, Fld) + and then RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Valid_Next (Ctx, Fld) + and then RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Available_Space (Ctx, Fld) >= RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Field_Size (Ctx, Fld), Post => True; @@ -277,7 +277,7 @@ is function Field_Size (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld), + RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Valid_Next (Ctx, Fld), Post => (case Fld is when F_Vector => @@ -289,7 +289,7 @@ is function Field_First (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Index with Pre => - Valid_Next (Ctx, Fld), + RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Valid_Next (Ctx, Fld), Post => True; @@ -297,8 +297,8 @@ is function Field_Last (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld), + RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Valid_Next (Ctx, Fld) + and then RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Available_Space (Ctx, Fld) >= RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Field_Size (Ctx, Fld), Post => (case Fld is when F_Vector => @@ -326,16 +326,16 @@ is function Available_Space (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld); + RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Valid_Next (Ctx, Fld); function Equal (Ctx : Context; Fld : Field; Data : RFLX_Types.Bytes) return Boolean with Pre => - Has_Buffer (Ctx) - and Valid_Next (Ctx, Fld); + RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Has_Buffer (Ctx) + and RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Valid_Next (Ctx, Fld); procedure Verify (Ctx : in out Context; Fld : Field) with Pre => - Has_Buffer (Ctx), + RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -345,7 +345,7 @@ is procedure Verify_Message (Ctx : in out Context) with Pre => - Has_Buffer (Ctx), + RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -367,11 +367,11 @@ is function Structural_Valid_Message (Ctx : Context) return Boolean with Pre => - Has_Buffer (Ctx); + RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Has_Buffer (Ctx); function Valid_Message (Ctx : Context) return Boolean with Pre => - Has_Buffer (Ctx); + RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Has_Buffer (Ctx); pragma Warnings (Off, "postcondition does not mention function result"); @@ -385,7 +385,7 @@ is function Get_Header (Ctx : Context) return RFLX.Sequence.Enumeration with Pre => - Valid (Ctx, F_Header); + RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Valid (Ctx, RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.F_Header); pragma Warnings (On, "precondition is always False"); @@ -393,7 +393,7 @@ is function Valid_Length (Ctx : Context; Fld : Field; Length : RFLX_Types.Length) return Boolean with Pre => - Valid_Next (Ctx, Fld), + RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Valid_Next (Ctx, Fld), Post => True; @@ -405,11 +405,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Header) - and then RFLX.Sequence.Valid_Enumeration (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_Header) >= Field_Size (Ctx, F_Header) - and then Field_Condition (Ctx, F_Header), + and then RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Has_Buffer (Ctx) + and then RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Valid_Next (Ctx, RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.F_Header) + and then RFLX.Sequence.Valid_Enumeration (RFLX.Sequence.To_Base_Integer (Val)) + and then RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Available_Space (Ctx, RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.F_Header) >= RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Field_Size (Ctx, RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.F_Header) + and then RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Field_Condition (Ctx, RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.F_Header), Post => Has_Buffer (Ctx) and Valid (Ctx, F_Header) @@ -430,11 +430,11 @@ is procedure Set_Vector_Empty (Ctx : in out Context) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Vector) - and then Available_Space (Ctx, F_Vector) >= Field_Size (Ctx, F_Vector) - and then Field_Condition (Ctx, F_Vector) - and then Field_Size (Ctx, F_Vector) = 0, + and then RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Has_Buffer (Ctx) + and then RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Valid_Next (Ctx, RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.F_Vector) + and then RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Available_Space (Ctx, RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.F_Vector) >= RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Field_Size (Ctx, RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.F_Vector) + and then RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Field_Condition (Ctx, RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.F_Vector) + and then RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Field_Size (Ctx, RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.F_Vector) = 0, Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Vector) @@ -449,16 +449,16 @@ is and Field_First (Ctx, F_Vector) = Field_First (Ctx, F_Vector)'Old and Field_Last (Ctx, F_Vector) = Field_Last (Ctx, Predecessor (Ctx, F_Vector)) + Field_Size (Ctx, F_Vector); - procedure Set_Vector (Ctx : in out Context; Seq_Ctx : Sequence.Modular_Vector.Context) with + procedure Set_Vector (Ctx : in out Context; Seq_Ctx : RFLX.Sequence.Modular_Vector.Context) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Vector) - and then Available_Space (Ctx, F_Vector) >= Field_Size (Ctx, F_Vector) - and then Field_Condition (Ctx, F_Vector) - and then Valid_Length (Ctx, F_Vector, Sequence.Modular_Vector.Byte_Size (Seq_Ctx)) - and then Sequence.Modular_Vector.Has_Buffer (Seq_Ctx) - and then Sequence.Modular_Vector.Valid (Seq_Ctx), + and then RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Has_Buffer (Ctx) + and then RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Valid_Next (Ctx, RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.F_Vector) + and then RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Available_Space (Ctx, RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.F_Vector) >= RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Field_Size (Ctx, RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.F_Vector) + and then RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Field_Condition (Ctx, RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.F_Vector) + and then RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Valid_Length (Ctx, RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.F_Vector, RFLX.Sequence.Modular_Vector.Byte_Size (Seq_Ctx)) + and then RFLX.Sequence.Modular_Vector.Has_Buffer (Seq_Ctx) + and then RFLX.Sequence.Modular_Vector.Valid (Seq_Ctx), Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Vector) @@ -477,10 +477,10 @@ is procedure Initialize_Vector (Ctx : in out Context; Length : RFLX_Types.Length) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Vector) - and then Valid_Length (Ctx, F_Vector, Length) - and then Available_Space (Ctx, F_Vector) >= RFLX_Types.To_Bit_Length (Length), + and then RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Has_Buffer (Ctx) + and then RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Valid_Next (Ctx, RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.F_Vector) + and then RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Valid_Length (Ctx, RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.F_Vector, Length) + and then RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Available_Space (Ctx, RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.F_Vector) >= RFLX_Types.To_Bit_Length (Length), Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Vector) @@ -496,25 +496,25 @@ is and Field_First (Ctx, F_Vector) = Field_First (Ctx, F_Vector)'Old and Field_Last (Ctx, F_Vector) = Field_Last (Ctx, Predecessor (Ctx, F_Vector)) + Field_Size (Ctx, F_Vector); - procedure Switch_To_Vector (Ctx : in out Context; Seq_Ctx : out Sequence.Modular_Vector.Context) with + procedure Switch_To_Vector (Ctx : in out Context; Seq_Ctx : out RFLX.Sequence.Modular_Vector.Context) with Pre => not Ctx'Constrained and then not Seq_Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Vector) - and then Field_Size (Ctx, F_Vector) > 0 - and then Field_First (Ctx, F_Vector) rem RFLX_Types.Byte'Size = 1 - and then Available_Space (Ctx, F_Vector) >= Field_Size (Ctx, F_Vector) - and then Field_Condition (Ctx, F_Vector), + and then RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Has_Buffer (Ctx) + and then RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Valid_Next (Ctx, RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.F_Vector) + and then RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Field_Size (Ctx, RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.F_Vector) > 0 + and then RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Field_First (Ctx, RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.F_Vector) rem RFLX_Types.Byte'Size = 1 + and then RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Available_Space (Ctx, RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.F_Vector) >= RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Field_Size (Ctx, RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.F_Vector) + and then RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Field_Condition (Ctx, RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.F_Vector), Post => - not Has_Buffer (Ctx) - and Sequence.Modular_Vector.Has_Buffer (Seq_Ctx) + not RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Has_Buffer (Ctx) + and RFLX.Sequence.Modular_Vector.Has_Buffer (Seq_Ctx) and Ctx.Buffer_First = Seq_Ctx.Buffer_First and Ctx.Buffer_Last = Seq_Ctx.Buffer_Last and Seq_Ctx.First = Field_First (Ctx, F_Vector) and Seq_Ctx.Last = Field_Last (Ctx, F_Vector) - and Sequence.Modular_Vector.Valid (Seq_Ctx) - and Sequence.Modular_Vector.Sequence_Last (Seq_Ctx) = Seq_Ctx.First - 1 + and RFLX.Sequence.Modular_Vector.Valid (Seq_Ctx) + and RFLX.Sequence.Modular_Vector.Sequence_Last (Seq_Ctx) = Seq_Ctx.First - 1 and Present (Ctx, F_Vector) and Ctx.Buffer_First = Ctx.Buffer_First'Old and Ctx.Buffer_Last = Ctx.Buffer_Last'Old @@ -531,16 +531,16 @@ is others => True); - function Complete_Vector (Ctx : Context; Seq_Ctx : Sequence.Modular_Vector.Context) return Boolean with + function Complete_Vector (Ctx : Context; Seq_Ctx : RFLX.Sequence.Modular_Vector.Context) return Boolean with Pre => - Valid_Next (Ctx, F_Vector); + RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Valid_Next (Ctx, RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.F_Vector); - procedure Update_Vector (Ctx : in out Context; Seq_Ctx : in out Sequence.Modular_Vector.Context) with + procedure Update_Vector (Ctx : in out Context; Seq_Ctx : in out RFLX.Sequence.Modular_Vector.Context) with Pre => - Present (Ctx, F_Vector) - and then Complete_Vector (Ctx, Seq_Ctx) - and then not Has_Buffer (Ctx) - and then Sequence.Modular_Vector.Has_Buffer (Seq_Ctx) + RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Present (Ctx, RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.F_Vector) + and then RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Complete_Vector (Ctx, Seq_Ctx) + and then not RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Has_Buffer (Ctx) + and then RFLX.Sequence.Modular_Vector.Has_Buffer (Seq_Ctx) and then Ctx.Buffer_First = Seq_Ctx.Buffer_First and then Ctx.Buffer_Last = Seq_Ctx.Buffer_Last and then Seq_Ctx.First = Field_First (Ctx, F_Vector) @@ -548,7 +548,7 @@ is Post => Present (Ctx, F_Vector) and Has_Buffer (Ctx) - and not Sequence.Modular_Vector.Has_Buffer (Seq_Ctx) + and not RFLX.Sequence.Modular_Vector.Has_Buffer (Seq_Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old and Ctx.Buffer_Last = Ctx.Buffer_Last'Old and Ctx.First = Ctx.First'Old @@ -671,7 +671,7 @@ private function Initialized (Ctx : Context) return Boolean is (Ctx.Verified_Last = Ctx.First - 1 and then Valid_Next (Ctx, F_Header) - and then Field_First (Ctx, F_Header) rem RFLX_Types.Byte'Size = 1 + and then RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Field_First (Ctx, RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.F_Header) rem RFLX_Types.Byte'Size = 1 and then Available_Space (Ctx, F_Header) = Ctx.Last - Ctx.First + 1 and then (for all F in Field => Invalid (Ctx, F))); @@ -791,14 +791,14 @@ private Size = Field_Size (Ctx, Fld))) with Pre => - Valid_Next (Ctx, Fld); + RFLX.Sequence.Sequence_Size_Defined_By_Message_Size.Valid_Next (Ctx, Fld); function Valid_Length (Ctx : Context; Fld : Field; Length : RFLX_Types.Length) return Boolean is (Valid_Size (Ctx, Fld, RFLX_Types.To_Bit_Length (Length))); - function Complete_Vector (Ctx : Context; Seq_Ctx : Sequence.Modular_Vector.Context) return Boolean is - (Sequence.Modular_Vector.Valid (Seq_Ctx) - and Sequence.Modular_Vector.Size (Seq_Ctx) = Field_Size (Ctx, F_Vector)); + function Complete_Vector (Ctx : Context; Seq_Ctx : RFLX.Sequence.Modular_Vector.Context) return Boolean is + (RFLX.Sequence.Modular_Vector.Valid (Seq_Ctx) + and RFLX.Sequence.Modular_Vector.Size (Seq_Ctx) = Field_Size (Ctx, F_Vector)); function Context_Cursor (Ctx : Context; Fld : Field) return Field_Cursor is (Ctx.Cursors (Fld)); diff --git a/tests/spark/generated/rflx-tlv-message.adb b/tests/spark/generated/rflx-tlv-message.adb index 9c42246f9..163e565b5 100644 --- a/tests/spark/generated/rflx-tlv-message.adb +++ b/tests/spark/generated/rflx-tlv-message.adb @@ -88,9 +88,9 @@ is F_Final)) with Pre => - Has_Buffer (Ctx) - and Structural_Valid (Ctx, Fld) - and Valid_Predecessor (Ctx, Fld); + RFLX.TLV.Message.Has_Buffer (Ctx) + and RFLX.TLV.Message.Structural_Valid (Ctx, Fld) + and RFLX.TLV.Message.Valid_Predecessor (Ctx, Fld); pragma Warnings (On, "precondition is always False"); @@ -110,8 +110,8 @@ is and Field_First (Ctx, Fld) + Field_Size (Ctx, Fld) - 1 <= Ctx.Written_Last) with Pre => - Has_Buffer (Ctx) - and Valid_Next (Ctx, Fld); + RFLX.TLV.Message.Has_Buffer (Ctx) + and RFLX.TLV.Message.Valid_Next (Ctx, Fld); function Equal (Ctx : Context; Fld : Field; Data : RFLX_Types.Bytes) return Boolean is (Sufficient_Buffer_Length (Ctx, Fld) @@ -125,7 +125,7 @@ is procedure Reset_Dependent_Fields (Ctx : in out Context; Fld : Field) with Pre => - Valid_Next (Ctx, Fld), + RFLX.TLV.Message.Valid_Next (Ctx, Fld), Post => Valid_Next (Ctx, Fld) and Invalid (Ctx.Cursors (Fld)) @@ -167,10 +167,10 @@ is function Get (Ctx : Context; Fld : Field) return RFLX_Types.Base_Integer with Pre => - Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) - and then Sufficient_Buffer_Length (Ctx, Fld) - and then not Composite_Field (Fld) + RFLX.TLV.Message.Has_Buffer (Ctx) + and then RFLX.TLV.Message.Valid_Next (Ctx, Fld) + and then RFLX.TLV.Message.Sufficient_Buffer_Length (Ctx, Fld) + and then not RFLX.TLV.Message.Composite_Field (Fld) is First : constant RFLX_Types.Bit_Index := Field_First (Ctx, Fld); Last : constant RFLX_Types.Bit_Index := Field_Last (Ctx, Fld); @@ -258,12 +258,12 @@ is procedure Set (Ctx : in out Context; Fld : Field; Val : RFLX_Types.Base_Integer; Size : RFLX_Types.Bit_Length; State_Valid : Boolean; Buffer_First : out RFLX_Types.Index; Buffer_Last : out RFLX_Types.Index; Offset : out RFLX_Types.Offset) with Pre => - Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) - and then Valid_Value (Fld, Val) - and then Valid_Size (Ctx, Fld, Size) - and then Size <= Available_Space (Ctx, Fld) - and then (if Composite_Field (Fld) then Size mod RFLX_Types.Byte'Size = 0 else State_Valid), + RFLX.TLV.Message.Has_Buffer (Ctx) + and then RFLX.TLV.Message.Valid_Next (Ctx, Fld) + and then RFLX.TLV.Message.Valid_Value (Fld, Val) + and then RFLX.TLV.Message.Valid_Size (Ctx, Fld, Size) + and then Size <= RFLX.TLV.Message.Available_Space (Ctx, Fld) + and then (if RFLX.TLV.Message.Composite_Field (Fld) then Size mod RFLX_Types.Byte'Size = 0 else State_Valid), Post => Valid_Next (Ctx, Fld) and then Invalid_Successor (Ctx, Fld) @@ -333,14 +333,14 @@ is procedure Set_Scalar (Ctx : in out Context; Fld : Field; Val : RFLX_Types.Base_Integer) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) + and then RFLX.TLV.Message.Has_Buffer (Ctx) + and then RFLX.TLV.Message.Valid_Next (Ctx, Fld) and then Fld in F_Tag | F_Length - and then Valid_Value (Fld, Val) - and then Valid_Size (Ctx, Fld, Field_Size (Ctx, Fld)) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld) - and then Field_Size (Ctx, Fld) in 1 .. RFLX_Types.Base_Integer'Size - and then RFLX_Types.Fits_Into (Val, Natural (Field_Size (Ctx, Fld))), + and then RFLX.TLV.Message.Valid_Value (Fld, Val) + and then RFLX.TLV.Message.Valid_Size (Ctx, Fld, RFLX.TLV.Message.Field_Size (Ctx, Fld)) + and then RFLX.TLV.Message.Available_Space (Ctx, Fld) >= RFLX.TLV.Message.Field_Size (Ctx, Fld) + and then RFLX.TLV.Message.Field_Size (Ctx, Fld) in 1 .. RFLX_Types.Base_Integer'Size + and then RFLX_Types.Fits_Into (Val, Natural (RFLX.TLV.Message.Field_Size (Ctx, Fld))), Post => Has_Buffer (Ctx) and Valid (Ctx, Fld) @@ -381,12 +381,12 @@ is procedure Set_Tag (Ctx : in out Context; Val : RFLX.TLV.Tag) is begin - Set_Scalar (Ctx, F_Tag, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_Tag, RFLX.TLV.To_Base_Integer (Val)); end Set_Tag; procedure Set_Length (Ctx : in out Context; Val : RFLX.TLV.Length) is begin - Set_Scalar (Ctx, F_Length, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_Length, RFLX.TLV.To_Base_Integer (Val)); end Set_Length; procedure Set_Value_Empty (Ctx : in out Context) is @@ -399,11 +399,11 @@ is procedure Initialize_Value_Private (Ctx : in out Context; Length : RFLX_Types.Length) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Value) - and then Valid_Length (Ctx, F_Value, Length) - and then RFLX_Types.To_Length (Available_Space (Ctx, F_Value)) >= Length - and then Field_First (Ctx, F_Value) mod RFLX_Types.Byte'Size = 1, + and then RFLX.TLV.Message.Has_Buffer (Ctx) + and then RFLX.TLV.Message.Valid_Next (Ctx, RFLX.TLV.Message.F_Value) + and then RFLX.TLV.Message.Valid_Length (Ctx, RFLX.TLV.Message.F_Value, Length) + and then RFLX_Types.To_Length (RFLX.TLV.Message.Available_Space (Ctx, RFLX.TLV.Message.F_Value)) >= Length + and then RFLX.TLV.Message.Field_First (Ctx, RFLX.TLV.Message.F_Value) mod RFLX_Types.Byte'Size = 1, Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Value) diff --git a/tests/spark/generated/rflx-tlv-message.ads b/tests/spark/generated/rflx-tlv-message.ads index 36647a52e..c4f3e606c 100644 --- a/tests/spark/generated/rflx-tlv-message.ads +++ b/tests/spark/generated/rflx-tlv-message.ads @@ -124,7 +124,7 @@ is procedure Reset (Ctx : in out Context) with Pre => not Ctx'Constrained - and Has_Buffer (Ctx), + and RFLX.TLV.Message.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -136,7 +136,7 @@ is procedure Reset (Ctx : in out Context; First : RFLX_Types.Bit_Index; Last : RFLX_Types.Bit_Length) with Pre => not Ctx'Constrained - and Has_Buffer (Ctx) + and RFLX.TLV.Message.Has_Buffer (Ctx) and RFLX_Types.To_Index (First) >= Ctx.Buffer_First and RFLX_Types.To_Index (Last) <= Ctx.Buffer_Last and First <= Last + 1 @@ -153,7 +153,7 @@ is procedure Take_Buffer (Ctx : in out Context; Buffer : out RFLX_Types.Bytes_Ptr) with Pre => - Has_Buffer (Ctx), + RFLX.TLV.Message.Has_Buffer (Ctx), Post => not Has_Buffer (Ctx) and Buffer /= null @@ -169,15 +169,15 @@ is procedure Copy (Ctx : Context; Buffer : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) - and then Byte_Size (Ctx) = Buffer'Length; + RFLX.TLV.Message.Has_Buffer (Ctx) + and then RFLX.TLV.Message.Structural_Valid_Message (Ctx) + and then RFLX.TLV.Message.Byte_Size (Ctx) = Buffer'Length; function Read (Ctx : Context) return RFLX_Types.Bytes with Ghost, Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx); + RFLX.TLV.Message.Has_Buffer (Ctx) + and then RFLX.TLV.Message.Structural_Valid_Message (Ctx); pragma Warnings (Off, "formal parameter ""*"" is not referenced"); @@ -191,8 +191,8 @@ is with function Pre (Buffer : RFLX_Types.Bytes) return Boolean is Always_Valid; procedure Generic_Read (Ctx : Context) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) + RFLX.TLV.Message.Has_Buffer (Ctx) + and then RFLX.TLV.Message.Structural_Valid_Message (Ctx) and then Pre (Read (Ctx)); pragma Warnings (Off, "formal parameter ""*"" is not referenced"); @@ -208,9 +208,9 @@ is procedure Generic_Write (Ctx : in out Context; Offset : RFLX_Types.Length := 0) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Offset < Buffer_Length (Ctx) - and then Pre (Buffer_Length (Ctx), Offset), + and then RFLX.TLV.Message.Has_Buffer (Ctx) + and then Offset < RFLX.TLV.Message.Buffer_Length (Ctx) + and then Pre (RFLX.TLV.Message.Buffer_Length (Ctx), Offset), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -222,7 +222,7 @@ is function Buffer_Length (Ctx : Context) return RFLX_Types.Length with Pre => - Has_Buffer (Ctx); + RFLX.TLV.Message.Has_Buffer (Ctx); function Size (Ctx : Context) return RFLX_Types.Bit_Length with Post => @@ -232,16 +232,16 @@ is function Message_Last (Ctx : Context) return RFLX_Types.Bit_Length with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx); + RFLX.TLV.Message.Has_Buffer (Ctx) + and then RFLX.TLV.Message.Structural_Valid_Message (Ctx); function Written_Last (Ctx : Context) return RFLX_Types.Bit_Length; procedure Data (Ctx : Context; Data : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) - and then Data'Length = Byte_Size (Ctx); + RFLX.TLV.Message.Has_Buffer (Ctx) + and then RFLX.TLV.Message.Structural_Valid_Message (Ctx) + and then Data'Length = RFLX.TLV.Message.Byte_Size (Ctx); pragma Warnings (Off, "postcondition does not mention function result"); @@ -255,7 +255,7 @@ is function Path_Condition (Ctx : Context; Fld : Field) return Boolean with Pre => - Valid_Predecessor (Ctx, Fld), + RFLX.TLV.Message.Valid_Predecessor (Ctx, Fld), Post => True; @@ -265,11 +265,11 @@ is function Field_Condition (Ctx : Context; Fld : Field; Val : RFLX_Types.Base_Integer) return Boolean with Pre => - Has_Buffer (Ctx) - and then Valid_Predecessor (Ctx, Fld) - and then Valid_Value (Fld, Val) - and then Valid_Next (Ctx, Fld) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld), + RFLX.TLV.Message.Has_Buffer (Ctx) + and then RFLX.TLV.Message.Valid_Predecessor (Ctx, Fld) + and then RFLX.TLV.Message.Valid_Value (Fld, Val) + and then RFLX.TLV.Message.Valid_Next (Ctx, Fld) + and then RFLX.TLV.Message.Available_Space (Ctx, Fld) >= RFLX.TLV.Message.Field_Size (Ctx, Fld), Post => True; @@ -277,7 +277,7 @@ is function Field_Size (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld), + RFLX.TLV.Message.Valid_Next (Ctx, Fld), Post => (case Fld is when F_Value => @@ -289,7 +289,7 @@ is function Field_First (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Index with Pre => - Valid_Next (Ctx, Fld), + RFLX.TLV.Message.Valid_Next (Ctx, Fld), Post => True; @@ -297,8 +297,8 @@ is function Field_Last (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld), + RFLX.TLV.Message.Valid_Next (Ctx, Fld) + and then RFLX.TLV.Message.Available_Space (Ctx, Fld) >= RFLX.TLV.Message.Field_Size (Ctx, Fld), Post => (case Fld is when F_Value => @@ -326,16 +326,16 @@ is function Available_Space (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld); + RFLX.TLV.Message.Valid_Next (Ctx, Fld); function Equal (Ctx : Context; Fld : Field; Data : RFLX_Types.Bytes) return Boolean with Pre => - Has_Buffer (Ctx) - and Valid_Next (Ctx, Fld); + RFLX.TLV.Message.Has_Buffer (Ctx) + and RFLX.TLV.Message.Valid_Next (Ctx, Fld); procedure Verify (Ctx : in out Context; Fld : Field) with Pre => - Has_Buffer (Ctx), + RFLX.TLV.Message.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -345,7 +345,7 @@ is procedure Verify_Message (Ctx : in out Context) with Pre => - Has_Buffer (Ctx), + RFLX.TLV.Message.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -367,11 +367,11 @@ is function Structural_Valid_Message (Ctx : Context) return Boolean with Pre => - Has_Buffer (Ctx); + RFLX.TLV.Message.Has_Buffer (Ctx); function Valid_Message (Ctx : Context) return Boolean with Pre => - Has_Buffer (Ctx); + RFLX.TLV.Message.Has_Buffer (Ctx); pragma Warnings (Off, "postcondition does not mention function result"); @@ -385,29 +385,29 @@ is function Get_Tag (Ctx : Context) return RFLX.TLV.Tag with Pre => - Valid (Ctx, F_Tag); + RFLX.TLV.Message.Valid (Ctx, RFLX.TLV.Message.F_Tag); function Get_Length (Ctx : Context) return RFLX.TLV.Length with Pre => - Valid (Ctx, F_Length); + RFLX.TLV.Message.Valid (Ctx, RFLX.TLV.Message.F_Length); pragma Warnings (On, "precondition is always False"); function Get_Value (Ctx : Context) return RFLX_Types.Bytes with Ghost, Pre => - Has_Buffer (Ctx) - and then Structural_Valid (Ctx, F_Value) - and then Valid_Next (Ctx, F_Value), + RFLX.TLV.Message.Has_Buffer (Ctx) + and then RFLX.TLV.Message.Structural_Valid (Ctx, RFLX.TLV.Message.F_Value) + and then RFLX.TLV.Message.Valid_Next (Ctx, RFLX.TLV.Message.F_Value), Post => Get_Value'Result'Length = RFLX_Types.To_Length (Field_Size (Ctx, F_Value)); procedure Get_Value (Ctx : Context; Data : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid (Ctx, F_Value) - and then Valid_Next (Ctx, F_Value) - and then Data'Length = RFLX_Types.To_Length (Field_Size (Ctx, F_Value)), + RFLX.TLV.Message.Has_Buffer (Ctx) + and then RFLX.TLV.Message.Structural_Valid (Ctx, RFLX.TLV.Message.F_Value) + and then RFLX.TLV.Message.Valid_Next (Ctx, RFLX.TLV.Message.F_Value) + and then Data'Length = RFLX_Types.To_Length (RFLX.TLV.Message.Field_Size (Ctx, RFLX.TLV.Message.F_Value)), Post => Equal (Ctx, F_Value, Data); @@ -415,14 +415,14 @@ is with procedure Process_Value (Value : RFLX_Types.Bytes); procedure Generic_Get_Value (Ctx : Context) with Pre => - Has_Buffer (Ctx) - and Present (Ctx, F_Value); + RFLX.TLV.Message.Has_Buffer (Ctx) + and RFLX.TLV.Message.Present (Ctx, RFLX.TLV.Message.F_Value); pragma Warnings (Off, "postcondition does not mention function result"); function Valid_Length (Ctx : Context; Fld : Field; Length : RFLX_Types.Length) return Boolean with Pre => - Valid_Next (Ctx, Fld), + RFLX.TLV.Message.Valid_Next (Ctx, Fld), Post => True; @@ -434,11 +434,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Tag) - and then RFLX.TLV.Valid_Tag (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_Tag) >= Field_Size (Ctx, F_Tag) - and then Field_Condition (Ctx, F_Tag, To_Base_Integer (Val)), + and then RFLX.TLV.Message.Has_Buffer (Ctx) + and then RFLX.TLV.Message.Valid_Next (Ctx, RFLX.TLV.Message.F_Tag) + and then RFLX.TLV.Valid_Tag (RFLX.TLV.To_Base_Integer (Val)) + and then RFLX.TLV.Message.Available_Space (Ctx, RFLX.TLV.Message.F_Tag) >= RFLX.TLV.Message.Field_Size (Ctx, RFLX.TLV.Message.F_Tag) + and then RFLX.TLV.Message.Field_Condition (Ctx, RFLX.TLV.Message.F_Tag, RFLX.TLV.To_Base_Integer (Val)), Post => Has_Buffer (Ctx) and Valid (Ctx, F_Tag) @@ -463,11 +463,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Length) - and then RFLX.TLV.Valid_Length (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_Length) >= Field_Size (Ctx, F_Length) - and then Field_Condition (Ctx, F_Length, To_Base_Integer (Val)), + and then RFLX.TLV.Message.Has_Buffer (Ctx) + and then RFLX.TLV.Message.Valid_Next (Ctx, RFLX.TLV.Message.F_Length) + and then RFLX.TLV.Valid_Length (RFLX.TLV.To_Base_Integer (Val)) + and then RFLX.TLV.Message.Available_Space (Ctx, RFLX.TLV.Message.F_Length) >= RFLX.TLV.Message.Field_Size (Ctx, RFLX.TLV.Message.F_Length) + and then RFLX.TLV.Message.Field_Condition (Ctx, RFLX.TLV.Message.F_Length, RFLX.TLV.To_Base_Integer (Val)), Post => Has_Buffer (Ctx) and Valid (Ctx, F_Length) @@ -492,11 +492,11 @@ is procedure Set_Value_Empty (Ctx : in out Context) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Value) - and then Available_Space (Ctx, F_Value) >= Field_Size (Ctx, F_Value) - and then Field_Condition (Ctx, F_Value, 0) - and then Field_Size (Ctx, F_Value) = 0, + and then RFLX.TLV.Message.Has_Buffer (Ctx) + and then RFLX.TLV.Message.Valid_Next (Ctx, RFLX.TLV.Message.F_Value) + and then RFLX.TLV.Message.Available_Space (Ctx, RFLX.TLV.Message.F_Value) >= RFLX.TLV.Message.Field_Size (Ctx, RFLX.TLV.Message.F_Value) + and then RFLX.TLV.Message.Field_Condition (Ctx, RFLX.TLV.Message.F_Value, 0) + and then RFLX.TLV.Message.Field_Size (Ctx, RFLX.TLV.Message.F_Value) = 0, Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Value) @@ -515,9 +515,9 @@ is procedure Initialize_Value (Ctx : in out Context) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Value) - and then Available_Space (Ctx, F_Value) >= Field_Size (Ctx, F_Value), + and then RFLX.TLV.Message.Has_Buffer (Ctx) + and then RFLX.TLV.Message.Valid_Next (Ctx, RFLX.TLV.Message.F_Value) + and then RFLX.TLV.Message.Available_Space (Ctx, RFLX.TLV.Message.F_Value) >= RFLX.TLV.Message.Field_Size (Ctx, RFLX.TLV.Message.F_Value), Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Value) @@ -536,12 +536,12 @@ is procedure Set_Value (Ctx : in out Context; Data : RFLX_Types.Bytes) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Value) - and then Available_Space (Ctx, F_Value) >= Field_Size (Ctx, F_Value) - and then Valid_Length (Ctx, F_Value, Data'Length) - and then Available_Space (Ctx, F_Value) >= Data'Length * RFLX_Types.Byte'Size - and then Field_Condition (Ctx, F_Value, 0), + and then RFLX.TLV.Message.Has_Buffer (Ctx) + and then RFLX.TLV.Message.Valid_Next (Ctx, RFLX.TLV.Message.F_Value) + and then RFLX.TLV.Message.Available_Space (Ctx, RFLX.TLV.Message.F_Value) >= RFLX.TLV.Message.Field_Size (Ctx, RFLX.TLV.Message.F_Value) + and then RFLX.TLV.Message.Valid_Length (Ctx, RFLX.TLV.Message.F_Value, Data'Length) + and then RFLX.TLV.Message.Available_Space (Ctx, RFLX.TLV.Message.F_Value) >= Data'Length * RFLX_Types.Byte'Size + and then RFLX.TLV.Message.Field_Condition (Ctx, RFLX.TLV.Message.F_Value, 0), Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Value) @@ -564,11 +564,11 @@ is procedure Generic_Set_Value (Ctx : in out Context; Length : RFLX_Types.Length) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Value) - and then Available_Space (Ctx, F_Value) >= Field_Size (Ctx, F_Value) - and then Valid_Length (Ctx, F_Value, Length) - and then RFLX_Types.To_Length (Available_Space (Ctx, F_Value)) >= Length + and then RFLX.TLV.Message.Has_Buffer (Ctx) + and then RFLX.TLV.Message.Valid_Next (Ctx, RFLX.TLV.Message.F_Value) + and then RFLX.TLV.Message.Available_Space (Ctx, RFLX.TLV.Message.F_Value) >= RFLX.TLV.Message.Field_Size (Ctx, RFLX.TLV.Message.F_Value) + and then RFLX.TLV.Message.Valid_Length (Ctx, RFLX.TLV.Message.F_Value, Length) + and then RFLX_Types.To_Length (RFLX.TLV.Message.Available_Space (Ctx, RFLX.TLV.Message.F_Value)) >= Length and then Process_Data_Pre (Length), Post => Has_Buffer (Ctx) @@ -709,7 +709,7 @@ private function Initialized (Ctx : Context) return Boolean is (Ctx.Verified_Last = Ctx.First - 1 and then Valid_Next (Ctx, F_Tag) - and then Field_First (Ctx, F_Tag) rem RFLX_Types.Byte'Size = 1 + and then RFLX.TLV.Message.Field_First (Ctx, RFLX.TLV.Message.F_Tag) rem RFLX_Types.Byte'Size = 1 and then Available_Space (Ctx, F_Tag) = Ctx.Last - Ctx.First + 1 and then (for all F in Field => Invalid (Ctx, F))); @@ -846,7 +846,7 @@ private (Size = Field_Size (Ctx, Fld)) with Pre => - Valid_Next (Ctx, Fld); + RFLX.TLV.Message.Valid_Next (Ctx, Fld); function Valid_Length (Ctx : Context; Fld : Field; Length : RFLX_Types.Length) return Boolean is (Valid_Size (Ctx, Fld, RFLX_Types.To_Bit_Length (Length))); diff --git a/tests/spark/generated/rflx-udp-datagram.adb b/tests/spark/generated/rflx-udp-datagram.adb index f1add1789..0f03a1e17 100644 --- a/tests/spark/generated/rflx-udp-datagram.adb +++ b/tests/spark/generated/rflx-udp-datagram.adb @@ -83,9 +83,9 @@ is F_Final)) with Pre => - Has_Buffer (Ctx) - and Structural_Valid (Ctx, Fld) - and Valid_Predecessor (Ctx, Fld); + RFLX.UDP.Datagram.Has_Buffer (Ctx) + and RFLX.UDP.Datagram.Structural_Valid (Ctx, Fld) + and RFLX.UDP.Datagram.Valid_Predecessor (Ctx, Fld); pragma Warnings (On, "precondition is always False"); @@ -109,8 +109,8 @@ is and Field_First (Ctx, Fld) + Field_Size (Ctx, Fld) - 1 <= Ctx.Written_Last) with Pre => - Has_Buffer (Ctx) - and Valid_Next (Ctx, Fld); + RFLX.UDP.Datagram.Has_Buffer (Ctx) + and RFLX.UDP.Datagram.Valid_Next (Ctx, Fld); function Equal (Ctx : Context; Fld : Field; Data : RFLX_Types.Bytes) return Boolean is (Sufficient_Buffer_Length (Ctx, Fld) @@ -124,7 +124,7 @@ is procedure Reset_Dependent_Fields (Ctx : in out Context; Fld : Field) with Pre => - Valid_Next (Ctx, Fld), + RFLX.UDP.Datagram.Valid_Next (Ctx, Fld), Post => Valid_Next (Ctx, Fld) and Invalid (Ctx.Cursors (Fld)) @@ -166,10 +166,10 @@ is function Get (Ctx : Context; Fld : Field) return RFLX_Types.Base_Integer with Pre => - Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) - and then Sufficient_Buffer_Length (Ctx, Fld) - and then not Composite_Field (Fld) + RFLX.UDP.Datagram.Has_Buffer (Ctx) + and then RFLX.UDP.Datagram.Valid_Next (Ctx, Fld) + and then RFLX.UDP.Datagram.Sufficient_Buffer_Length (Ctx, Fld) + and then not RFLX.UDP.Datagram.Composite_Field (Fld) is First : constant RFLX_Types.Bit_Index := Field_First (Ctx, Fld); Last : constant RFLX_Types.Bit_Index := Field_Last (Ctx, Fld); @@ -255,12 +255,12 @@ is procedure Set (Ctx : in out Context; Fld : Field; Val : RFLX_Types.Base_Integer; Size : RFLX_Types.Bit_Length; State_Valid : Boolean; Buffer_First : out RFLX_Types.Index; Buffer_Last : out RFLX_Types.Index; Offset : out RFLX_Types.Offset) with Pre => - Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) - and then Valid_Value (Fld, Val) - and then Valid_Size (Ctx, Fld, Size) - and then Size <= Available_Space (Ctx, Fld) - and then (if Composite_Field (Fld) then Size mod RFLX_Types.Byte'Size = 0 else State_Valid), + RFLX.UDP.Datagram.Has_Buffer (Ctx) + and then RFLX.UDP.Datagram.Valid_Next (Ctx, Fld) + and then RFLX.UDP.Datagram.Valid_Value (Fld, Val) + and then RFLX.UDP.Datagram.Valid_Size (Ctx, Fld, Size) + and then Size <= RFLX.UDP.Datagram.Available_Space (Ctx, Fld) + and then (if RFLX.UDP.Datagram.Composite_Field (Fld) then Size mod RFLX_Types.Byte'Size = 0 else State_Valid), Post => Valid_Next (Ctx, Fld) and then Invalid_Successor (Ctx, Fld) @@ -332,14 +332,14 @@ is procedure Set_Scalar (Ctx : in out Context; Fld : Field; Val : RFLX_Types.Base_Integer) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, Fld) + and then RFLX.UDP.Datagram.Has_Buffer (Ctx) + and then RFLX.UDP.Datagram.Valid_Next (Ctx, Fld) and then Fld in F_Source_Port | F_Destination_Port | F_Length | F_Checksum - and then Valid_Value (Fld, Val) - and then Valid_Size (Ctx, Fld, Field_Size (Ctx, Fld)) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld) - and then Field_Size (Ctx, Fld) in 1 .. RFLX_Types.Base_Integer'Size - and then RFLX_Types.Fits_Into (Val, Natural (Field_Size (Ctx, Fld))), + and then RFLX.UDP.Datagram.Valid_Value (Fld, Val) + and then RFLX.UDP.Datagram.Valid_Size (Ctx, Fld, RFLX.UDP.Datagram.Field_Size (Ctx, Fld)) + and then RFLX.UDP.Datagram.Available_Space (Ctx, Fld) >= RFLX.UDP.Datagram.Field_Size (Ctx, Fld) + and then RFLX.UDP.Datagram.Field_Size (Ctx, Fld) in 1 .. RFLX_Types.Base_Integer'Size + and then RFLX_Types.Fits_Into (Val, Natural (RFLX.UDP.Datagram.Field_Size (Ctx, Fld))), Post => Has_Buffer (Ctx) and Valid (Ctx, Fld) @@ -384,22 +384,22 @@ is procedure Set_Source_Port (Ctx : in out Context; Val : RFLX.UDP.Port) is begin - Set_Scalar (Ctx, F_Source_Port, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_Source_Port, RFLX.UDP.To_Base_Integer (Val)); end Set_Source_Port; procedure Set_Destination_Port (Ctx : in out Context; Val : RFLX.UDP.Port) is begin - Set_Scalar (Ctx, F_Destination_Port, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_Destination_Port, RFLX.UDP.To_Base_Integer (Val)); end Set_Destination_Port; procedure Set_Length (Ctx : in out Context; Val : RFLX.UDP.Length) is begin - Set_Scalar (Ctx, F_Length, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_Length, RFLX.UDP.To_Base_Integer (Val)); end Set_Length; procedure Set_Checksum (Ctx : in out Context; Val : RFLX.UDP.Checksum) is begin - Set_Scalar (Ctx, F_Checksum, To_Base_Integer (Val)); + Set_Scalar (Ctx, F_Checksum, RFLX.UDP.To_Base_Integer (Val)); end Set_Checksum; procedure Set_Payload_Empty (Ctx : in out Context) is @@ -412,11 +412,11 @@ is procedure Initialize_Payload_Private (Ctx : in out Context; Length : RFLX_Types.Length) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Payload) - and then Valid_Length (Ctx, F_Payload, Length) - and then RFLX_Types.To_Length (Available_Space (Ctx, F_Payload)) >= Length - and then Field_First (Ctx, F_Payload) mod RFLX_Types.Byte'Size = 1, + and then RFLX.UDP.Datagram.Has_Buffer (Ctx) + and then RFLX.UDP.Datagram.Valid_Next (Ctx, RFLX.UDP.Datagram.F_Payload) + and then RFLX.UDP.Datagram.Valid_Length (Ctx, RFLX.UDP.Datagram.F_Payload, Length) + and then RFLX_Types.To_Length (RFLX.UDP.Datagram.Available_Space (Ctx, RFLX.UDP.Datagram.F_Payload)) >= Length + and then RFLX.UDP.Datagram.Field_First (Ctx, RFLX.UDP.Datagram.F_Payload) mod RFLX_Types.Byte'Size = 1, Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Payload) diff --git a/tests/spark/generated/rflx-udp-datagram.ads b/tests/spark/generated/rflx-udp-datagram.ads index be4edce68..b6e56e28d 100644 --- a/tests/spark/generated/rflx-udp-datagram.ads +++ b/tests/spark/generated/rflx-udp-datagram.ads @@ -124,7 +124,7 @@ is procedure Reset (Ctx : in out Context) with Pre => not Ctx'Constrained - and Has_Buffer (Ctx), + and RFLX.UDP.Datagram.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -136,7 +136,7 @@ is procedure Reset (Ctx : in out Context; First : RFLX_Types.Bit_Index; Last : RFLX_Types.Bit_Length) with Pre => not Ctx'Constrained - and Has_Buffer (Ctx) + and RFLX.UDP.Datagram.Has_Buffer (Ctx) and RFLX_Types.To_Index (First) >= Ctx.Buffer_First and RFLX_Types.To_Index (Last) <= Ctx.Buffer_Last and First <= Last + 1 @@ -153,7 +153,7 @@ is procedure Take_Buffer (Ctx : in out Context; Buffer : out RFLX_Types.Bytes_Ptr) with Pre => - Has_Buffer (Ctx), + RFLX.UDP.Datagram.Has_Buffer (Ctx), Post => not Has_Buffer (Ctx) and Buffer /= null @@ -169,15 +169,15 @@ is procedure Copy (Ctx : Context; Buffer : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) - and then Byte_Size (Ctx) = Buffer'Length; + RFLX.UDP.Datagram.Has_Buffer (Ctx) + and then RFLX.UDP.Datagram.Structural_Valid_Message (Ctx) + and then RFLX.UDP.Datagram.Byte_Size (Ctx) = Buffer'Length; function Read (Ctx : Context) return RFLX_Types.Bytes with Ghost, Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx); + RFLX.UDP.Datagram.Has_Buffer (Ctx) + and then RFLX.UDP.Datagram.Structural_Valid_Message (Ctx); pragma Warnings (Off, "formal parameter ""*"" is not referenced"); @@ -191,8 +191,8 @@ is with function Pre (Buffer : RFLX_Types.Bytes) return Boolean is Always_Valid; procedure Generic_Read (Ctx : Context) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) + RFLX.UDP.Datagram.Has_Buffer (Ctx) + and then RFLX.UDP.Datagram.Structural_Valid_Message (Ctx) and then Pre (Read (Ctx)); pragma Warnings (Off, "formal parameter ""*"" is not referenced"); @@ -208,9 +208,9 @@ is procedure Generic_Write (Ctx : in out Context; Offset : RFLX_Types.Length := 0) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Offset < Buffer_Length (Ctx) - and then Pre (Buffer_Length (Ctx), Offset), + and then RFLX.UDP.Datagram.Has_Buffer (Ctx) + and then Offset < RFLX.UDP.Datagram.Buffer_Length (Ctx) + and then Pre (RFLX.UDP.Datagram.Buffer_Length (Ctx), Offset), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -222,7 +222,7 @@ is function Buffer_Length (Ctx : Context) return RFLX_Types.Length with Pre => - Has_Buffer (Ctx); + RFLX.UDP.Datagram.Has_Buffer (Ctx); function Size (Ctx : Context) return RFLX_Types.Bit_Length with Post => @@ -232,16 +232,16 @@ is function Message_Last (Ctx : Context) return RFLX_Types.Bit_Length with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx); + RFLX.UDP.Datagram.Has_Buffer (Ctx) + and then RFLX.UDP.Datagram.Structural_Valid_Message (Ctx); function Written_Last (Ctx : Context) return RFLX_Types.Bit_Length; procedure Data (Ctx : Context; Data : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx) - and then Data'Length = Byte_Size (Ctx); + RFLX.UDP.Datagram.Has_Buffer (Ctx) + and then RFLX.UDP.Datagram.Structural_Valid_Message (Ctx) + and then Data'Length = RFLX.UDP.Datagram.Byte_Size (Ctx); pragma Warnings (Off, "postcondition does not mention function result"); @@ -255,7 +255,7 @@ is function Path_Condition (Ctx : Context; Fld : Field) return Boolean with Pre => - Valid_Predecessor (Ctx, Fld), + RFLX.UDP.Datagram.Valid_Predecessor (Ctx, Fld), Post => True; @@ -265,10 +265,10 @@ is function Field_Condition (Ctx : Context; Fld : Field) return Boolean with Pre => - Has_Buffer (Ctx) - and then Valid_Predecessor (Ctx, Fld) - and then Valid_Next (Ctx, Fld) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld), + RFLX.UDP.Datagram.Has_Buffer (Ctx) + and then RFLX.UDP.Datagram.Valid_Predecessor (Ctx, Fld) + and then RFLX.UDP.Datagram.Valid_Next (Ctx, Fld) + and then RFLX.UDP.Datagram.Available_Space (Ctx, Fld) >= RFLX.UDP.Datagram.Field_Size (Ctx, Fld), Post => True; @@ -276,7 +276,7 @@ is function Field_Size (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld), + RFLX.UDP.Datagram.Valid_Next (Ctx, Fld), Post => (case Fld is when F_Payload => @@ -288,7 +288,7 @@ is function Field_First (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Index with Pre => - Valid_Next (Ctx, Fld), + RFLX.UDP.Datagram.Valid_Next (Ctx, Fld), Post => True; @@ -296,8 +296,8 @@ is function Field_Last (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld) - and then Available_Space (Ctx, Fld) >= Field_Size (Ctx, Fld), + RFLX.UDP.Datagram.Valid_Next (Ctx, Fld) + and then RFLX.UDP.Datagram.Available_Space (Ctx, Fld) >= RFLX.UDP.Datagram.Field_Size (Ctx, Fld), Post => (case Fld is when F_Payload => @@ -325,16 +325,16 @@ is function Available_Space (Ctx : Context; Fld : Field) return RFLX_Types.Bit_Length with Pre => - Valid_Next (Ctx, Fld); + RFLX.UDP.Datagram.Valid_Next (Ctx, Fld); function Equal (Ctx : Context; Fld : Field; Data : RFLX_Types.Bytes) return Boolean with Pre => - Has_Buffer (Ctx) - and Valid_Next (Ctx, Fld); + RFLX.UDP.Datagram.Has_Buffer (Ctx) + and RFLX.UDP.Datagram.Valid_Next (Ctx, Fld); procedure Verify (Ctx : in out Context; Fld : Field) with Pre => - Has_Buffer (Ctx), + RFLX.UDP.Datagram.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -344,7 +344,7 @@ is procedure Verify_Message (Ctx : in out Context) with Pre => - Has_Buffer (Ctx), + RFLX.UDP.Datagram.Has_Buffer (Ctx), Post => Has_Buffer (Ctx) and Ctx.Buffer_First = Ctx.Buffer_First'Old @@ -366,11 +366,11 @@ is function Structural_Valid_Message (Ctx : Context) return Boolean with Pre => - Has_Buffer (Ctx); + RFLX.UDP.Datagram.Has_Buffer (Ctx); function Valid_Message (Ctx : Context) return Boolean with Pre => - Has_Buffer (Ctx); + RFLX.UDP.Datagram.Has_Buffer (Ctx); pragma Warnings (Off, "postcondition does not mention function result"); @@ -384,37 +384,37 @@ is function Get_Source_Port (Ctx : Context) return RFLX.UDP.Port with Pre => - Valid (Ctx, F_Source_Port); + RFLX.UDP.Datagram.Valid (Ctx, RFLX.UDP.Datagram.F_Source_Port); function Get_Destination_Port (Ctx : Context) return RFLX.UDP.Port with Pre => - Valid (Ctx, F_Destination_Port); + RFLX.UDP.Datagram.Valid (Ctx, RFLX.UDP.Datagram.F_Destination_Port); function Get_Length (Ctx : Context) return RFLX.UDP.Length with Pre => - Valid (Ctx, F_Length); + RFLX.UDP.Datagram.Valid (Ctx, RFLX.UDP.Datagram.F_Length); function Get_Checksum (Ctx : Context) return RFLX.UDP.Checksum with Pre => - Valid (Ctx, F_Checksum); + RFLX.UDP.Datagram.Valid (Ctx, RFLX.UDP.Datagram.F_Checksum); pragma Warnings (On, "precondition is always False"); function Get_Payload (Ctx : Context) return RFLX_Types.Bytes with Ghost, Pre => - Has_Buffer (Ctx) - and then Structural_Valid (Ctx, F_Payload) - and then Valid_Next (Ctx, F_Payload), + RFLX.UDP.Datagram.Has_Buffer (Ctx) + and then RFLX.UDP.Datagram.Structural_Valid (Ctx, RFLX.UDP.Datagram.F_Payload) + and then RFLX.UDP.Datagram.Valid_Next (Ctx, RFLX.UDP.Datagram.F_Payload), Post => Get_Payload'Result'Length = RFLX_Types.To_Length (Field_Size (Ctx, F_Payload)); procedure Get_Payload (Ctx : Context; Data : out RFLX_Types.Bytes) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid (Ctx, F_Payload) - and then Valid_Next (Ctx, F_Payload) - and then Data'Length = RFLX_Types.To_Length (Field_Size (Ctx, F_Payload)), + RFLX.UDP.Datagram.Has_Buffer (Ctx) + and then RFLX.UDP.Datagram.Structural_Valid (Ctx, RFLX.UDP.Datagram.F_Payload) + and then RFLX.UDP.Datagram.Valid_Next (Ctx, RFLX.UDP.Datagram.F_Payload) + and then Data'Length = RFLX_Types.To_Length (RFLX.UDP.Datagram.Field_Size (Ctx, RFLX.UDP.Datagram.F_Payload)), Post => Equal (Ctx, F_Payload, Data); @@ -422,14 +422,14 @@ is with procedure Process_Payload (Payload : RFLX_Types.Bytes); procedure Generic_Get_Payload (Ctx : Context) with Pre => - Has_Buffer (Ctx) - and Present (Ctx, F_Payload); + RFLX.UDP.Datagram.Has_Buffer (Ctx) + and RFLX.UDP.Datagram.Present (Ctx, RFLX.UDP.Datagram.F_Payload); pragma Warnings (Off, "postcondition does not mention function result"); function Valid_Length (Ctx : Context; Fld : Field; Length : RFLX_Types.Length) return Boolean with Pre => - Valid_Next (Ctx, Fld), + RFLX.UDP.Datagram.Valid_Next (Ctx, Fld), Post => True; @@ -441,11 +441,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Source_Port) - and then RFLX.UDP.Valid_Port (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_Source_Port) >= Field_Size (Ctx, F_Source_Port) - and then Field_Condition (Ctx, F_Source_Port), + and then RFLX.UDP.Datagram.Has_Buffer (Ctx) + and then RFLX.UDP.Datagram.Valid_Next (Ctx, RFLX.UDP.Datagram.F_Source_Port) + and then RFLX.UDP.Valid_Port (RFLX.UDP.To_Base_Integer (Val)) + and then RFLX.UDP.Datagram.Available_Space (Ctx, RFLX.UDP.Datagram.F_Source_Port) >= RFLX.UDP.Datagram.Field_Size (Ctx, RFLX.UDP.Datagram.F_Source_Port) + and then RFLX.UDP.Datagram.Field_Condition (Ctx, RFLX.UDP.Datagram.F_Source_Port), Post => Has_Buffer (Ctx) and Valid (Ctx, F_Source_Port) @@ -468,11 +468,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Destination_Port) - and then RFLX.UDP.Valid_Port (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_Destination_Port) >= Field_Size (Ctx, F_Destination_Port) - and then Field_Condition (Ctx, F_Destination_Port), + and then RFLX.UDP.Datagram.Has_Buffer (Ctx) + and then RFLX.UDP.Datagram.Valid_Next (Ctx, RFLX.UDP.Datagram.F_Destination_Port) + and then RFLX.UDP.Valid_Port (RFLX.UDP.To_Base_Integer (Val)) + and then RFLX.UDP.Datagram.Available_Space (Ctx, RFLX.UDP.Datagram.F_Destination_Port) >= RFLX.UDP.Datagram.Field_Size (Ctx, RFLX.UDP.Datagram.F_Destination_Port) + and then RFLX.UDP.Datagram.Field_Condition (Ctx, RFLX.UDP.Datagram.F_Destination_Port), Post => Has_Buffer (Ctx) and Valid (Ctx, F_Destination_Port) @@ -498,11 +498,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Length) - and then RFLX.UDP.Valid_Length (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_Length) >= Field_Size (Ctx, F_Length) - and then Field_Condition (Ctx, F_Length), + and then RFLX.UDP.Datagram.Has_Buffer (Ctx) + and then RFLX.UDP.Datagram.Valid_Next (Ctx, RFLX.UDP.Datagram.F_Length) + and then RFLX.UDP.Valid_Length (RFLX.UDP.To_Base_Integer (Val)) + and then RFLX.UDP.Datagram.Available_Space (Ctx, RFLX.UDP.Datagram.F_Length) >= RFLX.UDP.Datagram.Field_Size (Ctx, RFLX.UDP.Datagram.F_Length) + and then RFLX.UDP.Datagram.Field_Condition (Ctx, RFLX.UDP.Datagram.F_Length), Post => Has_Buffer (Ctx) and Valid (Ctx, F_Length) @@ -528,11 +528,11 @@ is Inline_Always, Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Checksum) - and then RFLX.UDP.Valid_Checksum (To_Base_Integer (Val)) - and then Available_Space (Ctx, F_Checksum) >= Field_Size (Ctx, F_Checksum) - and then Field_Condition (Ctx, F_Checksum), + and then RFLX.UDP.Datagram.Has_Buffer (Ctx) + and then RFLX.UDP.Datagram.Valid_Next (Ctx, RFLX.UDP.Datagram.F_Checksum) + and then RFLX.UDP.Valid_Checksum (RFLX.UDP.To_Base_Integer (Val)) + and then RFLX.UDP.Datagram.Available_Space (Ctx, RFLX.UDP.Datagram.F_Checksum) >= RFLX.UDP.Datagram.Field_Size (Ctx, RFLX.UDP.Datagram.F_Checksum) + and then RFLX.UDP.Datagram.Field_Condition (Ctx, RFLX.UDP.Datagram.F_Checksum), Post => Has_Buffer (Ctx) and Valid (Ctx, F_Checksum) @@ -559,11 +559,11 @@ is procedure Set_Payload_Empty (Ctx : in out Context) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Payload) - and then Available_Space (Ctx, F_Payload) >= Field_Size (Ctx, F_Payload) - and then Field_Condition (Ctx, F_Payload) - and then Field_Size (Ctx, F_Payload) = 0, + and then RFLX.UDP.Datagram.Has_Buffer (Ctx) + and then RFLX.UDP.Datagram.Valid_Next (Ctx, RFLX.UDP.Datagram.F_Payload) + and then RFLX.UDP.Datagram.Available_Space (Ctx, RFLX.UDP.Datagram.F_Payload) >= RFLX.UDP.Datagram.Field_Size (Ctx, RFLX.UDP.Datagram.F_Payload) + and then RFLX.UDP.Datagram.Field_Condition (Ctx, RFLX.UDP.Datagram.F_Payload) + and then RFLX.UDP.Datagram.Field_Size (Ctx, RFLX.UDP.Datagram.F_Payload) = 0, Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Payload) @@ -584,9 +584,9 @@ is procedure Initialize_Payload (Ctx : in out Context) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Payload) - and then Available_Space (Ctx, F_Payload) >= Field_Size (Ctx, F_Payload), + and then RFLX.UDP.Datagram.Has_Buffer (Ctx) + and then RFLX.UDP.Datagram.Valid_Next (Ctx, RFLX.UDP.Datagram.F_Payload) + and then RFLX.UDP.Datagram.Available_Space (Ctx, RFLX.UDP.Datagram.F_Payload) >= RFLX.UDP.Datagram.Field_Size (Ctx, RFLX.UDP.Datagram.F_Payload), Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Payload) @@ -607,12 +607,12 @@ is procedure Set_Payload (Ctx : in out Context; Data : RFLX_Types.Bytes) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Payload) - and then Available_Space (Ctx, F_Payload) >= Field_Size (Ctx, F_Payload) - and then Valid_Length (Ctx, F_Payload, Data'Length) - and then Available_Space (Ctx, F_Payload) >= Data'Length * RFLX_Types.Byte'Size - and then Field_Condition (Ctx, F_Payload), + and then RFLX.UDP.Datagram.Has_Buffer (Ctx) + and then RFLX.UDP.Datagram.Valid_Next (Ctx, RFLX.UDP.Datagram.F_Payload) + and then RFLX.UDP.Datagram.Available_Space (Ctx, RFLX.UDP.Datagram.F_Payload) >= RFLX.UDP.Datagram.Field_Size (Ctx, RFLX.UDP.Datagram.F_Payload) + and then RFLX.UDP.Datagram.Valid_Length (Ctx, RFLX.UDP.Datagram.F_Payload, Data'Length) + and then RFLX.UDP.Datagram.Available_Space (Ctx, RFLX.UDP.Datagram.F_Payload) >= Data'Length * RFLX_Types.Byte'Size + and then RFLX.UDP.Datagram.Field_Condition (Ctx, RFLX.UDP.Datagram.F_Payload), Post => Has_Buffer (Ctx) and Structural_Valid (Ctx, F_Payload) @@ -637,11 +637,11 @@ is procedure Generic_Set_Payload (Ctx : in out Context; Length : RFLX_Types.Length) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Next (Ctx, F_Payload) - and then Available_Space (Ctx, F_Payload) >= Field_Size (Ctx, F_Payload) - and then Valid_Length (Ctx, F_Payload, Length) - and then RFLX_Types.To_Length (Available_Space (Ctx, F_Payload)) >= Length + and then RFLX.UDP.Datagram.Has_Buffer (Ctx) + and then RFLX.UDP.Datagram.Valid_Next (Ctx, RFLX.UDP.Datagram.F_Payload) + and then RFLX.UDP.Datagram.Available_Space (Ctx, RFLX.UDP.Datagram.F_Payload) >= RFLX.UDP.Datagram.Field_Size (Ctx, RFLX.UDP.Datagram.F_Payload) + and then RFLX.UDP.Datagram.Valid_Length (Ctx, RFLX.UDP.Datagram.F_Payload, Length) + and then RFLX_Types.To_Length (RFLX.UDP.Datagram.Available_Space (Ctx, RFLX.UDP.Datagram.F_Payload)) >= Length and then Process_Data_Pre (Length), Post => Has_Buffer (Ctx) @@ -688,8 +688,8 @@ is procedure To_Structure (Ctx : Context; Struct : out Structure) with Pre => - Has_Buffer (Ctx) - and then Structural_Valid_Message (Ctx), + RFLX.UDP.Datagram.Has_Buffer (Ctx) + and then RFLX.UDP.Datagram.Structural_Valid_Message (Ctx), Post => Valid_Structure (Struct); @@ -698,9 +698,9 @@ is procedure To_Context (Struct : Structure; Ctx : in out Context) with Pre => not Ctx'Constrained - and then Has_Buffer (Ctx) - and then Valid_Structure (Struct) - and then Sufficient_Buffer_Length (Ctx, Struct), + and then RFLX.UDP.Datagram.Has_Buffer (Ctx) + and then RFLX.UDP.Datagram.Valid_Structure (Struct) + and then RFLX.UDP.Datagram.Sufficient_Buffer_Length (Ctx, Struct), Post => Has_Buffer (Ctx) and Structural_Valid_Message (Ctx) @@ -838,7 +838,7 @@ private function Initialized (Ctx : Context) return Boolean is (Ctx.Verified_Last = Ctx.First - 1 and then Valid_Next (Ctx, F_Source_Port) - and then Field_First (Ctx, F_Source_Port) rem RFLX_Types.Byte'Size = 1 + and then RFLX.UDP.Datagram.Field_First (Ctx, RFLX.UDP.Datagram.F_Source_Port) rem RFLX_Types.Byte'Size = 1 and then Available_Space (Ctx, F_Source_Port) = Ctx.Last - Ctx.First + 1 and then (for all F in Field => Invalid (Ctx, F))); @@ -974,7 +974,7 @@ private (Size = Field_Size (Ctx, Fld)) with Pre => - Valid_Next (Ctx, Fld); + RFLX.UDP.Datagram.Valid_Next (Ctx, Fld); function Valid_Length (Ctx : Context; Fld : Field; Length : RFLX_Types.Length) return Boolean is (Valid_Size (Ctx, Fld, RFLX_Types.To_Bit_Length (Length)));