Skip to content

Commit f2ea88a

Browse files
committed
JS: Add test showing missing re-export of base class relationship
1 parent 9313564 commit f2ea88a

File tree

3 files changed

+12
-0
lines changed

3 files changed

+12
-0
lines changed

javascript/ql/test/library-tests/ModelGeneration/ModelGeneration.expected

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,9 @@ typeModel
4545
| (subclass).C | subclass | Member[C] |
4646
| (subclass).C.prototype | (subclass).C | Instance |
4747
| (subclass).C.prototype.c | (subclass).C.prototype | Member[c] |
48+
| (subclass).D | subclass | Member[D] |
49+
| (subclass).D.prototype | (subclass).D | Instance |
50+
| (subclass).D.prototype.d | (subclass).D.prototype | Member[d] |
4851
| upstream-lib | (reexport).func | ReturnValue |
4952
| upstream-lib | reexport | Member[lib] |
5053
| upstream-lib.XYZ | reexport | Member[x].Member[y].Member[z] |

javascript/ql/test/library-tests/ModelGeneration/ModelGeneration.ext.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,4 @@ extensions:
44
extensible: typeModel
55
data:
66
- ["upstream-lib.XYZ", "upstream-lib", "Member[x].Member[y].Member[z]"]
7+
- ["upstream-lib.Type", "upstream-lib", "Member[Type].Instance"]

javascript/ql/test/library-tests/ModelGeneration/subclass/subclass.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,11 @@ export class B extends A {
99
export class C extends B {
1010
c() {}
1111
}
12+
13+
import * as upstream from "upstream-lib";
14+
15+
// TODO: needs to emit type model: [upstream.Type; (subclass).D.prototype; ""]
16+
// The getAValueReachableFromSource() logic does not handle the base class -> instance step
17+
export class D extends upstream.Type {
18+
d() {}
19+
}

0 commit comments

Comments
 (0)