summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksandar Kanchev <kanchev@itestra.com>2013-06-06 14:54:31 +0200
committerGerrit Code Review <qqmthk1@lpmodthk02.bmwgroup.net>2013-06-07 10:21:38 +0200
commit3c02d6e21207a5d6a5ec2b4e88c7d5ab26c7caca (patch)
tree5a7e460161cef0170554504c42cdcd6d311236ea
parent7e772f2a91fafde23572529a76c740514dd17991 (diff)
downloadgenivi-common-api-runtime-3c02d6e21207a5d6a5ec2b4e88c7d5ab26c7caca.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...>')» {