diff options
author | Aleksandar Kanchev <kanchev@itestra.com> | 2013-06-06 14:54:31 +0200 |
---|---|---|
committer | Gerrit Code Review <qqmthk1@lpmodthk02.bmwgroup.net> | 2013-06-07 10:21:38 +0200 |
commit | 3c02d6e21207a5d6a5ec2b4e88c7d5ab26c7caca (patch) | |
tree | 5a7e460161cef0170554504c42cdcd6d311236ea | |
parent | 7e772f2a91fafde23572529a76c740514dd17991 (diff) | |
download | genivi-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.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...>')» { |