diff options
| author | Dan Goodliffe <dan@randomdan.homeip.net> | 2016-09-11 13:01:00 +0100 | 
|---|---|---|
| committer | Dan Goodliffe <dan@randomdan.homeip.net> | 2016-09-11 13:01:00 +0100 | 
| commit | b30ae4270c4d217169cc98712de7efa55206ea0a (patch) | |
| tree | 8dd435e66d76b60b734ac5e58e51cec34332ac4c | |
| parent | Fix defaults in mash up (diff) | |
| download | icespider-b30ae4270c4d217169cc98712de7efa55206ea0a.tar.bz2 icespider-b30ae4270c4d217169cc98712de7efa55206ea0a.tar.xz icespider-b30ae4270c4d217169cc98712de7efa55206ea0a.zip | |
If a mashup member isn't a defined operation, assume it is a local variable from a parameter
| -rw-r--r-- | icespider/compile/routeCompiler.cpp | 14 | ||||
| -rw-r--r-- | icespider/unittests/test-api.ice | 1 | 
2 files changed, 11 insertions, 4 deletions
| diff --git a/icespider/compile/routeCompiler.cpp b/icespider/compile/routeCompiler.cpp index 20d5c39..a6fa236 100644 --- a/icespider/compile/routeCompiler.cpp +++ b/icespider/compile/routeCompiler.cpp @@ -482,17 +482,23 @@ namespace IceSpider {  				members = t.first->dataMembers();  			}  			for (auto mi = members.begin(); mi != members.end(); mi++) { +				bool isOp = false; +				if (mi != members.begin()) { +					fprintbf(output, ","); +				} +				fprintbf(output, "\n");  				for (const auto & o : r->operations) {  					auto proxyName = o.second->operation.substr(0, o.second->operation.find_last_of('.'));  					auto operation = o.second->operation.substr(o.second->operation.find_last_of('.') + 1);  					if ((*mi)->name() == o.first) { -						if (mi != members.begin()) { -							fprintbf(output, ","); -						} -						fprintbf(output, "\n");  						fprintbf(6, output, "prx%s->end_%s(_ar_%s)", proxies.find(proxyName)->second, operation, o.first); +						isOp = true; +						break;  					}  				} +				if (!isOp) { +					fprintbf(6, output, "_p_%s", (*mi)->name()); +				}  			}  			if (t.second) {  				fprintf(output, ")"); diff --git a/icespider/unittests/test-api.ice b/icespider/unittests/test-api.ice index 310761b..7b81952 100644 --- a/icespider/unittests/test-api.ice +++ b/icespider/unittests/test-api.ice @@ -11,6 +11,7 @@ module TestIceSpider {  	class Mash2 {  		SomeModel a;  		SomeModel b; +		string s;  	};  	interface TestApi { | 
