Skip to content

Commit b4e09ba

Browse files
authored
Merge pull request #32 from eProsima/hotfix/dynamic-types-idl-generator
Cherry picking orphaned commit
2 parents 94df724 + dc5394b commit b4e09ba

File tree

2 files changed

+14
-15
lines changed

2 files changed

+14
-15
lines changed

src/java/com/eprosima/fastcdr/idl/generator/TypesGenerator.java

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -14,21 +14,21 @@
1414

1515
package com.eprosima.fastcdr.idl.generator;
1616

17-
import com.eprosima.log.ColorMessage;
18-
import com.eprosima.idl.generator.manager.TemplateManager;
1917
import com.eprosima.idl.context.Context;
20-
import com.eprosima.idl.parser.typecode.TypeCode;
18+
import com.eprosima.idl.generator.manager.TemplateManager;
2119
import com.eprosima.idl.parser.tree.Definition;
2220
import com.eprosima.idl.parser.tree.Export;
23-
import com.eprosima.idl.parser.tree.Module;
2421
import com.eprosima.idl.parser.tree.Interface;
2522
import com.eprosima.idl.parser.tree.TypeDeclaration;
26-
27-
import org.antlr.stringtemplate.*;
28-
23+
import com.eprosima.idl.parser.typecode.Kind;
24+
import com.eprosima.log.ColorMessage;
25+
import java.io.*;
2926
import java.util.ArrayList;
3027
import java.util.Map;
31-
import java.io.*;
28+
import org.antlr.stringtemplate.StringTemplate;
29+
import org.antlr.stringtemplate.StringTemplateGroup;
30+
31+
3232

3333
public class TypesGenerator
3434
{
@@ -204,7 +204,7 @@ public StringTemplate processTypeDeclaration(Context context, TypeDeclaration ty
204204
String extensionname = null;
205205
System.out.println("processTypesDeclaration " + typedecl.getName());
206206

207-
if(typedecl.getTypeCode().getKind() == TypeCode.KIND_STRUCT)
207+
if(typedecl.getTypeCode().getKind() == Kind.KIND_STRUCT)
208208
{
209209
typest = stg_.getInstanceOf("struct_type");
210210
typest.setAttribute("struct", typedecl.getTypeCode());
@@ -216,7 +216,7 @@ public StringTemplate processTypeDeclaration(Context context, TypeDeclaration ty
216216
extensionst.setAttribute("struct", typedecl.getTypeCode());
217217
}
218218
}
219-
else if(typedecl.getTypeCode().getKind() == TypeCode.KIND_UNION)
219+
else if(typedecl.getTypeCode().getKind() == Kind.KIND_UNION)
220220
{
221221
typest = stg_.getInstanceOf("union_type");
222222
typest.setAttribute("union", typedecl.getTypeCode());
@@ -228,7 +228,7 @@ else if(typedecl.getTypeCode().getKind() == TypeCode.KIND_UNION)
228228
extensionst.setAttribute("union", typedecl.getTypeCode());
229229
}
230230
}
231-
else if(typedecl.getTypeCode().getKind() == TypeCode.KIND_ENUM)
231+
else if(typedecl.getTypeCode().getKind() == Kind.KIND_ENUM)
232232
{
233233
typest = stg_.getInstanceOf("enum_type");
234234
typest.setAttribute("enum", typedecl.getTypeCode());
@@ -240,7 +240,7 @@ else if(typedecl.getTypeCode().getKind() == TypeCode.KIND_ENUM)
240240
extensionst.setAttribute("enum", typedecl.getTypeCode());
241241
}
242242
}
243-
else if(typedecl.getTypeCode().getKind() == TypeCode.KIND_BITSET)
243+
else if(typedecl.getTypeCode().getKind() == Kind.KIND_BITSET)
244244
{
245245
typest = stg_.getInstanceOf("bitset_type");
246246
typest.setAttribute("bitset", typedecl.getTypeCode());

src/java/com/eprosima/fastcdr/idl/templates/TypeObjectSource.stg

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -646,9 +646,9 @@ type_object->complete().struct_type().member_seq().emplace_back(cst_$object.name
646646

647647
>>
648648

649-
get_type_identifier(ctx, type, ek) ::= <<$if(type.isSequenceType)$TypeObjectFactory::GetInstance()->GetSequenceIdentifier($get_content_type(ctx=ctx, type=type.sequenceContentTypeCode)$, $type.maxsize$, $ek$)$elseif(type.isArrayType)$TypeObjectFactory::GetInstance()->GetArrayIdentifier($get_content_type(ctx=ctx, type=type.arrayContentTypeCode)$, {$type.dimensions:{ dim |$dim$}; separator=", "$}, $ek$)$elseif(type.isSetType)$TypeObjectFactory::GetInstance()->GetSequenceIdentifier($get_content_type(ctx=ctx, type=type.setContentTypeCode)$, $type.maxsize$, $ek$)$elseif(type.isMapType)$TypeObjectFactory::GetInstance()->GetMapIdentifier($get_content_type(ctx=ctx, type=type.keyTypeCode)$, $get_content_type(ctx=ctx, type=type.valueTypeCode)$, $type.maxsize$, $ek$)$elseif(type.isStringType)$TypeObjectFactory::GetInstance()->GetStringIdentifier($type.maxsize$, false)$elseif(type.isWStringType)$TypeObjectFactory::GetInstance()->GetStringIdentifier($type.maxsize$, true)$elseif(type.objectType)$Get$type.cppTypename$Identifier($ek$)$elseif(type.plainType)$TypeObjectFactory::GetInstance()->GetTypeIdentifier("$type.cppTypename$", false)$else$TypeObjectFactory::GetInstance()->GetTypeIdentifier("$type.cppTypename$", false)$endif$>>
649+
get_type_identifier(ctx, type, ek) ::= <<$if(type.isSequenceType)$TypeObjectFactory::GetInstance()->GetSequenceIdentifier($get_content_type(ctx=ctx, type=type.contentTypeCode)$, $type.maxsize$, $ek$)$elseif(type.isArrayType)$TypeObjectFactory::GetInstance()->GetArrayIdentifier($get_content_type(ctx=ctx, type=type.contentTypeCode)$, {$type.dimensions:{ dim |$dim$}; separator=", "$}, $ek$)$elseif(type.isSetType)$TypeObjectFactory::GetInstance()->GetSequenceIdentifier($get_content_type(ctx=ctx, type=type.contentTypeCode)$, $type.maxsize$, $ek$)$elseif(type.isMapType)$TypeObjectFactory::GetInstance()->GetMapIdentifier($get_content_type(ctx=ctx, type=type.keyTypeCode)$, $get_content_type(ctx=ctx, type=type.valueTypeCode)$, $type.maxsize$, $ek$)$elseif(type.isStringType)$TypeObjectFactory::GetInstance()->GetStringIdentifier($type.maxsize$, false)$elseif(type.isWStringType)$TypeObjectFactory::GetInstance()->GetStringIdentifier($type.maxsize$, true)$elseif(type.objectType)$Get$type.cppTypename$Identifier($ek$)$elseif(type.plainType)$TypeObjectFactory::GetInstance()->GetTypeIdentifier("$type.cppTypename$", false)$else$TypeObjectFactory::GetInstance()->GetTypeIdentifier("$type.cppTypename$", false)$endif$>>
650650

651-
get_content_type(ctx, type) ::= <<$if(type.plainType)$$if(type.isSequenceType)$TypeNamesGenerator::getSequenceTypeName($get_content_type(ctx=ctx, type=type.sequenceContentTypeCode)$, $type.maxsize$)$elseif(type.isArrayType)$TypeNamesGenerator::getArrayTypeName($get_content_type(ctx=ctx, type=type.arrayContentTypeCode)$, {$type.dimensions:{ dim |$dim$}; separator=", "$})$elseif(type.isSetType)$TypeNamesGenerator::getSequenceTypeName($get_content_type(ctx=ctx, type=type.setContentTypeCode)$, $type.maxsize$)$elseif(type.isMapType)$TypeNamesGenerator::getMapTypeName($get_content_type(ctx=ctx, type=type.keyTypeCode)$, $get_content_type(ctx=ctx, type=type.valueTypeCode)$, $type.maxsize$)$elseif(type.isStringType)$TypeNamesGenerator::getStringTypeName($type.maxsize$, false)$elseif(type.isWStringType)$TypeNamesGenerator::getStringTypeName($type.maxsize$, true)$else$"$type.cppTypename$"$endif$$else$"$type.cppTypename$"$endif$>>
651+
get_content_type(ctx, type) ::= <<$if(type.plainType)$$if(type.isSequenceType)$TypeNamesGenerator::getSequenceTypeName($get_content_type(ctx=ctx, type=type.contentTypeCode)$, $type.maxsize$)$elseif(type.isArrayType)$TypeNamesGenerator::getArrayTypeName($get_content_type(ctx=ctx, type=type.contentTypeCode)$, {$type.dimensions:{ dim |$dim$}; separator=", "$})$elseif(type.isSetType)$TypeNamesGenerator::getSequenceTypeName($get_content_type(ctx=ctx, type=type.contentTypeCode)$, $type.maxsize$)$elseif(type.isMapType)$TypeNamesGenerator::getMapTypeName($get_content_type(ctx=ctx, type=type.keyTypeCode)$, $get_content_type(ctx=ctx, type=type.valueTypeCode)$, $type.maxsize$)$elseif(type.isStringType)$TypeNamesGenerator::getStringTypeName($type.maxsize$, false)$elseif(type.isWStringType)$TypeNamesGenerator::getStringTypeName($type.maxsize$, true)$else$"$type.cppTypename$"$endif$$else$"$type.cppTypename$"$endif$>>
652652

653653
union_type(ctx, parent, union) ::= <<
654654
const TypeIdentifier* Get$union.name$Identifier(bool complete)
@@ -888,4 +888,3 @@ type_object->complete().union_type().member_seq().emplace_back(cst_$object.name$
888888
>>
889889

890890
/***** Utils *****/
891-

0 commit comments

Comments
 (0)