Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 405d43d

Browse files
committed
JS: Merge CallSignatureTypes test
1 parent 9749429 commit 405d43d

5 files changed

Lines changed: 27 additions & 25 deletions

File tree

javascript/ql/test/library-tests/TypeScript/CallSignatureTypes/ExprSignatures.ql

Lines changed: 0 additions & 14 deletions
This file was deleted.

javascript/ql/test/library-tests/TypeScript/CallSignatureTypes/Signatures.expected

Lines changed: 0 additions & 7 deletions
This file was deleted.

javascript/ql/test/library-tests/TypeScript/CallSignatureTypes/Signatures.ql

Lines changed: 0 additions & 4 deletions
This file was deleted.

javascript/ql/test/library-tests/TypeScript/CallSignatureTypes/ExprSignatures.expected renamed to javascript/ql/test/library-tests/TypeScript/CallSignatureTypes/test.expected

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
test_ExprSignature
12
| tst.ts:2:4:2:4 | x | number |
23
| tst.ts:6:4:6:4 | x | number |
34
| tst.ts:7:4:7:4 | x | string |
@@ -29,3 +30,11 @@
2930
| tst.ts:41:10:41:17 | g.method | (x: string): string |
3031
| tst.ts:41:10:41:24 | g.method("foo") | string |
3132
| tst.ts:41:19:41:23 | "foo" | "foo" |
33+
test_TypeReferenceSig
34+
| Callable | function | 0 | (x: number): string |
35+
| Newable | constructor | 0 | new (x: number): any |
36+
| OverloadedCallable | function | 0 | (x: number): number |
37+
| OverloadedCallable | function | 1 | (x: string): string |
38+
| OverloadedCallable | function | 2 | (x: any): any |
39+
| OverloadedNewable | constructor | 0 | new (x: number): OverloadedNewable |
40+
| OverloadedNewable | constructor | 1 | new (x: any): any |
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import javascript
2+
3+
string getASignatureOrElseType(Type t) {
4+
result = t.getASignature(_).toString()
5+
or
6+
not exists(t.getASignature(_)) and
7+
result = t.toString()
8+
}
9+
10+
query predicate test_ExprSignature(Expr expr, string type) {
11+
not exists(MethodDeclaration decl | decl.getNameExpr() = expr) and
12+
not exists(DotExpr dot | expr = dot.getPropertyNameExpr()) and
13+
type = getASignatureOrElseType(expr.getType())
14+
}
15+
16+
query predicate test_TypeReferenceSig(TypeReference type, SignatureKind kind, int n, CallSignatureType sig) {
17+
sig = type.getSignature(kind, n)
18+
}

0 commit comments

Comments
 (0)