Commit 23a6f93
committed
Add prefix-based inheritance to codegen
This commit adds th epossibility to specify a parent parser for
each prefix in a Schema SALAD specification. The idea is that each
extensions could come with a different namespace, and would define
its own parser for its classes.
With this commit, a user can leverage the `--codegen-parent` option
to explicitly map a prefix to a parent parser (e.g., a Python module)
with a "prefix=package" syntax. For example:
```bash
--codegen-parent "https://w3id.org/cwl/salad=schema_salad.metaschema"
```
Inheritance is not able to automatically reconstruct the whole class
hierarchy, meaning that if B inherits from A and C inherits from B,
the user must manually specify the mapping also for namespace A.
However, we do not expect huge parser hierarchies for schema SALAD
specifications.1 parent 25858e5 commit 23a6f93
3 files changed
Lines changed: 42 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
| 34 | + | |
34 | 35 | | |
35 | 36 | | |
36 | 37 | | |
| |||
87 | 88 | | |
88 | 89 | | |
89 | 90 | | |
90 | | - | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
91 | 96 | | |
92 | 97 | | |
93 | 98 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
32 | 41 | | |
33 | 42 | | |
34 | 43 | | |
| |||
147 | 156 | | |
148 | 157 | | |
149 | 158 | | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
150 | 168 | | |
151 | 169 | | |
152 | 170 | | |
| |||
351 | 369 | | |
352 | 370 | | |
353 | 371 | | |
| 372 | + | |
354 | 373 | | |
355 | 374 | | |
356 | 375 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
88 | 88 | | |
89 | 89 | | |
90 | 90 | | |
| 91 | + | |
91 | 92 | | |
92 | 93 | | |
93 | 94 | | |
| |||
97 | 98 | | |
98 | 99 | | |
99 | 100 | | |
| 101 | + | |
100 | 102 | | |
101 | 103 | | |
| 104 | + | |
102 | 105 | | |
103 | 106 | | |
104 | 107 | | |
| |||
126 | 129 | | |
127 | 130 | | |
128 | 131 | | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
129 | 135 | | |
130 | 136 | | |
131 | 137 | | |
| |||
151 | 157 | | |
152 | 158 | | |
153 | 159 | | |
154 | | - | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
155 | 163 | | |
156 | 164 | | |
157 | 165 | | |
158 | | - | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
159 | 169 | | |
160 | 170 | | |
161 | 171 | | |
| |||
447 | 457 | | |
448 | 458 | | |
449 | 459 | | |
| 460 | + | |
| 461 | + | |
| 462 | + | |
450 | 463 | | |
451 | 464 | | |
452 | | - | |
| 465 | + | |
453 | 466 | | |
454 | | - | |
| 467 | + | |
455 | 468 | | |
456 | 469 | | |
457 | 470 | | |
| |||
0 commit comments