diff options
author | Aleksandar Kanchev <kanchev@itestra.com> | 2013-06-06 14:54:31 +0200 |
---|---|---|
committer | Johannes Schanda <schanda@itestra.de> | 2013-08-07 15:05:19 +0200 |
commit | 994ac32aeacc5a50196b3606b4c904ad1cb56397 (patch) | |
tree | 599a69938d4931cd7796ff7e8324405235373e2d | |
parent | 9b05987aa42c126a8fb6e042610501d71d260485 (diff) | |
download | genivi-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.xtend | 26 |
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...>')» { |