summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksandar Kanchev <kanchev@itestra.com>2013-06-06 14:54:31 +0200
committerJohannes Schanda <schanda@itestra.de>2013-08-07 15:05:19 +0200
commit994ac32aeacc5a50196b3606b4c904ad1cb56397 (patch)
tree599a69938d4931cd7796ff7e8324405235373e2d
parent9b05987aa42c126a8fb6e042610501d71d260485 (diff)
downloadgenivi-common-api-runtime-994ac32aeacc5a50196b3606b4c904ad1cb56397.tar.gz
generator: switch to inline proxy template implementation
out-ofline implementations of the get methods for attributes and broadcasts of the proxy template class are causing compile errors for the clang compiler. Simple solution is to remove the one-line implementations inline into the proxy template class. See http://llvm.org/bugs/show_bug.cgi?id=11381
-rw-r--r--org.genivi.commonapi.core/src/org/genivi/commonapi/core/generator/FInterfaceProxyGenerator.xtend26
1 files changed, 8 insertions, 18 deletions
diff --git a/org.genivi.commonapi.core/src/org/genivi/commonapi/core/generator/FInterfaceProxyGenerator.xtend b/org.genivi.commonapi.core/src/org/genivi/commonapi/core/generator/FInterfaceProxyGenerator.xtend
index d54a5d8..a583e25 100644
--- a/org.genivi.commonapi.core/src/org/genivi/commonapi/core/generator/FInterfaceProxyGenerator.xtend
+++ b/org.genivi.commonapi.core/src/org/genivi/commonapi/core/generator/FInterfaceProxyGenerator.xtend
@@ -117,12 +117,18 @@ class FInterfaceProxyGenerator {
«FOR attribute : fInterface.attributes»
/// Returns the wrapper class that provides access to the attribute «attribute.name».
- virtual «attribute.generateGetMethodDefinition»;
+ virtual «attribute.generateGetMethodDefinition» {
+ return delegate_->get«attribute.className»();
+ }
+
«ENDFOR»
«FOR broadcast : fInterface.broadcasts»
/// Returns the wrapper class that provides access to the broadcast «broadcast.name».
- virtual «broadcast.generateGetMethodDefinition»;
+ virtual «broadcast.generateGetMethodDefinition» {
+ return delegate_->get«broadcast.className»();
+ }
+
«ENDFOR»
«FOR method : fInterface.methods»
@@ -208,22 +214,6 @@ class FInterfaceProxyGenerator {
«fInterface.proxyClassName»<_AttributeExtensions...>::~«fInterface.proxyClassName»() {
}
- «FOR attribute : fInterface.attributes»
- template <typename ... _AttributeExtensions>
- typename «attribute.generateGetMethodDefinitionWithin(fInterface.proxyClassName + '<_AttributeExtensions...>')» {
- return delegate_->get«attribute.className»();
- }
-
- «ENDFOR»
-
- «FOR broadcast : fInterface.broadcasts»
- template <typename ... _AttributeExtensions>
- typename «broadcast.generateGetMethodDefinitionWithin(fInterface.proxyClassName + '<_AttributeExtensions...>')» {
- return delegate_->get«broadcast.className»();
- }
-
- «ENDFOR»
-
«FOR method : fInterface.methods»
template <typename ... _AttributeExtensions>
«method.generateDefinitionWithin(fInterface.proxyClassName + '<_AttributeExtensions...>')» {