Skip to content

Commit f4e05cc

Browse files
committed
JS: Add tests with semi-internal class problem
1 parent 946f0b4 commit f4e05cc

3 files changed

Lines changed: 36 additions & 0 deletions

File tree

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

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,17 @@ typeModel
1616
| (return-this).FluentInterface.prototype.foo | (return-this).FluentInterface.prototype | Member[foo] |
1717
| (return-this).FluentInterface.prototype.notFluent | (return-this).FluentInterface.prototype | Member[notFluent] |
1818
| (return-this).FluentInterface.prototype.notFluent2 | (return-this).FluentInterface.prototype | Member[notFluent2] |
19+
| (semi-internal-class).PublicClass | semi-internal-class | Member[PublicClass] |
20+
| (semi-internal-class).PublicClass.prototype | (semi-internal-class).PublicClass | Instance |
21+
| (semi-internal-class).PublicClass.prototype | (semi-internal-class).SemiInternalClass.prototype.method | ReturnValue |
22+
| (semi-internal-class).PublicClass.prototype | (semi-internal-class).getAnonymous~expr2 | ReturnValue |
23+
| (semi-internal-class).PublicClass.prototype.publicMethod | (semi-internal-class).PublicClass.prototype | Member[publicMethod] |
24+
| (semi-internal-class).SemiInternalClass.prototype | (semi-internal-class).get | ReturnValue |
25+
| (semi-internal-class).SemiInternalClass.prototype.method | (semi-internal-class).SemiInternalClass.prototype | Member[method] |
26+
| (semi-internal-class).get | semi-internal-class | Member[get] |
27+
| (semi-internal-class).getAnonymous | semi-internal-class | Member[getAnonymous] |
28+
| (semi-internal-class).getAnonymous~expr1 | (semi-internal-class).getAnonymous | ReturnValue |
29+
| (semi-internal-class).getAnonymous~expr2 | (semi-internal-class).getAnonymous~expr1 | Member[method] |
1930
| upstream-lib | (reexport).func | ReturnValue |
2031
| upstream-lib | reexport | Member[lib] |
2132
| upstream-lib.XYZ | reexport | Member[x].Member[y].Member[z] |
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"name": "semi-internal-class",
3+
"main": "semi-internal-class.js"
4+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
export class PublicClass {
2+
publicMethod() {}
3+
}
4+
5+
class SemiInternalClass {
6+
method() {
7+
return new PublicClass();
8+
}
9+
}
10+
11+
export function get() {
12+
return new SemiInternalClass();
13+
}
14+
15+
export function getAnonymous() {
16+
return new (class {
17+
method() {
18+
return new PublicClass();
19+
}
20+
});
21+
}

0 commit comments

Comments
 (0)