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