From e4ff3110e4c19fee44b54e435fefb282d3292724 Mon Sep 17 00:00:00 2001 From: Tobias Reiher Date: Fri, 22 Jan 2021 15:45:51 +0100 Subject: [PATCH] Create setter procedures for opaque fields unconditionally The condition was a remnent of the differentiation between bounded and unbounded opaque fields. Due to the changes for #356 this is not needed anymore. --- rflx/generator/serializer.py | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/rflx/generator/serializer.py b/rflx/generator/serializer.py index 4f2d24457b..b203584295 100644 --- a/rflx/generator/serializer.py +++ b/rflx/generator/serializer.py @@ -1,6 +1,5 @@ from typing import Mapping, Sequence -import rflx.expression as expr from rflx.ada import ( ID, TRUE, @@ -608,7 +607,7 @@ def specification(field: Field) -> ProcedureSpecification: ], ) for f, t in message.types.items() - if isinstance(t, Opaque) and setter_required(message, f) + if isinstance(t, Opaque) ], [ SubprogramBody( @@ -630,7 +629,7 @@ def specification(field: Field) -> ProcedureSpecification: ], ) for f, t in message.types.items() - if isinstance(t, Opaque) and setter_required(message, f) + if isinstance(t, Opaque) ], ) @@ -697,7 +696,7 @@ def formal_parameters(field: Field) -> Sequence[FormalSubprogramDeclaration]: formal_parameters(f), ) for f, t in message.types.items() - if isinstance(t, Opaque) and setter_required(message, f) + if isinstance(t, Opaque) ], [ SubprogramBody( @@ -721,7 +720,7 @@ def formal_parameters(field: Field) -> Sequence[FormalSubprogramDeclaration]: ], ) for f, t in message.types.items() - if isinstance(t, Opaque) and setter_required(message, f) + if isinstance(t, Opaque) ], ) @@ -750,7 +749,7 @@ def specification(field: Field) -> ProcedureSpecification: ], ) for f, t in message.types.items() - if isinstance(t, Opaque) and setter_required(message, f) + if isinstance(t, Opaque) ], [ SubprogramBody( @@ -759,7 +758,7 @@ def specification(field: Field) -> ProcedureSpecification: common.initialize_field_statements(message, f, self.prefix), ) for f, t in message.types.items() - if isinstance(t, Opaque) and setter_required(message, f) + if isinstance(t, Opaque) ], ) @@ -912,11 +911,3 @@ def __field_byte_location_declarations() -> Sequence[Declaration]: Call(const.TYPES_BYTE_INDEX, [Variable("Last")]), ), ] - - -def setter_required(message: Message, field: Field) -> bool: - return any( - True - for l in message.incoming(field) - if expr.Size("Message") not in l.size and expr.Last("Message") not in l.size - )