(m, r)
| 43 | |
| 44 | |
| 45 | def buildusevars(m, r): |
| 46 | ret = {} |
| 47 | outmess( |
| 48 | '\t\tBuilding use variable hooks for module "%s" (feature only for F90/F95)...\n' % (m['name'])) |
| 49 | varsmap = {} |
| 50 | revmap = {} |
| 51 | if 'map' in r: |
| 52 | for k in r['map'].keys(): |
| 53 | if r['map'][k] in revmap: |
| 54 | outmess('\t\t\tVariable "%s<=%s" is already mapped by "%s". Skipping.\n' % ( |
| 55 | r['map'][k], k, revmap[r['map'][k]])) |
| 56 | else: |
| 57 | revmap[r['map'][k]] = k |
| 58 | if 'only' in r and r['only']: |
| 59 | for v in r['map'].keys(): |
| 60 | if r['map'][v] in m['vars']: |
| 61 | |
| 62 | if revmap[r['map'][v]] == v: |
| 63 | varsmap[v] = r['map'][v] |
| 64 | else: |
| 65 | outmess('\t\t\tIgnoring map "%s=>%s". See above.\n' % |
| 66 | (v, r['map'][v])) |
| 67 | else: |
| 68 | outmess( |
| 69 | '\t\t\tNo definition for variable "%s=>%s". Skipping.\n' % (v, r['map'][v])) |
| 70 | else: |
| 71 | for v in m['vars'].keys(): |
| 72 | if v in revmap: |
| 73 | varsmap[v] = revmap[v] |
| 74 | else: |
| 75 | varsmap[v] = v |
| 76 | for v in varsmap.keys(): |
| 77 | ret = dictappend(ret, buildusevar(v, varsmap[v], m['vars'], m['name'])) |
| 78 | return ret |
| 79 | |
| 80 | |
| 81 | def buildusevar(name, realname, vars, usemodulename): |
nothing calls this directly
no test coverage detected