summaryrefslogtreecommitdiff
path: root/org.genivi.commonapi.core/src/org/genivi/commonapi/core/generator/FTypeGenerator.xtend
diff options
context:
space:
mode:
Diffstat (limited to 'org.genivi.commonapi.core/src/org/genivi/commonapi/core/generator/FTypeGenerator.xtend')
-rw-r--r--org.genivi.commonapi.core/src/org/genivi/commonapi/core/generator/FTypeGenerator.xtend22
1 files changed, 13 insertions, 9 deletions
diff --git a/org.genivi.commonapi.core/src/org/genivi/commonapi/core/generator/FTypeGenerator.xtend b/org.genivi.commonapi.core/src/org/genivi/commonapi/core/generator/FTypeGenerator.xtend
index b86b126..2139344 100644
--- a/org.genivi.commonapi.core/src/org/genivi/commonapi/core/generator/FTypeGenerator.xtend
+++ b/org.genivi.commonapi.core/src/org/genivi/commonapi/core/generator/FTypeGenerator.xtend
@@ -207,7 +207,7 @@ class FTypeGenerator {
«type.generateFTypeDeclaration(deploymentAccessor)»
«ENDFOR»
«IF fTypeCollection instanceof FInterface»
- «FOR method : (fTypeCollection as FInterface).methodsWithError»
+ «FOR method : fTypeCollection.methodsWithError»
«generateComments(method, false)»
«method.errors.generateDeclaration(method.errors, deploymentAccessor)»
«ENDFOR»
@@ -244,7 +244,7 @@ class FTypeGenerator {
def dispatch generateFTypeDeclaration(FTypeDef fTypeDef, PropertyAccessor deploymentAccessor) '''
«generateComments(fTypeDef, false)»
- typedef «fTypeDef.actualType.getElementType(null, true)» «fTypeDef.elementName»;
+ typedef «fTypeDef.actualType.getElementType(fTypeDef, false)» «fTypeDef.elementName»;
'''
def dispatch generateFTypeDeclaration(FArrayType fArrayType, PropertyAccessor deploymentAccessor) '''
@@ -577,7 +577,7 @@ class FTypeGenerator {
}
def void generateRequiredTypeIncludes(FInterface fInterface, Collection<String> generatedHeaders, Collection<String> libraryHeaders) {
- if (!fInterface.attributes.filter[array].nullOrEmpty) {
+ if (!fInterface.attributes.filter[array].nullOrEmpty) {
libraryHeaders.add('vector')
}
if (!fInterface.methods.map[inArgs.filter[array]].nullOrEmpty) {
@@ -594,6 +594,7 @@ class FTypeGenerator {
fInterface.methods.forEach[
inArgs.forEach[type.derived?.addRequiredHeaders(generatedHeaders, libraryHeaders)]
outArgs.forEach[type.derived?.addRequiredHeaders(generatedHeaders, libraryHeaders)]
+ errorEnum?.addRequiredHeaders(generatedHeaders, libraryHeaders)
]
fInterface.managedInterfaces.forEach[
generatedHeaders.add(stubHeaderPath)
@@ -682,9 +683,8 @@ class FTypeGenerator {
def private generateHasher(FMapType fMap) {
if (fMap.keyType.derived instanceof FEnumerationType) {
- return ''', CommonAPI::EnumHasher<«fMap.keyType.getElementType(null, true)»>'''
+ return ''', CommonAPI::EnumHasher<«fMap.keyType.derived.getFullName»>'''
}
-
return ""
}
@@ -692,8 +692,10 @@ class FTypeGenerator {
if (fMap.keyType.polymorphic) {
return "std::shared_ptr<" + fMap.keyType.getElementType(null, true) + ">"
}
- else {
- return fMap.keyType.getElementType(null, true)
+ if(fMap.keyType.derived != null) {
+ return fMap.keyType.derived.getFullName
+ } else {
+ return fMap.keyType.getElementType(null, true)
}
}
@@ -701,8 +703,10 @@ class FTypeGenerator {
if (fMap.valueType.polymorphic) {
return "std::shared_ptr<" + fMap.valueType.getElementType(null, true) + ">"
}
- else {
- return fMap.valueType.getElementType(null, true)
+ if(fMap.valueType.derived != null) {
+ return fMap.valueType.derived.getFullName
+ } else {
+ return fMap.valueType.getElementType(null, true)
}
}