| 9 | typedef das_hash_set<Variable *> ExpressionSources; |
| 10 | |
| 11 | void appendIndVariables ( Function * lookup, IndirectSources & indGlobalVariables, das_hash_set<Function *> & accessed ) { |
| 12 | if ( accessed.find(lookup)!=accessed.end() ) return; |
| 13 | accessed.insert(lookup); |
| 14 | for ( auto var : lookup->useGlobalVariables ) { |
| 15 | if ( indGlobalVariables.find(var)==indGlobalVariables.end() ) { |
| 16 | indGlobalVariables[var] = lookup; |
| 17 | } |
| 18 | } |
| 19 | for ( auto fun : lookup->useFunctions ) { |
| 20 | appendIndVariables(fun, indGlobalVariables, accessed); |
| 21 | } |
| 22 | } |
| 23 | |
| 24 | bool isCompatibleFunction ( const FunctionPtr & func, const TypeDeclPtr & inv ) { |
| 25 | if ( func->arguments.size()!=inv->argTypes.size() ) return false; |
no test coverage detected