From 1dccf57f280e0ad7b45ce895d65fb7dfa9f02c10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20R=C3=BChl?= Date: Thu, 27 Jul 2023 13:27:50 +0200 Subject: [PATCH] fix(codegen/plc4go): fix abstract fields --- .../go/complex-type-template.go.ftlh | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/code-generation/language-go/src/main/resources/templates/go/complex-type-template.go.ftlh b/code-generation/language-go/src/main/resources/templates/go/complex-type-template.go.ftlh index 1aef119215b..195e96771bc 100644 --- a/code-generation/language-go/src/main/resources/templates/go/complex-type-template.go.ftlh +++ b/code-generation/language-go/src/main/resources/templates/go/complex-type-template.go.ftlh @@ -169,6 +169,11 @@ type _${type.name}ChildRequirements interface { Get${discriminatorName?cap_first}() <#if typeRef.isNonSimpleTypeReference() && !typeRef.isEnumTypeReference()>I${helper.getLanguageTypeNameForTypeReference(typeRef)} + <#list type.abstractFields as field> + <#assign namedField=field.asNamedField().orElseThrow()> + // Get${namedField.name?cap_first} returns ${namedField.name?cap_first} (abstract field) + Get${namedField.name?cap_first}() ${helper.getLanguageTypeNameForField(field)} + } @@ -311,6 +316,24 @@ func (m *_${type.name}) Get${field.name?cap_first}() <#if helper.needsPointerAcc /////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////// +<#if type.abstractFields?has_content> +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////// Accessors for abstract fields. +/////////////////////// + + <#list type.abstractFields as field> + <#assign typeRef=field.asTypedField().orElseThrow().type> + func (m *_${type.name}) Get${field.name?cap_first}() ${helper.getLanguageTypeNameForTypeReference(typeRef)} { + return m._${type.name}ChildRequirements.Get${field.name?cap_first}() + } + + +/////////////////////// +/////////////////////// +/////////////////////////////////////////////////////////// +/////////////////////////////////////////////////////////// + <#if type.constFields?has_content> /////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////