mirror of
https://github.com/github/codeql.git
synced 2026-04-25 00:35:20 +02:00
Merge branch 'main' into amammad-js-bombs
This commit is contained in:
@@ -0,0 +1 @@
|
||||
import ApiGraphs.VerifyAssertions
|
||||
9
javascript/ql/test/ApiGraphs/tagged-template/index.js
Normal file
9
javascript/ql/test/ApiGraphs/tagged-template/index.js
Normal file
@@ -0,0 +1,9 @@
|
||||
const tag = require("tag");
|
||||
|
||||
tag.string`string1
|
||||
${23}` // def=moduleImport("tag").getMember("exports").getMember("string").getParameter(1)
|
||||
|
||||
tag.highlight`string2
|
||||
${23}
|
||||
morestring
|
||||
${42}` // def=moduleImport("tag").getMember("exports").getMember("highlight").getParameter(2)
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"name": "tagged-template"
|
||||
}
|
||||
220
javascript/ql/test/experimental/TypeOrm/test.ts
Normal file
220
javascript/ql/test/experimental/TypeOrm/test.ts
Normal file
@@ -0,0 +1,220 @@
|
||||
import {
|
||||
BaseEntity, Brackets, DataSource, JoinColumn, NotBrackets
|
||||
, OneToOne, Entity, PrimaryGeneratedColumn, Column, SelectQueryBuilder, InsertQueryBuilder
|
||||
} from "typeorm";
|
||||
|
||||
@Entity()
|
||||
export class UserActiveRecord extends BaseEntity {
|
||||
@PrimaryGeneratedColumn()
|
||||
id: number
|
||||
@Column()
|
||||
firstName: string
|
||||
@Column()
|
||||
lastName: string
|
||||
@Column()
|
||||
age: number
|
||||
|
||||
static findByName(firstName: string, lastName: string) {
|
||||
return this.createQueryBuilder("user")
|
||||
.where("user.firstName = " + firstName) // test: SQLInjectionPoint
|
||||
.andWhere("user.lastName = " + lastName) // test: SQLInjectionPoint
|
||||
.getMany()
|
||||
}
|
||||
}
|
||||
|
||||
@Entity()
|
||||
export class Profile {
|
||||
@PrimaryGeneratedColumn()
|
||||
id: number
|
||||
@Column()
|
||||
gender: string
|
||||
@Column()
|
||||
photo: string
|
||||
}
|
||||
|
||||
@Entity()
|
||||
export class User {
|
||||
@PrimaryGeneratedColumn()
|
||||
id: number
|
||||
@Column()
|
||||
name: string
|
||||
@OneToOne(() => Profile)
|
||||
@JoinColumn()
|
||||
profile: Profile
|
||||
}
|
||||
|
||||
@Entity()
|
||||
export class User2 {
|
||||
@PrimaryGeneratedColumn()
|
||||
id: number
|
||||
@Column()
|
||||
firstName: string
|
||||
@Column()
|
||||
lastName: string
|
||||
@Column()
|
||||
age: number
|
||||
|
||||
}
|
||||
|
||||
export const AppDataSource = new DataSource({
|
||||
type: "sqlite",
|
||||
database: "database.sqlite",
|
||||
synchronize: true,
|
||||
logging: false,
|
||||
entities: [User, User2, Profile, UserActiveRecord],
|
||||
migrations: [],
|
||||
subscribers: [],
|
||||
})
|
||||
|
||||
function makePaginationQuery<T>(q: SelectQueryBuilder<T>): SelectQueryBuilder<T> {
|
||||
return q;
|
||||
}
|
||||
|
||||
AppDataSource.initialize().then(async () => {
|
||||
const BadInput = "A user controllable Remote Source like `' 1=1 --` "
|
||||
|
||||
// Active record
|
||||
await UserActiveRecord.findByName(BadInput, "Saw")
|
||||
|
||||
// data mapper
|
||||
const selectQueryBuilder = makePaginationQuery<User>(AppDataSource
|
||||
.createQueryBuilder(User, "User").select());
|
||||
selectQueryBuilder.where(BadInput).getMany().then(result => { // test: SQLInjectionPoint
|
||||
console.log(result)
|
||||
});
|
||||
|
||||
const selectQueryBuilder2 = makePaginationQuery<User>(AppDataSource
|
||||
.createQueryBuilder(User, "User"));
|
||||
selectQueryBuilder2.where(BadInput).getMany().then(result => { // test: SQLInjectionPoint
|
||||
console.log(result)
|
||||
});
|
||||
|
||||
const insertQueryBuilder: InsertQueryBuilder<User2> = AppDataSource
|
||||
.createQueryBuilder(User2, "User2").insert();
|
||||
insertQueryBuilder.into(User2)
|
||||
.values({
|
||||
firstName: "Timber",
|
||||
lastName: () => BadInput, // test: SQLInjectionPoint
|
||||
age: 33,
|
||||
}).execute().then(result => {
|
||||
console.log(result)
|
||||
|
||||
|
||||
})
|
||||
|
||||
AppDataSource
|
||||
.createQueryBuilder(User2, "User")
|
||||
.insert()
|
||||
.into(User2)
|
||||
.values({
|
||||
firstName: "Timber",
|
||||
lastName: () => BadInput, // test: SQLInjectionPoint
|
||||
age: 33,
|
||||
})
|
||||
.orUpdate(
|
||||
[BadInput, BadInput], // test: SQLInjectionPoint
|
||||
[BadInput], // test: SQLInjectionPoint
|
||||
)
|
||||
.getQueryAndParameters()
|
||||
|
||||
await AppDataSource.getRepository(User2).createQueryBuilder("user2")
|
||||
.update(User2)
|
||||
.set({ firstName: () => BadInput, lastName: "Saw2", age: 12 }) // test: SQLInjectionPoint
|
||||
.where(BadInput,) // test: SQLInjectionPoint
|
||||
.execute()
|
||||
|
||||
await AppDataSource.getRepository(User2).createQueryBuilder('user2')
|
||||
.delete()
|
||||
.from(User2)
|
||||
.where(BadInput) // test: SQLInjectionPoint
|
||||
.execute()
|
||||
|
||||
|
||||
const queryRunner = AppDataSource.createQueryRunner()
|
||||
await queryRunner.query(BadInput) // test: SQLInjectionPoint
|
||||
|
||||
await queryRunner.manager
|
||||
.createQueryBuilder(User2, "User")
|
||||
.select(BadInput) // test: SQLInjectionPoint
|
||||
.where(BadInput).execute() // test: SQLInjectionPoint
|
||||
|
||||
await AppDataSource
|
||||
.createQueryBuilder(User, "User")
|
||||
.innerJoin("User.profile", "profile", BadInput, { // test: SQLInjectionPoint
|
||||
id: 2,
|
||||
}).getMany().then(res => console.log(res))
|
||||
|
||||
await AppDataSource
|
||||
.createQueryBuilder(User, "User")
|
||||
.leftJoinAndMapOne("User.profile", "profile", "profile", BadInput, { // test: SQLInjectionPoint
|
||||
id: 2,
|
||||
}).getMany().then(res => console.log(res))
|
||||
|
||||
|
||||
await AppDataSource
|
||||
.createQueryBuilder(User2, "User2")
|
||||
.where((qb) => {
|
||||
const subQuery = qb
|
||||
.subQuery()
|
||||
.select(BadInput) // test: SQLInjectionPoint
|
||||
.from(User2, "user2")
|
||||
.where(BadInput) // test: SQLInjectionPoint
|
||||
.getQuery()
|
||||
return "User2.id IN " + subQuery
|
||||
})
|
||||
.setParameter("registered", true)
|
||||
.getMany()
|
||||
|
||||
|
||||
// Using repository
|
||||
await AppDataSource.getRepository(User2).createQueryBuilder("User2").where("User2.id =:kind" + BadInput, { kind: 1 }).getMany()
|
||||
|
||||
// Using DataSource
|
||||
await AppDataSource
|
||||
.createQueryBuilder()
|
||||
.select(BadInput) // test: SQLInjectionPoint
|
||||
.from(User2, "User2")
|
||||
.where(BadInput, { id: 1 }) // test: SQLInjectionPoint
|
||||
.getMany()
|
||||
|
||||
// Using entity manager
|
||||
await AppDataSource.manager
|
||||
.createQueryBuilder(User2, "User2").where("User2.id =:kind" + BadInput, { kind: '1' }).getMany() // test: SQLInjectionPoint
|
||||
await AppDataSource
|
||||
.createQueryBuilder(User2, "User2")
|
||||
.leftJoinAndSelect("user.photos", "photo", BadInput).getMany() // test: SQLInjectionPoint
|
||||
await AppDataSource
|
||||
.createQueryBuilder(User2, "User2").groupBy("User2.id").having(BadInput).getMany() // test: SQLInjectionPoint
|
||||
// orderBy
|
||||
// it is a little bit restrictive, e.g. sqlite don't support it at all
|
||||
await AppDataSource
|
||||
.createQueryBuilder(User2, "User2").where(BadInput, { // test: SQLInjectionPoint
|
||||
firstName: "Timber",
|
||||
})
|
||||
.where(
|
||||
new Brackets((qb) => {
|
||||
qb.where(BadInput).orWhere(BadInput); // test: SQLInjectionPoint
|
||||
})
|
||||
)
|
||||
.orderBy(BadInput).orWhere(BadInput).getMany() // test: SQLInjectionPoint
|
||||
|
||||
// relation
|
||||
AppDataSource.createQueryBuilder().relation(User, "name")
|
||||
.of(User)
|
||||
.select().where(BadInput).getMany().then(results => { // test: SQLInjectionPoint
|
||||
console.log(results)
|
||||
})
|
||||
|
||||
// Brackets
|
||||
await AppDataSource.createQueryBuilder(User2, "User2")
|
||||
.where(BadInput) // test: SQLInjectionPoint
|
||||
.andWhere(
|
||||
new Brackets((qb) => {
|
||||
qb.where(BadInput).orWhere(BadInput); // test: SQLInjectionPoint
|
||||
})
|
||||
).andWhere(
|
||||
new NotBrackets((qb) => {
|
||||
qb.where(BadInput).orWhere(BadInput) // test: SQLInjectionPoint
|
||||
}),
|
||||
).getMany()
|
||||
}).catch(error => console.log(error))
|
||||
32
javascript/ql/test/experimental/TypeOrm/tests.expected
Normal file
32
javascript/ql/test/experimental/TypeOrm/tests.expected
Normal file
@@ -0,0 +1,32 @@
|
||||
passingPositiveTests
|
||||
| PASSED | SQLInjectionPoint | test.ts:19:54:19:79 | // test ... onPoint |
|
||||
| PASSED | SQLInjectionPoint | test.ts:20:55:20:80 | // test ... onPoint |
|
||||
| PASSED | SQLInjectionPoint | test.ts:82:70:82:95 | // test ... onPoint |
|
||||
| PASSED | SQLInjectionPoint | test.ts:88:70:88:95 | // test ... onPoint |
|
||||
| PASSED | SQLInjectionPoint | test.ts:97:41:97:66 | // test ... onPoint |
|
||||
| PASSED | SQLInjectionPoint | test.ts:111:41:111:66 | // test ... onPoint |
|
||||
| PASSED | SQLInjectionPoint | test.ts:115:37:115:62 | // test ... onPoint |
|
||||
| PASSED | SQLInjectionPoint | test.ts:116:27:116:52 | // test ... onPoint |
|
||||
| PASSED | SQLInjectionPoint | test.ts:122:74:122:99 | // test ... onPoint |
|
||||
| PASSED | SQLInjectionPoint | test.ts:123:29:123:54 | // test ... onPoint |
|
||||
| PASSED | SQLInjectionPoint | test.ts:129:28:129:53 | // test ... onPoint |
|
||||
| PASSED | SQLInjectionPoint | test.ts:134:41:134:66 | // test ... onPoint |
|
||||
| PASSED | SQLInjectionPoint | test.ts:138:29:138:54 | // test ... onPoint |
|
||||
| PASSED | SQLInjectionPoint | test.ts:139:38:139:63 | // test ... onPoint |
|
||||
| PASSED | SQLInjectionPoint | test.ts:143:61:143:86 | // test ... onPoint |
|
||||
| PASSED | SQLInjectionPoint | test.ts:149:80:149:105 | // test ... onPoint |
|
||||
| PASSED | SQLInjectionPoint | test.ts:159:37:159:62 | // test ... onPoint |
|
||||
| PASSED | SQLInjectionPoint | test.ts:161:36:161:61 | // test ... onPoint |
|
||||
| PASSED | SQLInjectionPoint | test.ts:175:29:175:54 | // test ... onPoint |
|
||||
| PASSED | SQLInjectionPoint | test.ts:177:39:177:64 | // test ... onPoint |
|
||||
| PASSED | SQLInjectionPoint | test.ts:182:108:182:133 | // test ... onPoint |
|
||||
| PASSED | SQLInjectionPoint | test.ts:185:74:185:99 | // test ... onPoint |
|
||||
| PASSED | SQLInjectionPoint | test.ts:187:94:187:119 | // test ... onPoint |
|
||||
| PASSED | SQLInjectionPoint | test.ts:191:65:191:90 | // test ... onPoint |
|
||||
| PASSED | SQLInjectionPoint | test.ts:196:57:196:82 | // test ... onPoint |
|
||||
| PASSED | SQLInjectionPoint | test.ts:199:58:199:83 | // test ... onPoint |
|
||||
| PASSED | SQLInjectionPoint | test.ts:204:65:204:90 | // test ... onPoint |
|
||||
| PASSED | SQLInjectionPoint | test.ts:210:28:210:53 | // test ... onPoint |
|
||||
| PASSED | SQLInjectionPoint | test.ts:213:56:213:81 | // test ... onPoint |
|
||||
| PASSED | SQLInjectionPoint | test.ts:217:56:217:81 | // test ... onPoint |
|
||||
failingPositiveTests
|
||||
34
javascript/ql/test/experimental/TypeOrm/tests.ql
Normal file
34
javascript/ql/test/experimental/TypeOrm/tests.ql
Normal file
@@ -0,0 +1,34 @@
|
||||
import javascript
|
||||
|
||||
class InlineTest extends LineComment {
|
||||
string tests;
|
||||
|
||||
InlineTest() { tests = this.getText().regexpCapture("\\s*test:(.*)", 1) }
|
||||
|
||||
string getPositiveTest() {
|
||||
result = tests.trim().splitAt(",").trim() and not result.matches("!%")
|
||||
}
|
||||
|
||||
predicate hasPositiveTest(string test) { test = this.getPositiveTest() }
|
||||
|
||||
predicate inNode(DataFlow::Node n) {
|
||||
this.getLocation().getFile() = n.getFile() and
|
||||
this.getLocation().getStartLine() = n.getStartLine()
|
||||
}
|
||||
}
|
||||
|
||||
import experimental.semmle.javascript.SQL
|
||||
|
||||
query predicate passingPositiveTests(string res, string expectation, InlineTest t) {
|
||||
res = "PASSED" and
|
||||
t.hasPositiveTest(expectation) and
|
||||
expectation = "SQLInjectionPoint" and
|
||||
exists(SQL::SqlString n | t.inNode(n))
|
||||
}
|
||||
|
||||
query predicate failingPositiveTests(string res, string expectation, InlineTest t) {
|
||||
res = "FAILED" and
|
||||
t.hasPositiveTest(expectation) and
|
||||
expectation = "SQLInjectionPoint" and
|
||||
not exists(SQL::SqlString n | t.inNode(n))
|
||||
}
|
||||
15
javascript/ql/test/experimental/TypeOrm/tsconfig.json
Normal file
15
javascript/ql/test/experimental/TypeOrm/tsconfig.json
Normal file
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"lib": [
|
||||
"es5",
|
||||
"es6"
|
||||
],
|
||||
"target": "es6",
|
||||
"module": "commonjs",
|
||||
"moduleResolution": "node",
|
||||
"outDir": "./build",
|
||||
"emitDecoratorMetadata": true,
|
||||
"experimentalDecorators": true,
|
||||
"sourceMap": true
|
||||
}
|
||||
}
|
||||
3
javascript/ql/test/library-tests/AMD/test_range.js
Normal file
3
javascript/ql/test/library-tests/AMD/test_range.js
Normal file
@@ -0,0 +1,3 @@
|
||||
test.amd.range(function() {
|
||||
return { foo: 42 };
|
||||
});
|
||||
@@ -4,6 +4,7 @@ amoModule_exports
|
||||
| lib/a.js:1:1:3:3 | <toplevel> | foo | lib/a.js:2:19:2:20 | 42 |
|
||||
| lib/foo.js:1:1:4:0 | <toplevel> | foo | lib/foo.js:2:10:2:11 | 23 |
|
||||
| lib/nested/a.js:1:1:3:3 | <toplevel> | foo | lib/nested/a.js:2:19:2:20 | 42 |
|
||||
| test_range.js:1:1:4:0 | <toplevel> | foo | test_range.js:2:19:2:20 | 42 |
|
||||
| tst2.js:1:1:3:3 | <toplevel> | foo | tst2.js:2:19:2:20 | 42 |
|
||||
| tst3.js:1:1:3:3 | <toplevel> | foo | tst3.js:2:43:2:44 | 42 |
|
||||
| tst4.js:1:1:11:3 | <toplevel> | bar | tst4.js:9:14:9:18 | b.bar |
|
||||
@@ -22,6 +23,7 @@ amdModule
|
||||
| lib/a.js:1:1:3:3 | <toplevel> | lib/a.js:1:1:3:2 | define( ... 2 };\\n}) |
|
||||
| lib/foo.js:1:1:4:0 | <toplevel> | lib/foo.js:1:1:3:2 | define( ... : 23\\n}) |
|
||||
| lib/nested/a.js:1:1:3:3 | <toplevel> | lib/nested/a.js:1:1:3:2 | define( ... 2 };\\n}) |
|
||||
| test_range.js:1:1:4:0 | <toplevel> | test_range.js:1:1:3:2 | test.am ... 2 };\\n}) |
|
||||
| tst2.js:1:1:3:3 | <toplevel> | tst2.js:1:1:3:2 | define( ... 42;\\n}) |
|
||||
| tst3.js:1:1:3:3 | <toplevel> | tst3.js:1:1:3:2 | define( ... 42;\\n}) |
|
||||
| tst4.js:1:1:11:3 | <toplevel> | tst4.js:1:1:11:2 | define( ... };\\n}) |
|
||||
@@ -48,6 +50,7 @@ amdModuleDefinition
|
||||
| lib/a.js:1:1:3:2 | define( ... 2 };\\n}) | lib/a.js:1:8:3:1 | functio ... 42 };\\n} |
|
||||
| lib/foo.js:1:1:3:2 | define( ... : 23\\n}) | lib/foo.js:1:8:3:1 | {\\n foo: 23\\n} |
|
||||
| lib/nested/a.js:1:1:3:2 | define( ... 2 };\\n}) | lib/nested/a.js:1:8:3:1 | functio ... 42 };\\n} |
|
||||
| test_range.js:1:1:3:2 | test.am ... 2 };\\n}) | test_range.js:1:16:3:1 | functio ... 42 };\\n} |
|
||||
| tst2.js:1:1:3:2 | define( ... 42;\\n}) | tst2.js:1:21:3:1 | functio ... = 42;\\n} |
|
||||
| tst3.js:1:1:3:2 | define( ... 42;\\n}) | tst3.js:1:8:3:1 | functio ... = 42;\\n} |
|
||||
| tst4.js:1:1:11:2 | define( ... };\\n}) | tst4.js:6:11:11:1 | functio ... };\\n} |
|
||||
@@ -78,6 +81,7 @@ amdModuleExportedSymbol
|
||||
| lib/a.js:1:1:3:3 | <toplevel> | foo |
|
||||
| lib/foo.js:1:1:4:0 | <toplevel> | foo |
|
||||
| lib/nested/a.js:1:1:3:3 | <toplevel> | foo |
|
||||
| test_range.js:1:1:4:0 | <toplevel> | foo |
|
||||
| tst2.js:1:1:3:3 | <toplevel> | foo |
|
||||
| tst3.js:1:1:3:3 | <toplevel> | foo |
|
||||
| tst4.js:1:1:11:3 | <toplevel> | bar |
|
||||
@@ -96,6 +100,7 @@ amdModuleExpr
|
||||
| lib/a.js:1:1:3:2 | define( ... 2 };\\n}) | lib/a.js:2:12:2:22 | { foo: 42 } | lib/a.js:2:12:2:22 | { foo: 42 } |
|
||||
| lib/foo.js:1:1:3:2 | define( ... : 23\\n}) | lib/foo.js:1:8:3:1 | {\\n foo: 23\\n} | lib/foo.js:1:8:3:1 | {\\n foo: 23\\n} |
|
||||
| lib/nested/a.js:1:1:3:2 | define( ... 2 };\\n}) | lib/nested/a.js:2:12:2:22 | { foo: 42 } | lib/nested/a.js:2:12:2:22 | { foo: 42 } |
|
||||
| test_range.js:1:1:3:2 | test.am ... 2 };\\n}) | test_range.js:2:12:2:22 | { foo: 42 } | test_range.js:2:12:2:22 | { foo: 42 } |
|
||||
| tst4.js:1:1:11:2 | define( ... };\\n}) | tst4.js:7:12:10:5 | {\\n ... r\\n } | tst4.js:7:12:10:5 | {\\n ... r\\n } |
|
||||
| tst5.js:1:1:6:2 | define( ... };\\n}) | tst5.js:2:12:5:5 | {\\n ... r\\n } | tst5.js:2:12:5:5 | {\\n ... r\\n } |
|
||||
| tst.js:1:1:6:2 | define( ... };\\n}) | tst.js:2:12:5:5 | {\\n ... r\\n } | tst.js:2:12:5:5 | {\\n ... r\\n } |
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
import javascript
|
||||
|
||||
class TestAmdModuleRange extends AmdModuleDefinition::Range {
|
||||
TestAmdModuleRange() { this.getCallee().(PropAccess).getQualifiedName() = "test.amd.range" }
|
||||
}
|
||||
|
||||
query predicate amoModule_exports(Module m, string name, DataFlow::Node exportValue) {
|
||||
exportValue = m.getAnExportedValue(name)
|
||||
}
|
||||
|
||||
@@ -0,0 +1,198 @@
|
||||
nodes
|
||||
| file://:0:0:0:0 | (Arguments) | semmle.label | (Arguments) |
|
||||
| file://:0:0:0:0 | (Arguments) | semmle.label | (Arguments) |
|
||||
| file://:0:0:0:0 | (Arguments) | semmle.label | (Arguments) |
|
||||
| file://:0:0:0:0 | (Arguments) | semmle.label | (Arguments) |
|
||||
| file://:0:0:0:0 | (Parameters) | semmle.label | (Parameters) |
|
||||
| tst.html:1:5:1:9 | [ExprStmt] using | semmle.label | [ExprStmt] using |
|
||||
| tst.html:1:5:1:9 | [ExprStmt] using | semmle.order | 1 |
|
||||
| tst.html:1:5:1:9 | [VarRef] using | semmle.label | [VarRef] using |
|
||||
| tst.js:1:1:10:1 | [FunctionDeclStmt] functio ... } } | semmle.label | [FunctionDeclStmt] functio ... } } |
|
||||
| tst.js:1:1:10:1 | [FunctionDeclStmt] functio ... } } | semmle.order | 2 |
|
||||
| tst.js:1:10:1:10 | [VarDecl] g | semmle.label | [VarDecl] g |
|
||||
| tst.js:1:14:10:1 | [BlockStmt] { u ... } } | semmle.label | [BlockStmt] { u ... } } |
|
||||
| tst.js:2:5:2:33 | [DeclStmt] using stream = ... | semmle.label | [DeclStmt] using stream = ... |
|
||||
| tst.js:2:11:2:16 | [VarDecl] stream | semmle.label | [VarDecl] stream |
|
||||
| tst.js:2:11:2:32 | [VariableDeclarator] stream ... ource() | semmle.label | [VariableDeclarator] stream ... ource() |
|
||||
| tst.js:2:20:2:30 | [VarRef] getResource | semmle.label | [VarRef] getResource |
|
||||
| tst.js:2:20:2:32 | [CallExpr] getResource() | semmle.label | [CallExpr] getResource() |
|
||||
| tst.js:4:5:4:7 | [VarRef] let | semmle.label | [VarRef] let |
|
||||
| tst.js:4:5:4:19 | [CallExpr] let (test = 20) | semmle.label | [CallExpr] let (test = 20) |
|
||||
| tst.js:4:5:4:20 | [ExprStmt] let (test = 20); | semmle.label | [ExprStmt] let (test = 20); |
|
||||
| tst.js:4:10:4:13 | [VarRef] test | semmle.label | [VarRef] test |
|
||||
| tst.js:4:10:4:18 | [AssignExpr] test = 20 | semmle.label | [AssignExpr] test = 20 |
|
||||
| tst.js:4:17:4:18 | [Literal] 20 | semmle.label | [Literal] 20 |
|
||||
| tst.js:6:5:9:5 | [ForStmt] for (us ... ; } | semmle.label | [ForStmt] for (us ... ; } |
|
||||
| tst.js:6:10:6:38 | [DeclStmt] using stream2 = ... | semmle.label | [DeclStmt] using stream2 = ... |
|
||||
| tst.js:6:16:6:22 | [VarDecl] stream2 | semmle.label | [VarDecl] stream2 |
|
||||
| tst.js:6:16:6:38 | [VariableDeclarator] stream2 ... ource() | semmle.label | [VariableDeclarator] stream2 ... ource() |
|
||||
| tst.js:6:26:6:36 | [VarRef] getResource | semmle.label | [VarRef] getResource |
|
||||
| tst.js:6:26:6:38 | [CallExpr] getResource() | semmle.label | [CallExpr] getResource() |
|
||||
| tst.js:6:45:9:5 | [BlockStmt] { ... ; } | semmle.label | [BlockStmt] { ... ; } |
|
||||
| tst.js:8:9:8:14 | [BreakStmt] break; | semmle.label | [BreakStmt] break; |
|
||||
| tst.js:12:1:21:1 | [FunctionDeclStmt] async f ... nd"); } | semmle.label | [FunctionDeclStmt] async f ... nd"); } |
|
||||
| tst.js:12:1:21:1 | [FunctionDeclStmt] async f ... nd"); } | semmle.order | 3 |
|
||||
| tst.js:12:16:12:16 | [VarDecl] h | semmle.label | [VarDecl] h |
|
||||
| tst.js:12:20:21:1 | [BlockStmt] { a ... nd"); } | semmle.label | [BlockStmt] { a ... nd"); } |
|
||||
| tst.js:13:5:13:39 | [DeclStmt] using stream = ... | semmle.label | [DeclStmt] using stream = ... |
|
||||
| tst.js:13:17:13:22 | [VarDecl] stream | semmle.label | [VarDecl] stream |
|
||||
| tst.js:13:17:13:38 | [VariableDeclarator] stream ... ource() | semmle.label | [VariableDeclarator] stream ... ource() |
|
||||
| tst.js:13:26:13:36 | [VarRef] getResource | semmle.label | [VarRef] getResource |
|
||||
| tst.js:13:26:13:38 | [CallExpr] getResource() | semmle.label | [CallExpr] getResource() |
|
||||
| tst.js:15:5:18:5 | [ForStmt] for (aw ... ; } | semmle.label | [ForStmt] for (aw ... ; } |
|
||||
| tst.js:15:16:15:44 | [DeclStmt] using stream2 = ... | semmle.label | [DeclStmt] using stream2 = ... |
|
||||
| tst.js:15:22:15:28 | [VarDecl] stream2 | semmle.label | [VarDecl] stream2 |
|
||||
| tst.js:15:22:15:44 | [VariableDeclarator] stream2 ... ource() | semmle.label | [VariableDeclarator] stream2 ... ource() |
|
||||
| tst.js:15:32:15:42 | [VarRef] getResource | semmle.label | [VarRef] getResource |
|
||||
| tst.js:15:32:15:44 | [CallExpr] getResource() | semmle.label | [CallExpr] getResource() |
|
||||
| tst.js:15:51:18:5 | [BlockStmt] { ... ; } | semmle.label | [BlockStmt] { ... ; } |
|
||||
| tst.js:17:9:17:14 | [BreakStmt] break; | semmle.label | [BreakStmt] break; |
|
||||
| tst.js:20:5:20:11 | [VarRef] console | semmle.label | [VarRef] console |
|
||||
| tst.js:20:5:20:15 | [DotExpr] console.log | semmle.label | [DotExpr] console.log |
|
||||
| tst.js:20:5:20:22 | [MethodCallExpr] console.log("end") | semmle.label | [MethodCallExpr] console.log("end") |
|
||||
| tst.js:20:5:20:23 | [ExprStmt] console.log("end"); | semmle.label | [ExprStmt] console.log("end"); |
|
||||
| tst.js:20:13:20:15 | [Label] log | semmle.label | [Label] log |
|
||||
| tst.js:20:17:20:21 | [Literal] "end" | semmle.label | [Literal] "end" |
|
||||
| tst.js:23:1:29:1 | [FunctionDeclStmt] functio ... ing); } | semmle.label | [FunctionDeclStmt] functio ... ing); } |
|
||||
| tst.js:23:1:29:1 | [FunctionDeclStmt] functio ... ing); } | semmle.order | 4 |
|
||||
| tst.js:23:10:23:18 | [VarDecl] usesUsing | semmle.label | [VarDecl] usesUsing |
|
||||
| tst.js:23:22:29:1 | [BlockStmt] { u ... ing); } | semmle.label | [BlockStmt] { u ... ing); } |
|
||||
| tst.js:24:5:24:9 | [VarRef] using | semmle.label | [VarRef] using |
|
||||
| tst.js:24:5:24:16 | [CallExpr] using("foo") | semmle.label | [CallExpr] using("foo") |
|
||||
| tst.js:24:5:24:17 | [ExprStmt] using("foo"); | semmle.label | [ExprStmt] using("foo"); |
|
||||
| tst.js:24:11:24:15 | [Literal] "foo" | semmle.label | [Literal] "foo" |
|
||||
| tst.js:25:5:27:5 | [FunctionDeclStmt] functio ... . } | semmle.label | [FunctionDeclStmt] functio ... . } |
|
||||
| tst.js:25:14:25:18 | [VarDecl] using | semmle.label | [VarDecl] using |
|
||||
| tst.js:25:20:25:22 | [SimpleParameter] foo | semmle.label | [SimpleParameter] foo |
|
||||
| tst.js:25:25:27:5 | [BlockStmt] { ... . } | semmle.label | [BlockStmt] { ... . } |
|
||||
| tst.js:28:5:28:9 | [VarRef] using | semmle.label | [VarRef] using |
|
||||
| tst.js:28:5:28:16 | [CallExpr] using(using) | semmle.label | [CallExpr] using(using) |
|
||||
| tst.js:28:5:28:17 | [ExprStmt] using(using); | semmle.label | [ExprStmt] using(using); |
|
||||
| tst.js:28:11:28:15 | [VarRef] using | semmle.label | [VarRef] using |
|
||||
edges
|
||||
| file://:0:0:0:0 | (Arguments) | tst.js:4:10:4:18 | [AssignExpr] test = 20 | semmle.label | 0 |
|
||||
| file://:0:0:0:0 | (Arguments) | tst.js:4:10:4:18 | [AssignExpr] test = 20 | semmle.order | 0 |
|
||||
| file://:0:0:0:0 | (Arguments) | tst.js:20:17:20:21 | [Literal] "end" | semmle.label | 0 |
|
||||
| file://:0:0:0:0 | (Arguments) | tst.js:20:17:20:21 | [Literal] "end" | semmle.order | 0 |
|
||||
| file://:0:0:0:0 | (Arguments) | tst.js:24:11:24:15 | [Literal] "foo" | semmle.label | 0 |
|
||||
| file://:0:0:0:0 | (Arguments) | tst.js:24:11:24:15 | [Literal] "foo" | semmle.order | 0 |
|
||||
| file://:0:0:0:0 | (Arguments) | tst.js:28:11:28:15 | [VarRef] using | semmle.label | 0 |
|
||||
| file://:0:0:0:0 | (Arguments) | tst.js:28:11:28:15 | [VarRef] using | semmle.order | 0 |
|
||||
| file://:0:0:0:0 | (Parameters) | tst.js:25:20:25:22 | [SimpleParameter] foo | semmle.label | 0 |
|
||||
| file://:0:0:0:0 | (Parameters) | tst.js:25:20:25:22 | [SimpleParameter] foo | semmle.order | 0 |
|
||||
| tst.html:1:5:1:9 | [ExprStmt] using | tst.html:1:5:1:9 | [VarRef] using | semmle.label | 1 |
|
||||
| tst.html:1:5:1:9 | [ExprStmt] using | tst.html:1:5:1:9 | [VarRef] using | semmle.order | 1 |
|
||||
| tst.js:1:1:10:1 | [FunctionDeclStmt] functio ... } } | tst.js:1:10:1:10 | [VarDecl] g | semmle.label | 0 |
|
||||
| tst.js:1:1:10:1 | [FunctionDeclStmt] functio ... } } | tst.js:1:10:1:10 | [VarDecl] g | semmle.order | 0 |
|
||||
| tst.js:1:1:10:1 | [FunctionDeclStmt] functio ... } } | tst.js:1:14:10:1 | [BlockStmt] { u ... } } | semmle.label | 5 |
|
||||
| tst.js:1:1:10:1 | [FunctionDeclStmt] functio ... } } | tst.js:1:14:10:1 | [BlockStmt] { u ... } } | semmle.order | 5 |
|
||||
| tst.js:1:14:10:1 | [BlockStmt] { u ... } } | tst.js:2:5:2:33 | [DeclStmt] using stream = ... | semmle.label | 1 |
|
||||
| tst.js:1:14:10:1 | [BlockStmt] { u ... } } | tst.js:2:5:2:33 | [DeclStmt] using stream = ... | semmle.order | 1 |
|
||||
| tst.js:1:14:10:1 | [BlockStmt] { u ... } } | tst.js:4:5:4:20 | [ExprStmt] let (test = 20); | semmle.label | 2 |
|
||||
| tst.js:1:14:10:1 | [BlockStmt] { u ... } } | tst.js:4:5:4:20 | [ExprStmt] let (test = 20); | semmle.order | 2 |
|
||||
| tst.js:1:14:10:1 | [BlockStmt] { u ... } } | tst.js:6:5:9:5 | [ForStmt] for (us ... ; } | semmle.label | 3 |
|
||||
| tst.js:1:14:10:1 | [BlockStmt] { u ... } } | tst.js:6:5:9:5 | [ForStmt] for (us ... ; } | semmle.order | 3 |
|
||||
| tst.js:2:5:2:33 | [DeclStmt] using stream = ... | tst.js:2:11:2:32 | [VariableDeclarator] stream ... ource() | semmle.label | 1 |
|
||||
| tst.js:2:5:2:33 | [DeclStmt] using stream = ... | tst.js:2:11:2:32 | [VariableDeclarator] stream ... ource() | semmle.order | 1 |
|
||||
| tst.js:2:11:2:32 | [VariableDeclarator] stream ... ource() | tst.js:2:11:2:16 | [VarDecl] stream | semmle.label | 1 |
|
||||
| tst.js:2:11:2:32 | [VariableDeclarator] stream ... ource() | tst.js:2:11:2:16 | [VarDecl] stream | semmle.order | 1 |
|
||||
| tst.js:2:11:2:32 | [VariableDeclarator] stream ... ource() | tst.js:2:20:2:32 | [CallExpr] getResource() | semmle.label | 2 |
|
||||
| tst.js:2:11:2:32 | [VariableDeclarator] stream ... ource() | tst.js:2:20:2:32 | [CallExpr] getResource() | semmle.order | 2 |
|
||||
| tst.js:2:20:2:32 | [CallExpr] getResource() | tst.js:2:20:2:30 | [VarRef] getResource | semmle.label | 0 |
|
||||
| tst.js:2:20:2:32 | [CallExpr] getResource() | tst.js:2:20:2:30 | [VarRef] getResource | semmle.order | 0 |
|
||||
| tst.js:4:5:4:19 | [CallExpr] let (test = 20) | file://:0:0:0:0 | (Arguments) | semmle.label | 1 |
|
||||
| tst.js:4:5:4:19 | [CallExpr] let (test = 20) | file://:0:0:0:0 | (Arguments) | semmle.order | 1 |
|
||||
| tst.js:4:5:4:19 | [CallExpr] let (test = 20) | tst.js:4:5:4:7 | [VarRef] let | semmle.label | 0 |
|
||||
| tst.js:4:5:4:19 | [CallExpr] let (test = 20) | tst.js:4:5:4:7 | [VarRef] let | semmle.order | 0 |
|
||||
| tst.js:4:5:4:20 | [ExprStmt] let (test = 20); | tst.js:4:5:4:19 | [CallExpr] let (test = 20) | semmle.label | 1 |
|
||||
| tst.js:4:5:4:20 | [ExprStmt] let (test = 20); | tst.js:4:5:4:19 | [CallExpr] let (test = 20) | semmle.order | 1 |
|
||||
| tst.js:4:10:4:18 | [AssignExpr] test = 20 | tst.js:4:10:4:13 | [VarRef] test | semmle.label | 1 |
|
||||
| tst.js:4:10:4:18 | [AssignExpr] test = 20 | tst.js:4:10:4:13 | [VarRef] test | semmle.order | 1 |
|
||||
| tst.js:4:10:4:18 | [AssignExpr] test = 20 | tst.js:4:17:4:18 | [Literal] 20 | semmle.label | 2 |
|
||||
| tst.js:4:10:4:18 | [AssignExpr] test = 20 | tst.js:4:17:4:18 | [Literal] 20 | semmle.order | 2 |
|
||||
| tst.js:6:5:9:5 | [ForStmt] for (us ... ; } | tst.js:6:10:6:38 | [DeclStmt] using stream2 = ... | semmle.label | 1 |
|
||||
| tst.js:6:5:9:5 | [ForStmt] for (us ... ; } | tst.js:6:10:6:38 | [DeclStmt] using stream2 = ... | semmle.order | 1 |
|
||||
| tst.js:6:5:9:5 | [ForStmt] for (us ... ; } | tst.js:6:45:9:5 | [BlockStmt] { ... ; } | semmle.label | 2 |
|
||||
| tst.js:6:5:9:5 | [ForStmt] for (us ... ; } | tst.js:6:45:9:5 | [BlockStmt] { ... ; } | semmle.order | 2 |
|
||||
| tst.js:6:10:6:38 | [DeclStmt] using stream2 = ... | tst.js:6:16:6:38 | [VariableDeclarator] stream2 ... ource() | semmle.label | 1 |
|
||||
| tst.js:6:10:6:38 | [DeclStmt] using stream2 = ... | tst.js:6:16:6:38 | [VariableDeclarator] stream2 ... ource() | semmle.order | 1 |
|
||||
| tst.js:6:16:6:38 | [VariableDeclarator] stream2 ... ource() | tst.js:6:16:6:22 | [VarDecl] stream2 | semmle.label | 1 |
|
||||
| tst.js:6:16:6:38 | [VariableDeclarator] stream2 ... ource() | tst.js:6:16:6:22 | [VarDecl] stream2 | semmle.order | 1 |
|
||||
| tst.js:6:16:6:38 | [VariableDeclarator] stream2 ... ource() | tst.js:6:26:6:38 | [CallExpr] getResource() | semmle.label | 2 |
|
||||
| tst.js:6:16:6:38 | [VariableDeclarator] stream2 ... ource() | tst.js:6:26:6:38 | [CallExpr] getResource() | semmle.order | 2 |
|
||||
| tst.js:6:26:6:38 | [CallExpr] getResource() | tst.js:6:26:6:36 | [VarRef] getResource | semmle.label | 0 |
|
||||
| tst.js:6:26:6:38 | [CallExpr] getResource() | tst.js:6:26:6:36 | [VarRef] getResource | semmle.order | 0 |
|
||||
| tst.js:6:45:9:5 | [BlockStmt] { ... ; } | tst.js:8:9:8:14 | [BreakStmt] break; | semmle.label | 1 |
|
||||
| tst.js:6:45:9:5 | [BlockStmt] { ... ; } | tst.js:8:9:8:14 | [BreakStmt] break; | semmle.order | 1 |
|
||||
| tst.js:12:1:21:1 | [FunctionDeclStmt] async f ... nd"); } | tst.js:12:16:12:16 | [VarDecl] h | semmle.label | 0 |
|
||||
| tst.js:12:1:21:1 | [FunctionDeclStmt] async f ... nd"); } | tst.js:12:16:12:16 | [VarDecl] h | semmle.order | 0 |
|
||||
| tst.js:12:1:21:1 | [FunctionDeclStmt] async f ... nd"); } | tst.js:12:20:21:1 | [BlockStmt] { a ... nd"); } | semmle.label | 5 |
|
||||
| tst.js:12:1:21:1 | [FunctionDeclStmt] async f ... nd"); } | tst.js:12:20:21:1 | [BlockStmt] { a ... nd"); } | semmle.order | 5 |
|
||||
| tst.js:12:20:21:1 | [BlockStmt] { a ... nd"); } | tst.js:13:5:13:39 | [DeclStmt] using stream = ... | semmle.label | 1 |
|
||||
| tst.js:12:20:21:1 | [BlockStmt] { a ... nd"); } | tst.js:13:5:13:39 | [DeclStmt] using stream = ... | semmle.order | 1 |
|
||||
| tst.js:12:20:21:1 | [BlockStmt] { a ... nd"); } | tst.js:15:5:18:5 | [ForStmt] for (aw ... ; } | semmle.label | 2 |
|
||||
| tst.js:12:20:21:1 | [BlockStmt] { a ... nd"); } | tst.js:15:5:18:5 | [ForStmt] for (aw ... ; } | semmle.order | 2 |
|
||||
| tst.js:12:20:21:1 | [BlockStmt] { a ... nd"); } | tst.js:20:5:20:23 | [ExprStmt] console.log("end"); | semmle.label | 3 |
|
||||
| tst.js:12:20:21:1 | [BlockStmt] { a ... nd"); } | tst.js:20:5:20:23 | [ExprStmt] console.log("end"); | semmle.order | 3 |
|
||||
| tst.js:13:5:13:39 | [DeclStmt] using stream = ... | tst.js:13:17:13:38 | [VariableDeclarator] stream ... ource() | semmle.label | 1 |
|
||||
| tst.js:13:5:13:39 | [DeclStmt] using stream = ... | tst.js:13:17:13:38 | [VariableDeclarator] stream ... ource() | semmle.order | 1 |
|
||||
| tst.js:13:17:13:38 | [VariableDeclarator] stream ... ource() | tst.js:13:17:13:22 | [VarDecl] stream | semmle.label | 1 |
|
||||
| tst.js:13:17:13:38 | [VariableDeclarator] stream ... ource() | tst.js:13:17:13:22 | [VarDecl] stream | semmle.order | 1 |
|
||||
| tst.js:13:17:13:38 | [VariableDeclarator] stream ... ource() | tst.js:13:26:13:38 | [CallExpr] getResource() | semmle.label | 2 |
|
||||
| tst.js:13:17:13:38 | [VariableDeclarator] stream ... ource() | tst.js:13:26:13:38 | [CallExpr] getResource() | semmle.order | 2 |
|
||||
| tst.js:13:26:13:38 | [CallExpr] getResource() | tst.js:13:26:13:36 | [VarRef] getResource | semmle.label | 0 |
|
||||
| tst.js:13:26:13:38 | [CallExpr] getResource() | tst.js:13:26:13:36 | [VarRef] getResource | semmle.order | 0 |
|
||||
| tst.js:15:5:18:5 | [ForStmt] for (aw ... ; } | tst.js:15:16:15:44 | [DeclStmt] using stream2 = ... | semmle.label | 1 |
|
||||
| tst.js:15:5:18:5 | [ForStmt] for (aw ... ; } | tst.js:15:16:15:44 | [DeclStmt] using stream2 = ... | semmle.order | 1 |
|
||||
| tst.js:15:5:18:5 | [ForStmt] for (aw ... ; } | tst.js:15:51:18:5 | [BlockStmt] { ... ; } | semmle.label | 2 |
|
||||
| tst.js:15:5:18:5 | [ForStmt] for (aw ... ; } | tst.js:15:51:18:5 | [BlockStmt] { ... ; } | semmle.order | 2 |
|
||||
| tst.js:15:16:15:44 | [DeclStmt] using stream2 = ... | tst.js:15:22:15:44 | [VariableDeclarator] stream2 ... ource() | semmle.label | 1 |
|
||||
| tst.js:15:16:15:44 | [DeclStmt] using stream2 = ... | tst.js:15:22:15:44 | [VariableDeclarator] stream2 ... ource() | semmle.order | 1 |
|
||||
| tst.js:15:22:15:44 | [VariableDeclarator] stream2 ... ource() | tst.js:15:22:15:28 | [VarDecl] stream2 | semmle.label | 1 |
|
||||
| tst.js:15:22:15:44 | [VariableDeclarator] stream2 ... ource() | tst.js:15:22:15:28 | [VarDecl] stream2 | semmle.order | 1 |
|
||||
| tst.js:15:22:15:44 | [VariableDeclarator] stream2 ... ource() | tst.js:15:32:15:44 | [CallExpr] getResource() | semmle.label | 2 |
|
||||
| tst.js:15:22:15:44 | [VariableDeclarator] stream2 ... ource() | tst.js:15:32:15:44 | [CallExpr] getResource() | semmle.order | 2 |
|
||||
| tst.js:15:32:15:44 | [CallExpr] getResource() | tst.js:15:32:15:42 | [VarRef] getResource | semmle.label | 0 |
|
||||
| tst.js:15:32:15:44 | [CallExpr] getResource() | tst.js:15:32:15:42 | [VarRef] getResource | semmle.order | 0 |
|
||||
| tst.js:15:51:18:5 | [BlockStmt] { ... ; } | tst.js:17:9:17:14 | [BreakStmt] break; | semmle.label | 1 |
|
||||
| tst.js:15:51:18:5 | [BlockStmt] { ... ; } | tst.js:17:9:17:14 | [BreakStmt] break; | semmle.order | 1 |
|
||||
| tst.js:20:5:20:15 | [DotExpr] console.log | tst.js:20:5:20:11 | [VarRef] console | semmle.label | 1 |
|
||||
| tst.js:20:5:20:15 | [DotExpr] console.log | tst.js:20:5:20:11 | [VarRef] console | semmle.order | 1 |
|
||||
| tst.js:20:5:20:15 | [DotExpr] console.log | tst.js:20:13:20:15 | [Label] log | semmle.label | 2 |
|
||||
| tst.js:20:5:20:15 | [DotExpr] console.log | tst.js:20:13:20:15 | [Label] log | semmle.order | 2 |
|
||||
| tst.js:20:5:20:22 | [MethodCallExpr] console.log("end") | file://:0:0:0:0 | (Arguments) | semmle.label | 1 |
|
||||
| tst.js:20:5:20:22 | [MethodCallExpr] console.log("end") | file://:0:0:0:0 | (Arguments) | semmle.order | 1 |
|
||||
| tst.js:20:5:20:22 | [MethodCallExpr] console.log("end") | tst.js:20:5:20:15 | [DotExpr] console.log | semmle.label | 0 |
|
||||
| tst.js:20:5:20:22 | [MethodCallExpr] console.log("end") | tst.js:20:5:20:15 | [DotExpr] console.log | semmle.order | 0 |
|
||||
| tst.js:20:5:20:23 | [ExprStmt] console.log("end"); | tst.js:20:5:20:22 | [MethodCallExpr] console.log("end") | semmle.label | 1 |
|
||||
| tst.js:20:5:20:23 | [ExprStmt] console.log("end"); | tst.js:20:5:20:22 | [MethodCallExpr] console.log("end") | semmle.order | 1 |
|
||||
| tst.js:23:1:29:1 | [FunctionDeclStmt] functio ... ing); } | tst.js:23:10:23:18 | [VarDecl] usesUsing | semmle.label | 0 |
|
||||
| tst.js:23:1:29:1 | [FunctionDeclStmt] functio ... ing); } | tst.js:23:10:23:18 | [VarDecl] usesUsing | semmle.order | 0 |
|
||||
| tst.js:23:1:29:1 | [FunctionDeclStmt] functio ... ing); } | tst.js:23:22:29:1 | [BlockStmt] { u ... ing); } | semmle.label | 5 |
|
||||
| tst.js:23:1:29:1 | [FunctionDeclStmt] functio ... ing); } | tst.js:23:22:29:1 | [BlockStmt] { u ... ing); } | semmle.order | 5 |
|
||||
| tst.js:23:22:29:1 | [BlockStmt] { u ... ing); } | tst.js:24:5:24:17 | [ExprStmt] using("foo"); | semmle.label | 1 |
|
||||
| tst.js:23:22:29:1 | [BlockStmt] { u ... ing); } | tst.js:24:5:24:17 | [ExprStmt] using("foo"); | semmle.order | 1 |
|
||||
| tst.js:23:22:29:1 | [BlockStmt] { u ... ing); } | tst.js:25:5:27:5 | [FunctionDeclStmt] functio ... . } | semmle.label | 2 |
|
||||
| tst.js:23:22:29:1 | [BlockStmt] { u ... ing); } | tst.js:25:5:27:5 | [FunctionDeclStmt] functio ... . } | semmle.order | 2 |
|
||||
| tst.js:23:22:29:1 | [BlockStmt] { u ... ing); } | tst.js:28:5:28:17 | [ExprStmt] using(using); | semmle.label | 3 |
|
||||
| tst.js:23:22:29:1 | [BlockStmt] { u ... ing); } | tst.js:28:5:28:17 | [ExprStmt] using(using); | semmle.order | 3 |
|
||||
| tst.js:24:5:24:16 | [CallExpr] using("foo") | file://:0:0:0:0 | (Arguments) | semmle.label | 1 |
|
||||
| tst.js:24:5:24:16 | [CallExpr] using("foo") | file://:0:0:0:0 | (Arguments) | semmle.order | 1 |
|
||||
| tst.js:24:5:24:16 | [CallExpr] using("foo") | tst.js:24:5:24:9 | [VarRef] using | semmle.label | 0 |
|
||||
| tst.js:24:5:24:16 | [CallExpr] using("foo") | tst.js:24:5:24:9 | [VarRef] using | semmle.order | 0 |
|
||||
| tst.js:24:5:24:17 | [ExprStmt] using("foo"); | tst.js:24:5:24:16 | [CallExpr] using("foo") | semmle.label | 1 |
|
||||
| tst.js:24:5:24:17 | [ExprStmt] using("foo"); | tst.js:24:5:24:16 | [CallExpr] using("foo") | semmle.order | 1 |
|
||||
| tst.js:25:5:27:5 | [FunctionDeclStmt] functio ... . } | file://:0:0:0:0 | (Parameters) | semmle.label | 1 |
|
||||
| tst.js:25:5:27:5 | [FunctionDeclStmt] functio ... . } | file://:0:0:0:0 | (Parameters) | semmle.order | 1 |
|
||||
| tst.js:25:5:27:5 | [FunctionDeclStmt] functio ... . } | tst.js:25:14:25:18 | [VarDecl] using | semmle.label | 0 |
|
||||
| tst.js:25:5:27:5 | [FunctionDeclStmt] functio ... . } | tst.js:25:14:25:18 | [VarDecl] using | semmle.order | 0 |
|
||||
| tst.js:25:5:27:5 | [FunctionDeclStmt] functio ... . } | tst.js:25:25:27:5 | [BlockStmt] { ... . } | semmle.label | 5 |
|
||||
| tst.js:25:5:27:5 | [FunctionDeclStmt] functio ... . } | tst.js:25:25:27:5 | [BlockStmt] { ... . } | semmle.order | 5 |
|
||||
| tst.js:28:5:28:16 | [CallExpr] using(using) | file://:0:0:0:0 | (Arguments) | semmle.label | 1 |
|
||||
| tst.js:28:5:28:16 | [CallExpr] using(using) | file://:0:0:0:0 | (Arguments) | semmle.order | 1 |
|
||||
| tst.js:28:5:28:16 | [CallExpr] using(using) | tst.js:28:5:28:9 | [VarRef] using | semmle.label | 0 |
|
||||
| tst.js:28:5:28:16 | [CallExpr] using(using) | tst.js:28:5:28:9 | [VarRef] using | semmle.order | 0 |
|
||||
| tst.js:28:5:28:17 | [ExprStmt] using(using); | tst.js:28:5:28:16 | [CallExpr] using(using) | semmle.label | 1 |
|
||||
| tst.js:28:5:28:17 | [ExprStmt] using(using); | tst.js:28:5:28:16 | [CallExpr] using(using) | semmle.order | 1 |
|
||||
graphProperties
|
||||
| semmle.graphKind | tree |
|
||||
@@ -0,0 +1,2 @@
|
||||
import javascript
|
||||
import semmle.javascript.PrintAst
|
||||
@@ -0,0 +1,2 @@
|
||||
<%= using %>
|
||||
<!-- the above should not crash-->
|
||||
29
javascript/ql/test/library-tests/AST/ExplicitResource/tst.js
Normal file
29
javascript/ql/test/library-tests/AST/ExplicitResource/tst.js
Normal file
@@ -0,0 +1,29 @@
|
||||
function g() {
|
||||
using stream = getResource();
|
||||
|
||||
let (test = 20); // <- I didn't know this was a thing
|
||||
|
||||
for (using stream2 = getResource(); ; ) {
|
||||
// ...
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
async function h() {
|
||||
await using stream = getResource();
|
||||
|
||||
for (await using stream2 = getResource(); ; ) {
|
||||
// ...
|
||||
break;
|
||||
}
|
||||
|
||||
console.log("end");
|
||||
}
|
||||
|
||||
function usesUsing() {
|
||||
using("foo");
|
||||
function using(foo) {
|
||||
// ...
|
||||
}
|
||||
using(using);
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
import javascript
|
||||
|
||||
query predicate test_getACallee(DataFlow::InvokeNode c, Function res) { res = c.getACallee() }
|
||||
@@ -1,5 +0,0 @@
|
||||
import javascript
|
||||
|
||||
query predicate test_getAFunctionValue(DataFlow::Node node, DataFlow::FunctionNode res) {
|
||||
res = node.getAFunctionValue()
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
import javascript
|
||||
|
||||
query predicate test_getAnArgument(DataFlow::InvokeNode invk, DataFlow::Node res) {
|
||||
res = invk.getAnArgument()
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
import javascript
|
||||
|
||||
query predicate test_getArgument(DataFlow::InvokeNode invk, int i, DataFlow::Node res) {
|
||||
res = invk.getArgument(i)
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
import javascript
|
||||
|
||||
query predicate test_getCalleeName(DataFlow::InvokeNode invk, string res) {
|
||||
res = invk.getCalleeName()
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
import javascript
|
||||
|
||||
query predicate test_getCalleeNode(DataFlow::InvokeNode invk, DataFlow::Node res) {
|
||||
res = invk.getCalleeNode()
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
import javascript
|
||||
|
||||
query predicate test_getLastArgument(DataFlow::InvokeNode invk, DataFlow::Node res) {
|
||||
res = invk.getLastArgument()
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
import javascript
|
||||
|
||||
query predicate test_getNumArgument(DataFlow::InvokeNode invk, int res) {
|
||||
res = invk.getNumArgument()
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
import javascript
|
||||
|
||||
query predicate test_isImprecise(DataFlow::InvokeNode invk) { invk.isImprecise() }
|
||||
@@ -1,3 +0,0 @@
|
||||
import javascript
|
||||
|
||||
query predicate test_isIncomplete(DataFlow::InvokeNode invk) { invk.isIncomplete() }
|
||||
@@ -1,3 +0,0 @@
|
||||
import javascript
|
||||
|
||||
query predicate test_isUncertain(DataFlow::InvokeNode invk) { invk.isUncertain() }
|
||||
@@ -0,0 +1,5 @@
|
||||
function fooTag(strings, par1, par2) {
|
||||
|
||||
}
|
||||
|
||||
fooTag`hello ${arg1} world ${arg2}`
|
||||
@@ -126,6 +126,8 @@ test_getAFunctionValue
|
||||
| strict.js:1:1:8:2 | (functi ... ode.\\n}) | strict.js:1:2:8:1 | functio ... mode.\\n} |
|
||||
| strict.js:1:2:8:1 | functio ... mode.\\n} | strict.js:1:2:8:1 | functio ... mode.\\n} |
|
||||
| strict.js:3:5:5:5 | functio ... ;\\n } | strict.js:3:5:5:5 | functio ... ;\\n } |
|
||||
| taggedTemplate.js:1:1:3:1 | functio ... 2) {\\n\\n} | taggedTemplate.js:1:1:3:1 | functio ... 2) {\\n\\n} |
|
||||
| taggedTemplate.js:5:1:5:6 | fooTag | taggedTemplate.js:1:1:3:1 | functio ... 2) {\\n\\n} |
|
||||
| tst3.js:1:1:1:22 | functio ... fn() {} | tst3.js:1:1:1:22 | functio ... fn() {} |
|
||||
| tst3.js:2:1:2:23 | functio ... n2() {} | tst3.js:2:1:2:23 | functio ... n2() {} |
|
||||
| tst.js:1:1:1:15 | function f() {} | tst.js:1:1:1:15 | function f() {} |
|
||||
@@ -221,6 +223,8 @@ test_getArgument
|
||||
| reflection.js:7:1:7:22 | reflective call | 1 | reflection.js:7:20:7:21 | 19 |
|
||||
| reflection.js:8:1:8:25 | add.app ... 3, 19]) | 0 | reflection.js:8:11:8:14 | null |
|
||||
| reflection.js:8:1:8:25 | add.app ... 3, 19]) | 1 | reflection.js:8:17:8:24 | [23, 19] |
|
||||
| taggedTemplate.js:5:1:5:35 | fooTag` ... {arg2}` | 1 | taggedTemplate.js:5:16:5:19 | arg1 |
|
||||
| taggedTemplate.js:5:1:5:35 | fooTag` ... {arg2}` | 2 | taggedTemplate.js:5:30:5:33 | arg2 |
|
||||
| tst.js:22:1:22:4 | l(k) | 0 | tst.js:22:3:22:3 | k |
|
||||
| tst.js:42:2:42:29 | functio ... x; }(o) | 0 | tst.js:42:28:42:28 | o |
|
||||
test_getNumArgument
|
||||
@@ -259,6 +263,7 @@ test_getNumArgument
|
||||
| strict2.js:9:10:9:14 | foo() | 0 |
|
||||
| strict.js:1:1:8:4 | (functi ... e.\\n})() | 0 |
|
||||
| strict.js:7:10:7:14 | foo() | 0 |
|
||||
| taggedTemplate.js:5:1:5:35 | fooTag` ... {arg2}` | 3 |
|
||||
| tst.js:6:1:6:3 | f() | 0 |
|
||||
| tst.js:7:1:7:3 | g() | 0 |
|
||||
| tst.js:8:1:8:3 | h() | 0 |
|
||||
@@ -362,6 +367,7 @@ test_getCalleeNode
|
||||
| strict2.js:9:10:9:14 | foo() | strict2.js:9:10:9:12 | foo |
|
||||
| strict.js:1:1:8:4 | (functi ... e.\\n})() | strict.js:1:1:8:2 | (functi ... ode.\\n}) |
|
||||
| strict.js:7:10:7:14 | foo() | strict.js:7:10:7:12 | foo |
|
||||
| taggedTemplate.js:5:1:5:35 | fooTag` ... {arg2}` | taggedTemplate.js:5:1:5:6 | fooTag |
|
||||
| tst.js:6:1:6:3 | f() | tst.js:6:1:6:1 | f |
|
||||
| tst.js:7:1:7:3 | g() | tst.js:7:1:7:1 | g |
|
||||
| tst.js:8:1:8:3 | h() | tst.js:8:1:8:1 | h |
|
||||
@@ -400,6 +406,7 @@ test_getLastArgument
|
||||
| reflection.js:7:1:7:22 | add.cal ... 23, 19) | reflection.js:7:20:7:21 | 19 |
|
||||
| reflection.js:7:1:7:22 | reflective call | reflection.js:7:20:7:21 | 19 |
|
||||
| reflection.js:8:1:8:25 | add.app ... 3, 19]) | reflection.js:8:17:8:24 | [23, 19] |
|
||||
| taggedTemplate.js:5:1:5:35 | fooTag` ... {arg2}` | taggedTemplate.js:5:30:5:33 | arg2 |
|
||||
| tst.js:22:1:22:4 | l(k) | tst.js:22:3:22:3 | k |
|
||||
| tst.js:42:2:42:29 | functio ... x; }(o) | tst.js:42:28:42:28 | o |
|
||||
test_getAnArgument
|
||||
@@ -420,6 +427,8 @@ test_getAnArgument
|
||||
| reflection.js:7:1:7:22 | reflective call | reflection.js:7:20:7:21 | 19 |
|
||||
| reflection.js:8:1:8:25 | add.app ... 3, 19]) | reflection.js:8:11:8:14 | null |
|
||||
| reflection.js:8:1:8:25 | add.app ... 3, 19]) | reflection.js:8:17:8:24 | [23, 19] |
|
||||
| taggedTemplate.js:5:1:5:35 | fooTag` ... {arg2}` | taggedTemplate.js:5:16:5:19 | arg1 |
|
||||
| taggedTemplate.js:5:1:5:35 | fooTag` ... {arg2}` | taggedTemplate.js:5:30:5:33 | arg2 |
|
||||
| tst.js:22:1:22:4 | l(k) | tst.js:22:3:22:3 | k |
|
||||
| tst.js:42:2:42:29 | functio ... x; }(o) | tst.js:42:28:42:28 | o |
|
||||
test_getACallee
|
||||
@@ -449,6 +458,7 @@ test_getACallee
|
||||
| reflection.js:8:1:8:25 | reflective call | reflection.js:1:1:3:1 | functio ... x+y;\\n} |
|
||||
| strict2.js:2:1:10:4 | (functi ... e.\\n})() | strict2.js:2:2:10:1 | functio ... mode.\\n} |
|
||||
| strict.js:1:1:8:4 | (functi ... e.\\n})() | strict.js:1:2:8:1 | functio ... mode.\\n} |
|
||||
| taggedTemplate.js:5:1:5:35 | fooTag` ... {arg2}` | taggedTemplate.js:1:1:3:1 | functio ... 2) {\\n\\n} |
|
||||
| tst.js:6:1:6:3 | f() | tst.js:1:1:1:15 | function f() {} |
|
||||
| tst.js:7:1:7:3 | g() | tst.js:2:9:2:21 | function() {} |
|
||||
| tst.js:8:1:8:3 | h() | tst.js:3:5:3:17 | function() {} |
|
||||
@@ -509,6 +519,7 @@ test_getCalleeName
|
||||
| reflection.js:8:1:8:25 | add.app ... 3, 19]) | apply |
|
||||
| strict2.js:9:10:9:14 | foo() | foo |
|
||||
| strict.js:7:10:7:14 | foo() | foo |
|
||||
| taggedTemplate.js:5:1:5:35 | fooTag` ... {arg2}` | fooTag |
|
||||
| tst.js:6:1:6:3 | f() | f |
|
||||
| tst.js:7:1:7:3 | g() | g |
|
||||
| tst.js:8:1:8:3 | h() | h |
|
||||
|
||||
@@ -1,11 +1,37 @@
|
||||
import isUncertain
|
||||
import getAFunctionValue
|
||||
import getArgument
|
||||
import getNumArgument
|
||||
import isIncomplete
|
||||
import getCalleeNode
|
||||
import getLastArgument
|
||||
import getAnArgument
|
||||
import getACallee
|
||||
import getCalleeName
|
||||
import isImprecise
|
||||
import javascript
|
||||
|
||||
query predicate test_isUncertain(DataFlow::InvokeNode invk) { invk.isUncertain() }
|
||||
|
||||
query predicate test_getAFunctionValue(DataFlow::Node node, DataFlow::FunctionNode res) {
|
||||
res = node.getAFunctionValue()
|
||||
}
|
||||
|
||||
query predicate test_getArgument(DataFlow::InvokeNode invk, int i, DataFlow::Node res) {
|
||||
res = invk.getArgument(i)
|
||||
}
|
||||
|
||||
query predicate test_getNumArgument(DataFlow::InvokeNode invk, int res) {
|
||||
res = invk.getNumArgument()
|
||||
}
|
||||
|
||||
query predicate test_isIncomplete(DataFlow::InvokeNode invk) { invk.isIncomplete() }
|
||||
|
||||
query predicate test_getCalleeNode(DataFlow::InvokeNode invk, DataFlow::Node res) {
|
||||
res = invk.getCalleeNode()
|
||||
}
|
||||
|
||||
query predicate test_getLastArgument(DataFlow::InvokeNode invk, DataFlow::Node res) {
|
||||
res = invk.getLastArgument()
|
||||
}
|
||||
|
||||
query predicate test_getAnArgument(DataFlow::InvokeNode invk, DataFlow::Node res) {
|
||||
res = invk.getAnArgument()
|
||||
}
|
||||
|
||||
query predicate test_getACallee(DataFlow::InvokeNode c, Function res) { res = c.getACallee() }
|
||||
|
||||
query predicate test_getCalleeName(DataFlow::InvokeNode invk, string res) {
|
||||
res = invk.getCalleeName()
|
||||
}
|
||||
|
||||
query predicate test_isImprecise(DataFlow::InvokeNode invk) { invk.isImprecise() }
|
||||
|
||||
@@ -1,3 +1,89 @@
|
||||
#select
|
||||
| tst2.ts:1:13:1:21 | <number>1 |
|
||||
| tst2.ts:1:21:1:21 | 1 |
|
||||
| tst.js:1:1:1:3 | "a" |
|
||||
| tst.js:2:1:2:3 | "b" |
|
||||
| tst.js:2:1:2:9 | "b" + "c" |
|
||||
| tst.js:2:7:2:9 | "c" |
|
||||
| tst.js:3:1:3:3 | "d" |
|
||||
| tst.js:3:1:3:9 | "d" + "e" |
|
||||
| tst.js:3:1:3:15 | "d" + "e" + "f" |
|
||||
| tst.js:3:7:3:9 | "e" |
|
||||
| tst.js:3:13:3:15 | "f" |
|
||||
| tst.js:4:1:4:3 | `g` |
|
||||
| tst.js:4:1:4:9 | `g` + `h` |
|
||||
| tst.js:4:2:4:2 | g |
|
||||
| tst.js:4:7:4:9 | `h` |
|
||||
| tst.js:4:8:4:8 | h |
|
||||
| tst.js:6:1:6:1 | 1 |
|
||||
| tst.js:8:1:8:5 | false |
|
||||
| tst.js:9:1:9:4 | true |
|
||||
| tst.js:11:1:11:2 | -1 |
|
||||
| tst.js:11:2:11:2 | 1 |
|
||||
| tst.js:12:1:12:2 | !0 |
|
||||
| tst.js:12:2:12:2 | 0 |
|
||||
| tst.js:14:1:14:4 | null |
|
||||
| tst.js:16:1:16:9 | undefined |
|
||||
| tst.js:24:2:24:9 | `${"x"}` |
|
||||
| tst.js:24:5:24:7 | "x" |
|
||||
| tst.js:26:1:26:3 | !!0 |
|
||||
| tst.js:26:2:26:3 | !0 |
|
||||
| tst.js:26:3:26:3 | 0 |
|
||||
| tst.js:27:1:27:4 | !!`` |
|
||||
| tst.js:27:2:27:4 | !`` |
|
||||
| tst.js:27:3:27:4 | `` |
|
||||
| tst.js:29:1:29:6 | void 0 |
|
||||
| tst.js:29:6:29:6 | 0 |
|
||||
| tst.js:30:1:30:8 | void f() |
|
||||
| tst.js:32:1:32:3 | NaN |
|
||||
| tst.js:33:1:33:8 | Infinity |
|
||||
| tst.js:35:1:35:1 | 1 |
|
||||
| tst.js:35:1:35:5 | 1 + 2 |
|
||||
| tst.js:35:1:35:9 | 1 + 2 + 3 |
|
||||
| tst.js:35:5:35:5 | 2 |
|
||||
| tst.js:35:9:35:9 | 3 |
|
||||
| tst.js:37:1:37:3 | (1) |
|
||||
| tst.js:37:2:37:2 | 1 |
|
||||
| tst.js:39:1:39:4 | f, 1 |
|
||||
| tst.js:39:4:39:4 | 1 |
|
||||
| tst.js:40:1:40:1 | 1 |
|
||||
| tst.js:42:1:42:1 | 1 |
|
||||
| tst.js:42:1:42:7 | 1? 2: 3 |
|
||||
| tst.js:42:4:42:4 | 2 |
|
||||
| tst.js:42:7:42:7 | 3 |
|
||||
| tst.js:43:4:43:4 | 2 |
|
||||
| tst.js:43:7:43:7 | 3 |
|
||||
| tst.js:44:1:44:1 | 1 |
|
||||
| tst.js:44:7:44:7 | 3 |
|
||||
| tst.js:45:1:45:1 | 1 |
|
||||
| tst.js:45:4:45:4 | 2 |
|
||||
| tst.js:47:1:47:5 | x = 1 |
|
||||
| tst.js:47:5:47:5 | 1 |
|
||||
| tst.js:48:1:48:7 | x.p = 1 |
|
||||
| tst.js:48:7:48:7 | 1 |
|
||||
| tst.js:49:6:49:6 | 1 |
|
||||
| tst.js:52:1:52:9 | x = 1_000 |
|
||||
| tst.js:52:5:52:9 | 1_000 |
|
||||
| tst.js:53:1:53:13 | x = 1_000_123 |
|
||||
| tst.js:53:5:53:13 | 1_000_123 |
|
||||
| tst.js:54:1:54:17 | x = 1_000_000_000 |
|
||||
| tst.js:54:5:54:17 | 1_000_000_000 |
|
||||
| tst.js:55:1:55:18 | x = 101_475_938.38 |
|
||||
| tst.js:55:5:55:18 | 101_475_938.38 |
|
||||
| tst.js:56:1:56:10 | x = 123_00 |
|
||||
| tst.js:56:5:56:10 | 123_00 |
|
||||
| tst.js:57:1:57:10 | x = 12_300 |
|
||||
| tst.js:57:5:57:10 | 12_300 |
|
||||
| tst.js:58:1:58:12 | x = 12345_00 |
|
||||
| tst.js:58:5:58:12 | 12345_00 |
|
||||
| tst.js:59:1:59:12 | x = 123_4500 |
|
||||
| tst.js:59:5:59:12 | 123_4500 |
|
||||
| tst.js:60:1:60:13 | x = 1_234_500 |
|
||||
| tst.js:60:5:60:13 | 1_234_500 |
|
||||
| tst.js:61:1:61:10 | x = 1e1_00 |
|
||||
| tst.js:61:5:61:10 | 1e1_00 |
|
||||
| tst.js:62:1:62:14 | x = 0xaa_bb_cc |
|
||||
| tst.js:62:5:62:14 | 0xaa_bb_cc |
|
||||
getIntValue
|
||||
| tst2.ts:1:21:1:21 | 1 | 1 |
|
||||
| tst.js:6:1:6:1 | 1 | 1 |
|
||||
@@ -117,89 +203,3 @@ getLiteralValue
|
||||
| tst.js:60:5:60:13 | 1_234_500 | 1234500 |
|
||||
| tst.js:61:5:61:10 | 1e1_00 | 1.0E100 |
|
||||
| tst.js:62:5:62:14 | 0xaa_bb_cc | 11189196 |
|
||||
#select
|
||||
| tst2.ts:1:13:1:21 | <number>1 |
|
||||
| tst2.ts:1:21:1:21 | 1 |
|
||||
| tst.js:1:1:1:3 | "a" |
|
||||
| tst.js:2:1:2:3 | "b" |
|
||||
| tst.js:2:1:2:9 | "b" + "c" |
|
||||
| tst.js:2:7:2:9 | "c" |
|
||||
| tst.js:3:1:3:3 | "d" |
|
||||
| tst.js:3:1:3:9 | "d" + "e" |
|
||||
| tst.js:3:1:3:15 | "d" + "e" + "f" |
|
||||
| tst.js:3:7:3:9 | "e" |
|
||||
| tst.js:3:13:3:15 | "f" |
|
||||
| tst.js:4:1:4:3 | `g` |
|
||||
| tst.js:4:1:4:9 | `g` + `h` |
|
||||
| tst.js:4:2:4:2 | g |
|
||||
| tst.js:4:7:4:9 | `h` |
|
||||
| tst.js:4:8:4:8 | h |
|
||||
| tst.js:6:1:6:1 | 1 |
|
||||
| tst.js:8:1:8:5 | false |
|
||||
| tst.js:9:1:9:4 | true |
|
||||
| tst.js:11:1:11:2 | -1 |
|
||||
| tst.js:11:2:11:2 | 1 |
|
||||
| tst.js:12:1:12:2 | !0 |
|
||||
| tst.js:12:2:12:2 | 0 |
|
||||
| tst.js:14:1:14:4 | null |
|
||||
| tst.js:16:1:16:9 | undefined |
|
||||
| tst.js:24:2:24:9 | `${"x"}` |
|
||||
| tst.js:24:5:24:7 | "x" |
|
||||
| tst.js:26:1:26:3 | !!0 |
|
||||
| tst.js:26:2:26:3 | !0 |
|
||||
| tst.js:26:3:26:3 | 0 |
|
||||
| tst.js:27:1:27:4 | !!`` |
|
||||
| tst.js:27:2:27:4 | !`` |
|
||||
| tst.js:27:3:27:4 | `` |
|
||||
| tst.js:29:1:29:6 | void 0 |
|
||||
| tst.js:29:6:29:6 | 0 |
|
||||
| tst.js:30:1:30:8 | void f() |
|
||||
| tst.js:32:1:32:3 | NaN |
|
||||
| tst.js:33:1:33:8 | Infinity |
|
||||
| tst.js:35:1:35:1 | 1 |
|
||||
| tst.js:35:1:35:5 | 1 + 2 |
|
||||
| tst.js:35:1:35:9 | 1 + 2 + 3 |
|
||||
| tst.js:35:5:35:5 | 2 |
|
||||
| tst.js:35:9:35:9 | 3 |
|
||||
| tst.js:37:1:37:3 | (1) |
|
||||
| tst.js:37:2:37:2 | 1 |
|
||||
| tst.js:39:1:39:4 | f, 1 |
|
||||
| tst.js:39:4:39:4 | 1 |
|
||||
| tst.js:40:1:40:1 | 1 |
|
||||
| tst.js:42:1:42:1 | 1 |
|
||||
| tst.js:42:1:42:7 | 1? 2: 3 |
|
||||
| tst.js:42:4:42:4 | 2 |
|
||||
| tst.js:42:7:42:7 | 3 |
|
||||
| tst.js:43:4:43:4 | 2 |
|
||||
| tst.js:43:7:43:7 | 3 |
|
||||
| tst.js:44:1:44:1 | 1 |
|
||||
| tst.js:44:7:44:7 | 3 |
|
||||
| tst.js:45:1:45:1 | 1 |
|
||||
| tst.js:45:4:45:4 | 2 |
|
||||
| tst.js:47:1:47:5 | x = 1 |
|
||||
| tst.js:47:5:47:5 | 1 |
|
||||
| tst.js:48:1:48:7 | x.p = 1 |
|
||||
| tst.js:48:7:48:7 | 1 |
|
||||
| tst.js:49:6:49:6 | 1 |
|
||||
| tst.js:52:1:52:9 | x = 1_000 |
|
||||
| tst.js:52:5:52:9 | 1_000 |
|
||||
| tst.js:53:1:53:13 | x = 1_000_123 |
|
||||
| tst.js:53:5:53:13 | 1_000_123 |
|
||||
| tst.js:54:1:54:17 | x = 1_000_000_000 |
|
||||
| tst.js:54:5:54:17 | 1_000_000_000 |
|
||||
| tst.js:55:1:55:18 | x = 101_475_938.38 |
|
||||
| tst.js:55:5:55:18 | 101_475_938.38 |
|
||||
| tst.js:56:1:56:10 | x = 123_00 |
|
||||
| tst.js:56:5:56:10 | 123_00 |
|
||||
| tst.js:57:1:57:10 | x = 12_300 |
|
||||
| tst.js:57:5:57:10 | 12_300 |
|
||||
| tst.js:58:1:58:12 | x = 12345_00 |
|
||||
| tst.js:58:5:58:12 | 12345_00 |
|
||||
| tst.js:59:1:59:12 | x = 123_4500 |
|
||||
| tst.js:59:5:59:12 | 123_4500 |
|
||||
| tst.js:60:1:60:13 | x = 1_234_500 |
|
||||
| tst.js:60:5:60:13 | 1_234_500 |
|
||||
| tst.js:61:1:61:10 | x = 1e1_00 |
|
||||
| tst.js:61:5:61:10 | 1e1_00 |
|
||||
| tst.js:62:1:62:14 | x = 0xaa_bb_cc |
|
||||
| tst.js:62:5:62:14 | 0xaa_bb_cc |
|
||||
|
||||
@@ -1,87 +1,3 @@
|
||||
test_AttributeDefinition
|
||||
| event-handler-receiver.html:4:11:4:40 | onclick=alert(this.tagName); |
|
||||
| tst.html:3:6:3:30 | href=https://semmle.com |
|
||||
| tst.html:3:32:3:46 | target=_blank |
|
||||
| tst.js:2:22:2:37 | target: "_blank" |
|
||||
| tst.js:3:11:3:66 | $("<a/> ... e.com") |
|
||||
| tst.js:4:3:4:27 | a.attr( ... pener") |
|
||||
| tst.js:6:5:6:24 | "data-bind": "stuff" |
|
||||
| tst.js:8:3:8:29 | a.prop( ... errer") |
|
||||
| tst.js:10:5:10:29 | "data-b ... rstuff" |
|
||||
| tst.js:12:3:12:41 | $.attr( ... errer") |
|
||||
| tst.js:13:3:13:28 | $.prop( ... d", "") |
|
||||
| tst.jsx:4:14:4:38 | href="h ... le.com" |
|
||||
| tst.jsx:4:40:4:48 | rel={rel} |
|
||||
| tst.jsx:4:50:4:64 | {...otherAttrs} |
|
||||
test_ElementDefinition_getAttribute
|
||||
| event-handler-receiver.html:4:3:4:58 | <button>...</> | 0 | event-handler-receiver.html:4:11:4:40 | onclick=alert(this.tagName); |
|
||||
| tst.html:3:3:3:57 | <a>...</> | 0 | tst.html:3:6:3:30 | href=https://semmle.com |
|
||||
| tst.html:3:3:3:57 | <a>...</> | 1 | tst.html:3:32:3:46 | target=_blank |
|
||||
| tst.jsx:4:11:4:75 | <a href ... mle</a> | 0 | tst.jsx:4:14:4:38 | href="h ... le.com" |
|
||||
| tst.jsx:4:11:4:75 | <a href ... mle</a> | 1 | tst.jsx:4:40:4:48 | rel={rel} |
|
||||
| tst.jsx:4:11:4:75 | <a href ... mle</a> | 2 | tst.jsx:4:50:4:64 | {...otherAttrs} |
|
||||
test_ElementDefinition_getRoot
|
||||
| event-handler-receiver.html:1:1:6:7 | <html>...</> | event-handler-receiver.html:1:1:6:7 | <html>...</> |
|
||||
| event-handler-receiver.html:2:1:2:13 | <head>...</> | event-handler-receiver.html:1:1:6:7 | <html>...</> |
|
||||
| event-handler-receiver.html:3:1:5:7 | <body>...</> | event-handler-receiver.html:1:1:6:7 | <html>...</> |
|
||||
| event-handler-receiver.html:4:3:4:58 | <button>...</> | event-handler-receiver.html:1:1:6:7 | <html>...</> |
|
||||
| tst.html:1:1:5:7 | <html>...</> | tst.html:1:1:5:7 | <html>...</> |
|
||||
| tst.html:2:1:4:7 | <body>...</> | tst.html:1:1:5:7 | <html>...</> |
|
||||
| tst.html:3:3:3:57 | <a>...</> | tst.html:1:1:5:7 | <html>...</> |
|
||||
| tst.js:3:11:3:31 | $("<a/> ... rAttrs) | tst.js:3:11:3:31 | $("<a/> ... rAttrs) |
|
||||
| tst.js:23:5:23:30 | React.c ... ('div') | tst.js:23:5:23:30 | React.c ... ('div') |
|
||||
| tst.js:24:5:24:55 | React.c ... , null) | tst.js:24:5:24:55 | React.c ... , null) |
|
||||
| tst.js:27:5:27:14 | factory1() | tst.js:27:5:27:14 | factory1() |
|
||||
| tst.js:31:20:31:55 | <div>He ... }</div> | tst.js:31:20:31:55 | <div>He ... }</div> |
|
||||
| tst.js:36:5:36:55 | React.c ... , null) | tst.js:36:5:36:55 | React.c ... , null) |
|
||||
| tst.js:39:5:39:14 | factory2() | tst.js:39:5:39:14 | factory2() |
|
||||
| tst.jsx:4:11:4:75 | <a href ... mle</a> | tst.jsx:4:11:4:75 | <a href ... mle</a> |
|
||||
test_WebStorageWrite
|
||||
| tst.js:15:22:15:28 | "value" |
|
||||
| tst.js:16:31:16:37 | "value" |
|
||||
| tst.js:17:24:17:30 | "value" |
|
||||
| tst.js:18:33:18:39 | "value" |
|
||||
test_ElementDefinition_getAttributeByName
|
||||
| event-handler-receiver.html:4:3:4:58 | <button>...</> | onclick | event-handler-receiver.html:4:11:4:40 | onclick=alert(this.tagName); |
|
||||
| tst.html:3:3:3:57 | <a>...</> | href | tst.html:3:6:3:30 | href=https://semmle.com |
|
||||
| tst.html:3:3:3:57 | <a>...</> | target | tst.html:3:32:3:46 | target=_blank |
|
||||
| tst.js:3:11:3:31 | $("<a/> ... rAttrs) | data-bind | tst.js:6:5:6:24 | "data-bind": "stuff" |
|
||||
| tst.js:3:11:3:31 | $("<a/> ... rAttrs) | data-bind | tst.js:10:5:10:29 | "data-b ... rstuff" |
|
||||
| tst.js:3:11:3:31 | $("<a/> ... rAttrs) | data-bind | tst.js:13:3:13:28 | $.prop( ... d", "") |
|
||||
| tst.js:3:11:3:31 | $("<a/> ... rAttrs) | href | tst.js:3:11:3:66 | $("<a/> ... e.com") |
|
||||
| tst.js:3:11:3:31 | $("<a/> ... rAttrs) | rel | tst.js:4:3:4:27 | a.attr( ... pener") |
|
||||
| tst.js:3:11:3:31 | $("<a/> ... rAttrs) | rel | tst.js:8:3:8:29 | a.prop( ... errer") |
|
||||
| tst.js:3:11:3:31 | $("<a/> ... rAttrs) | rel | tst.js:12:3:12:41 | $.attr( ... errer") |
|
||||
| tst.js:3:11:3:31 | $("<a/> ... rAttrs) | target | tst.js:2:22:2:37 | target: "_blank" |
|
||||
| tst.jsx:4:11:4:75 | <a href ... mle</a> | href | tst.jsx:4:14:4:38 | href="h ... le.com" |
|
||||
| tst.jsx:4:11:4:75 | <a href ... mle</a> | rel | tst.jsx:4:40:4:48 | rel={rel} |
|
||||
test_AttributeDefinition_getStringValue
|
||||
| event-handler-receiver.html:4:11:4:40 | onclick=alert(this.tagName); | alert(this.tagName); |
|
||||
| tst.html:3:6:3:30 | href=https://semmle.com | https://semmle.com |
|
||||
| tst.html:3:32:3:46 | target=_blank | _blank |
|
||||
| tst.js:2:22:2:37 | target: "_blank" | _blank |
|
||||
| tst.js:3:11:3:66 | $("<a/> ... e.com") | https://semmle.com |
|
||||
| tst.js:4:3:4:27 | a.attr( ... pener") | noopener |
|
||||
| tst.js:6:5:6:24 | "data-bind": "stuff" | stuff |
|
||||
| tst.js:8:3:8:29 | a.prop( ... errer") | noreferrer |
|
||||
| tst.js:10:5:10:29 | "data-b ... rstuff" | otherstuff |
|
||||
| tst.js:12:3:12:41 | $.attr( ... errer") | noopener noreferrer |
|
||||
| tst.js:13:3:13:28 | $.prop( ... d", "") | |
|
||||
| tst.jsx:4:14:4:38 | href="h ... le.com" | https://semmle.com |
|
||||
test_AttributeDefinition_getName
|
||||
| event-handler-receiver.html:4:11:4:40 | onclick=alert(this.tagName); | onclick |
|
||||
| tst.html:3:6:3:30 | href=https://semmle.com | href |
|
||||
| tst.html:3:32:3:46 | target=_blank | target |
|
||||
| tst.js:2:22:2:37 | target: "_blank" | target |
|
||||
| tst.js:3:11:3:66 | $("<a/> ... e.com") | href |
|
||||
| tst.js:4:3:4:27 | a.attr( ... pener") | rel |
|
||||
| tst.js:6:5:6:24 | "data-bind": "stuff" | data-bind |
|
||||
| tst.js:8:3:8:29 | a.prop( ... errer") | rel |
|
||||
| tst.js:10:5:10:29 | "data-b ... rstuff" | data-bind |
|
||||
| tst.js:12:3:12:41 | $.attr( ... errer") | rel |
|
||||
| tst.js:13:3:13:28 | $.prop( ... d", "") | data-bind |
|
||||
| tst.jsx:4:14:4:38 | href="h ... le.com" | href |
|
||||
| tst.jsx:4:40:4:48 | rel={rel} | rel |
|
||||
test_Element
|
||||
| event-handler-receiver.html:1:1:6:7 | <html>...</> | event-handler-receiver.html:1:1:6:7 | <html>...</> |
|
||||
| event-handler-receiver.html:2:1:2:13 | <head>...</> | event-handler-receiver.html:2:1:2:13 | <head>...</> |
|
||||
@@ -110,18 +26,11 @@ test_Element
|
||||
| tst.js:39:5:39:14 | factory2() | tst.js:39:5:39:14 | factory2() |
|
||||
| tst.jsx:4:11:4:75 | <a href ... mle</a> | tst.jsx:4:11:4:75 | <a href ... mle</a> |
|
||||
| tst.jsx:5:3:5:3 | a | tst.jsx:4:11:4:75 | <a href ... mle</a> |
|
||||
test_AttributeDefinition_getValueNode
|
||||
| tst.js:2:22:2:37 | target: "_blank" | tst.js:2:30:2:37 | "_blank" |
|
||||
| tst.js:3:11:3:66 | $("<a/> ... e.com") | tst.js:3:46:3:65 | "https://semmle.com" |
|
||||
| tst.js:4:3:4:27 | a.attr( ... pener") | tst.js:4:17:4:26 | "noopener" |
|
||||
| tst.js:6:5:6:24 | "data-bind": "stuff" | tst.js:6:18:6:24 | "stuff" |
|
||||
| tst.js:8:3:8:29 | a.prop( ... errer") | tst.js:8:17:8:28 | "noreferrer" |
|
||||
| tst.js:10:5:10:29 | "data-b ... rstuff" | tst.js:10:18:10:29 | "otherstuff" |
|
||||
| tst.js:12:3:12:41 | $.attr( ... errer") | tst.js:12:20:12:40 | "noopen ... ferrer" |
|
||||
| tst.js:13:3:13:28 | $.prop( ... d", "") | tst.js:13:26:13:27 | "" |
|
||||
| tst.jsx:4:14:4:38 | href="h ... le.com" | tst.jsx:4:19:4:38 | "https://semmle.com" |
|
||||
| tst.jsx:4:40:4:48 | rel={rel} | tst.jsx:4:45:4:47 | rel |
|
||||
| tst.jsx:4:50:4:64 | {...otherAttrs} | tst.jsx:4:50:4:64 | ...otherAttrs |
|
||||
test_WebStorageWrite
|
||||
| tst.js:15:22:15:28 | "value" |
|
||||
| tst.js:16:31:16:37 | "value" |
|
||||
| tst.js:17:24:17:30 | "value" |
|
||||
| tst.js:18:33:18:39 | "value" |
|
||||
test_ElementDefinition
|
||||
| event-handler-receiver.html:1:1:6:7 | <html>...</> | html |
|
||||
| event-handler-receiver.html:2:1:2:13 | <head>...</> | head |
|
||||
@@ -136,3 +45,94 @@ test_ElementDefinition
|
||||
| tst.js:27:5:27:14 | factory1() | div |
|
||||
| tst.js:31:20:31:55 | <div>He ... }</div> | div |
|
||||
| tst.jsx:4:11:4:75 | <a href ... mle</a> | a |
|
||||
test_AttributeDefinition
|
||||
| event-handler-receiver.html:4:11:4:40 | onclick=alert(this.tagName); |
|
||||
| tst.html:3:6:3:30 | href=https://semmle.com |
|
||||
| tst.html:3:32:3:46 | target=_blank |
|
||||
| tst.js:2:22:2:37 | target: "_blank" |
|
||||
| tst.js:3:11:3:66 | $("<a/> ... e.com") |
|
||||
| tst.js:4:3:4:27 | a.attr( ... pener") |
|
||||
| tst.js:6:5:6:24 | "data-bind": "stuff" |
|
||||
| tst.js:8:3:8:29 | a.prop( ... errer") |
|
||||
| tst.js:10:5:10:29 | "data-b ... rstuff" |
|
||||
| tst.js:12:3:12:41 | $.attr( ... errer") |
|
||||
| tst.js:13:3:13:28 | $.prop( ... d", "") |
|
||||
| tst.jsx:4:14:4:38 | href="h ... le.com" |
|
||||
| tst.jsx:4:40:4:48 | rel={rel} |
|
||||
| tst.jsx:4:50:4:64 | {...otherAttrs} |
|
||||
test_ElementDefinition_getRoot
|
||||
| event-handler-receiver.html:1:1:6:7 | <html>...</> | event-handler-receiver.html:1:1:6:7 | <html>...</> |
|
||||
| event-handler-receiver.html:2:1:2:13 | <head>...</> | event-handler-receiver.html:1:1:6:7 | <html>...</> |
|
||||
| event-handler-receiver.html:3:1:5:7 | <body>...</> | event-handler-receiver.html:1:1:6:7 | <html>...</> |
|
||||
| event-handler-receiver.html:4:3:4:58 | <button>...</> | event-handler-receiver.html:1:1:6:7 | <html>...</> |
|
||||
| tst.html:1:1:5:7 | <html>...</> | tst.html:1:1:5:7 | <html>...</> |
|
||||
| tst.html:2:1:4:7 | <body>...</> | tst.html:1:1:5:7 | <html>...</> |
|
||||
| tst.html:3:3:3:57 | <a>...</> | tst.html:1:1:5:7 | <html>...</> |
|
||||
| tst.js:3:11:3:31 | $("<a/> ... rAttrs) | tst.js:3:11:3:31 | $("<a/> ... rAttrs) |
|
||||
| tst.js:23:5:23:30 | React.c ... ('div') | tst.js:23:5:23:30 | React.c ... ('div') |
|
||||
| tst.js:24:5:24:55 | React.c ... , null) | tst.js:24:5:24:55 | React.c ... , null) |
|
||||
| tst.js:27:5:27:14 | factory1() | tst.js:27:5:27:14 | factory1() |
|
||||
| tst.js:31:20:31:55 | <div>He ... }</div> | tst.js:31:20:31:55 | <div>He ... }</div> |
|
||||
| tst.js:36:5:36:55 | React.c ... , null) | tst.js:36:5:36:55 | React.c ... , null) |
|
||||
| tst.js:39:5:39:14 | factory2() | tst.js:39:5:39:14 | factory2() |
|
||||
| tst.jsx:4:11:4:75 | <a href ... mle</a> | tst.jsx:4:11:4:75 | <a href ... mle</a> |
|
||||
test_AttributeDefinition_getName
|
||||
| event-handler-receiver.html:4:11:4:40 | onclick=alert(this.tagName); | onclick |
|
||||
| tst.html:3:6:3:30 | href=https://semmle.com | href |
|
||||
| tst.html:3:32:3:46 | target=_blank | target |
|
||||
| tst.js:2:22:2:37 | target: "_blank" | target |
|
||||
| tst.js:3:11:3:66 | $("<a/> ... e.com") | href |
|
||||
| tst.js:4:3:4:27 | a.attr( ... pener") | rel |
|
||||
| tst.js:6:5:6:24 | "data-bind": "stuff" | data-bind |
|
||||
| tst.js:8:3:8:29 | a.prop( ... errer") | rel |
|
||||
| tst.js:10:5:10:29 | "data-b ... rstuff" | data-bind |
|
||||
| tst.js:12:3:12:41 | $.attr( ... errer") | rel |
|
||||
| tst.js:13:3:13:28 | $.prop( ... d", "") | data-bind |
|
||||
| tst.jsx:4:14:4:38 | href="h ... le.com" | href |
|
||||
| tst.jsx:4:40:4:48 | rel={rel} | rel |
|
||||
test_ElementDefinition_getAttribute
|
||||
| event-handler-receiver.html:4:3:4:58 | <button>...</> | 0 | event-handler-receiver.html:4:11:4:40 | onclick=alert(this.tagName); |
|
||||
| tst.html:3:3:3:57 | <a>...</> | 0 | tst.html:3:6:3:30 | href=https://semmle.com |
|
||||
| tst.html:3:3:3:57 | <a>...</> | 1 | tst.html:3:32:3:46 | target=_blank |
|
||||
| tst.jsx:4:11:4:75 | <a href ... mle</a> | 0 | tst.jsx:4:14:4:38 | href="h ... le.com" |
|
||||
| tst.jsx:4:11:4:75 | <a href ... mle</a> | 1 | tst.jsx:4:40:4:48 | rel={rel} |
|
||||
| tst.jsx:4:11:4:75 | <a href ... mle</a> | 2 | tst.jsx:4:50:4:64 | {...otherAttrs} |
|
||||
test_AttributeDefinition_getValueNode
|
||||
| tst.js:2:22:2:37 | target: "_blank" | tst.js:2:30:2:37 | "_blank" |
|
||||
| tst.js:3:11:3:66 | $("<a/> ... e.com") | tst.js:3:46:3:65 | "https://semmle.com" |
|
||||
| tst.js:4:3:4:27 | a.attr( ... pener") | tst.js:4:17:4:26 | "noopener" |
|
||||
| tst.js:6:5:6:24 | "data-bind": "stuff" | tst.js:6:18:6:24 | "stuff" |
|
||||
| tst.js:8:3:8:29 | a.prop( ... errer") | tst.js:8:17:8:28 | "noreferrer" |
|
||||
| tst.js:10:5:10:29 | "data-b ... rstuff" | tst.js:10:18:10:29 | "otherstuff" |
|
||||
| tst.js:12:3:12:41 | $.attr( ... errer") | tst.js:12:20:12:40 | "noopen ... ferrer" |
|
||||
| tst.js:13:3:13:28 | $.prop( ... d", "") | tst.js:13:26:13:27 | "" |
|
||||
| tst.jsx:4:14:4:38 | href="h ... le.com" | tst.jsx:4:19:4:38 | "https://semmle.com" |
|
||||
| tst.jsx:4:40:4:48 | rel={rel} | tst.jsx:4:45:4:47 | rel |
|
||||
| tst.jsx:4:50:4:64 | {...otherAttrs} | tst.jsx:4:50:4:64 | ...otherAttrs |
|
||||
test_AttributeDefinition_getStringValue
|
||||
| event-handler-receiver.html:4:11:4:40 | onclick=alert(this.tagName); | alert(this.tagName); |
|
||||
| tst.html:3:6:3:30 | href=https://semmle.com | https://semmle.com |
|
||||
| tst.html:3:32:3:46 | target=_blank | _blank |
|
||||
| tst.js:2:22:2:37 | target: "_blank" | _blank |
|
||||
| tst.js:3:11:3:66 | $("<a/> ... e.com") | https://semmle.com |
|
||||
| tst.js:4:3:4:27 | a.attr( ... pener") | noopener |
|
||||
| tst.js:6:5:6:24 | "data-bind": "stuff" | stuff |
|
||||
| tst.js:8:3:8:29 | a.prop( ... errer") | noreferrer |
|
||||
| tst.js:10:5:10:29 | "data-b ... rstuff" | otherstuff |
|
||||
| tst.js:12:3:12:41 | $.attr( ... errer") | noopener noreferrer |
|
||||
| tst.js:13:3:13:28 | $.prop( ... d", "") | |
|
||||
| tst.jsx:4:14:4:38 | href="h ... le.com" | https://semmle.com |
|
||||
test_ElementDefinition_getAttributeByName
|
||||
| event-handler-receiver.html:4:3:4:58 | <button>...</> | onclick | event-handler-receiver.html:4:11:4:40 | onclick=alert(this.tagName); |
|
||||
| tst.html:3:3:3:57 | <a>...</> | href | tst.html:3:6:3:30 | href=https://semmle.com |
|
||||
| tst.html:3:3:3:57 | <a>...</> | target | tst.html:3:32:3:46 | target=_blank |
|
||||
| tst.js:3:11:3:31 | $("<a/> ... rAttrs) | data-bind | tst.js:6:5:6:24 | "data-bind": "stuff" |
|
||||
| tst.js:3:11:3:31 | $("<a/> ... rAttrs) | data-bind | tst.js:10:5:10:29 | "data-b ... rstuff" |
|
||||
| tst.js:3:11:3:31 | $("<a/> ... rAttrs) | data-bind | tst.js:13:3:13:28 | $.prop( ... d", "") |
|
||||
| tst.js:3:11:3:31 | $("<a/> ... rAttrs) | href | tst.js:3:11:3:66 | $("<a/> ... e.com") |
|
||||
| tst.js:3:11:3:31 | $("<a/> ... rAttrs) | rel | tst.js:4:3:4:27 | a.attr( ... pener") |
|
||||
| tst.js:3:11:3:31 | $("<a/> ... rAttrs) | rel | tst.js:8:3:8:29 | a.prop( ... errer") |
|
||||
| tst.js:3:11:3:31 | $("<a/> ... rAttrs) | rel | tst.js:12:3:12:41 | $.attr( ... errer") |
|
||||
| tst.js:3:11:3:31 | $("<a/> ... rAttrs) | target | tst.js:2:22:2:37 | target: "_blank" |
|
||||
| tst.jsx:4:11:4:75 | <a href ... mle</a> | href | tst.jsx:4:14:4:38 | href="h ... le.com" |
|
||||
| tst.jsx:4:11:4:75 | <a href ... mle</a> | rel | tst.jsx:4:40:4:48 | rel={rel} |
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import javascript
|
||||
import semmle.javascript.dependencies.Dependencies
|
||||
import semmle.javascript.dependencies.SemVer
|
||||
|
||||
class SampleVersionSink extends DataFlow::Node {
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,11 +1,53 @@
|
||||
test_getVariable
|
||||
test_getId
|
||||
| defaultargs.js:1:1:1:24 | functio ... +19) {} | defaultargs.js:1:10:1:10 | f | f |
|
||||
| generators.js:1:1:4:1 | functio ... i++;\\n} | generators.js:1:11:1:13 | foo | foo |
|
||||
| generators.js:6:2:6:19 | function* bar() {} | generators.js:6:12:6:14 | bar | bar |
|
||||
| restparms.js:1:1:2:1 | functio ... ys) {\\n} | restparms.js:1:10:1:10 | r | r |
|
||||
| tst.js:1:1:1:15 | function A() {} | tst.js:1:10:1:10 | A | A |
|
||||
| tst.js:2:1:2:16 | function B(x) {} | tst.js:2:10:2:10 | B | B |
|
||||
| tst.js:3:1:3:19 | function C(x, y) {} | tst.js:3:10:3:10 | C | C |
|
||||
| tst.js:7:9:7:23 | function h() {} | tst.js:7:18:7:18 | h | h |
|
||||
| tst.js:9:1:9:24 | functio ... nts) {} | tst.js:9:10:9:10 | k | k |
|
||||
| tst.js:10:1:10:31 | functio ... ents; } | tst.js:10:10:10:10 | l | l |
|
||||
| tst.js:11:1:11:35 | functio ... ts; } } | tst.js:11:10:11:10 | m | m |
|
||||
| tst.js:12:1:12:44 | functio ... s) {} } | tst.js:12:10:12:10 | n | n |
|
||||
| tst.js:14:1:14:37 | functio ... s[0]; } | tst.js:14:10:14:10 | p | p |
|
||||
test_getBody
|
||||
| arrowfns.js:1:24:1:36 | s => s.length | arrowfns.js:1:29:1:36 | s.length |
|
||||
| arrowfns.js:2:13:2:23 | () => ++cnt | arrowfns.js:2:19:2:23 | ++cnt |
|
||||
| arrowfns.js:3:12:3:41 | () => { ... "); ; } | arrowfns.js:3:18:3:41 | { alert ... "); ; } |
|
||||
| defaultargs.js:1:1:1:24 | functio ... +19) {} | defaultargs.js:1:23:1:24 | {} |
|
||||
| exprclosures.js:1:7:1:21 | function(x) x+1 | exprclosures.js:1:19:1:21 | x+1 |
|
||||
| generators.js:1:1:4:1 | functio ... i++;\\n} | generators.js:1:16:4:1 | {\\n for ... i++;\\n} |
|
||||
| generators.js:6:2:6:19 | function* bar() {} | generators.js:6:18:6:19 | {} |
|
||||
| restparms.js:1:1:2:1 | functio ... ys) {\\n} | restparms.js:1:22:2:1 | {\\n} |
|
||||
| tst.js:1:1:1:15 | function A() {} | tst.js:1:14:1:15 | {} |
|
||||
| tst.js:2:1:2:16 | function B(x) {} | tst.js:2:15:2:16 | {} |
|
||||
| tst.js:3:1:3:19 | function C(x, y) {} | tst.js:3:18:3:19 | {} |
|
||||
| tst.js:4:9:4:21 | function() {} | tst.js:4:20:4:21 | {} |
|
||||
| tst.js:5:2:5:15 | function(x) {} | tst.js:5:14:5:15 | {} |
|
||||
| tst.js:6:2:6:18 | function(x, y) {} | tst.js:6:17:6:18 | {} |
|
||||
| tst.js:7:9:7:23 | function h() {} | tst.js:7:22:7:23 | {} |
|
||||
| tst.js:9:1:9:24 | functio ... nts) {} | tst.js:9:23:9:24 | {} |
|
||||
| tst.js:10:1:10:31 | functio ... ents; } | tst.js:10:14:10:31 | { var arguments; } |
|
||||
| tst.js:11:1:11:35 | functio ... ts; } } | tst.js:11:14:11:35 | { { var ... ts; } } |
|
||||
| tst.js:12:1:12:44 | functio ... s) {} } | tst.js:12:14:12:44 | { try { ... s) {} } |
|
||||
| tst.js:14:1:14:37 | functio ... s[0]; } | tst.js:14:14:14:37 | { retur ... s[0]; } |
|
||||
test_Function
|
||||
| arrowfns.js:1:24:1:36 | s => s.length |
|
||||
| arrowfns.js:2:13:2:23 | () => ++cnt |
|
||||
| arrowfns.js:3:12:3:41 | () => { ... "); ; } |
|
||||
| defaultargs.js:1:1:1:24 | functio ... +19) {} |
|
||||
| exprclosures.js:1:7:1:21 | function(x) x+1 |
|
||||
| generators.js:1:1:4:1 | functio ... i++;\\n} |
|
||||
| generators.js:6:2:6:19 | function* bar() {} |
|
||||
| restparms.js:1:1:2:1 | functio ... ys) {\\n} |
|
||||
| tst.js:1:1:1:15 | function A() {} |
|
||||
| tst.js:2:1:2:16 | function B(x) {} |
|
||||
| tst.js:3:1:3:19 | function C(x, y) {} |
|
||||
| tst.js:4:9:4:21 | function() {} |
|
||||
| tst.js:5:2:5:15 | function(x) {} |
|
||||
| tst.js:6:2:6:18 | function(x, y) {} |
|
||||
| tst.js:7:9:7:23 | function h() {} |
|
||||
| tst.js:9:1:9:24 | functio ... nts) {} |
|
||||
| tst.js:10:1:10:31 | functio ... ents; } |
|
||||
@@ -33,6 +75,33 @@ test_getScope
|
||||
| tst.js:11:1:11:35 | functio ... ts; } } |
|
||||
| tst.js:12:1:12:44 | functio ... s) {} } |
|
||||
| tst.js:14:1:14:37 | functio ... s[0]; } |
|
||||
test_ReturnStmt
|
||||
| tst.js:14:1:14:37 | functio ... s[0]; } | tst.js:14:16:14:35 | return arguments[0]; |
|
||||
test_getBodyStmt
|
||||
| arrowfns.js:3:12:3:41 | () => { ... "); ; } | 0 | arrowfns.js:3:20:3:37 | alert("Wake up!"); |
|
||||
| arrowfns.js:3:12:3:41 | () => { ... "); ; } | 1 | arrowfns.js:3:39:3:39 | ; |
|
||||
| generators.js:1:1:4:1 | functio ... i++;\\n} | 0 | generators.js:2:3:3:14 | for (va ... ld i++; |
|
||||
| tst.js:10:1:10:31 | functio ... ents; } | 0 | tst.js:10:16:10:29 | var arguments; |
|
||||
| tst.js:11:1:11:35 | functio ... ts; } } | 0 | tst.js:11:16:11:33 | { var arguments; } |
|
||||
| tst.js:12:1:12:44 | functio ... s) {} } | 0 | tst.js:12:16:12:42 | try { } ... nts) {} |
|
||||
| tst.js:14:1:14:37 | functio ... s[0]; } | 0 | tst.js:14:16:14:35 | return arguments[0]; |
|
||||
test_getVariable
|
||||
| defaultargs.js:1:1:1:24 | functio ... +19) {} |
|
||||
| generators.js:1:1:4:1 | functio ... i++;\\n} |
|
||||
| generators.js:6:2:6:19 | function* bar() {} |
|
||||
| restparms.js:1:1:2:1 | functio ... ys) {\\n} |
|
||||
| tst.js:1:1:1:15 | function A() {} |
|
||||
| tst.js:2:1:2:16 | function B(x) {} |
|
||||
| tst.js:3:1:3:19 | function C(x, y) {} |
|
||||
| tst.js:7:9:7:23 | function h() {} |
|
||||
| tst.js:9:1:9:24 | functio ... nts) {} |
|
||||
| tst.js:10:1:10:31 | functio ... ents; } |
|
||||
| tst.js:11:1:11:35 | functio ... ts; } } |
|
||||
| tst.js:12:1:12:44 | functio ... s) {} } |
|
||||
| tst.js:14:1:14:37 | functio ... s[0]; } |
|
||||
test_isGenerator
|
||||
| generators.js:1:1:4:1 | functio ... i++;\\n} |
|
||||
| generators.js:6:2:6:19 | function* bar() {} |
|
||||
test_getParameter
|
||||
| arrowfns.js:1:24:1:36 | s => s.length | 0 | arrowfns.js:1:24:1:24 | s |
|
||||
| defaultargs.js:1:1:1:24 | functio ... +19) {} | 0 | defaultargs.js:1:12:1:12 | x |
|
||||
@@ -47,102 +116,8 @@ test_getParameter
|
||||
| tst.js:6:2:6:18 | function(x, y) {} | 0 | tst.js:6:11:6:11 | x |
|
||||
| tst.js:6:2:6:18 | function(x, y) {} | 1 | tst.js:6:14:6:14 | y |
|
||||
| tst.js:9:1:9:24 | functio ... nts) {} | 0 | tst.js:9:12:9:20 | arguments |
|
||||
test_ReturnedExpression
|
||||
| arrowfns.js:1:24:1:36 | s => s.length | arrowfns.js:1:29:1:36 | s.length |
|
||||
| arrowfns.js:2:13:2:23 | () => ++cnt | arrowfns.js:2:19:2:23 | ++cnt |
|
||||
| exprclosures.js:1:7:1:21 | function(x) x+1 | exprclosures.js:1:19:1:21 | x+1 |
|
||||
| tst.js:14:1:14:37 | functio ... s[0]; } | tst.js:14:23:14:34 | arguments[0] |
|
||||
test_getDefaultArguments
|
||||
| defaultargs.js:1:15:1:15 | y | defaultargs.js:1:17:1:20 | x+19 |
|
||||
test_Function
|
||||
| arrowfns.js:1:24:1:36 | s => s.length |
|
||||
| arrowfns.js:2:13:2:23 | () => ++cnt |
|
||||
| arrowfns.js:3:12:3:41 | () => { ... "); ; } |
|
||||
| defaultargs.js:1:1:1:24 | functio ... +19) {} |
|
||||
| exprclosures.js:1:7:1:21 | function(x) x+1 |
|
||||
| generators.js:1:1:4:1 | functio ... i++;\\n} |
|
||||
| generators.js:6:2:6:19 | function* bar() {} |
|
||||
| restparms.js:1:1:2:1 | functio ... ys) {\\n} |
|
||||
| tst.js:1:1:1:15 | function A() {} |
|
||||
| tst.js:2:1:2:16 | function B(x) {} |
|
||||
| tst.js:3:1:3:19 | function C(x, y) {} |
|
||||
| tst.js:4:9:4:21 | function() {} |
|
||||
| tst.js:5:2:5:15 | function(x) {} |
|
||||
| tst.js:6:2:6:18 | function(x, y) {} |
|
||||
| tst.js:7:9:7:23 | function h() {} |
|
||||
| tst.js:9:1:9:24 | functio ... nts) {} |
|
||||
| tst.js:10:1:10:31 | functio ... ents; } |
|
||||
| tst.js:11:1:11:35 | functio ... ts; } } |
|
||||
| tst.js:12:1:12:44 | functio ... s) {} } |
|
||||
| tst.js:14:1:14:37 | functio ... s[0]; } |
|
||||
test_getBody
|
||||
| arrowfns.js:1:24:1:36 | s => s.length | arrowfns.js:1:29:1:36 | s.length |
|
||||
| arrowfns.js:2:13:2:23 | () => ++cnt | arrowfns.js:2:19:2:23 | ++cnt |
|
||||
| arrowfns.js:3:12:3:41 | () => { ... "); ; } | arrowfns.js:3:18:3:41 | { alert ... "); ; } |
|
||||
| defaultargs.js:1:1:1:24 | functio ... +19) {} | defaultargs.js:1:23:1:24 | {} |
|
||||
| exprclosures.js:1:7:1:21 | function(x) x+1 | exprclosures.js:1:19:1:21 | x+1 |
|
||||
| generators.js:1:1:4:1 | functio ... i++;\\n} | generators.js:1:16:4:1 | {\\n for ... i++;\\n} |
|
||||
| generators.js:6:2:6:19 | function* bar() {} | generators.js:6:18:6:19 | {} |
|
||||
| restparms.js:1:1:2:1 | functio ... ys) {\\n} | restparms.js:1:22:2:1 | {\\n} |
|
||||
| tst.js:1:1:1:15 | function A() {} | tst.js:1:14:1:15 | {} |
|
||||
| tst.js:2:1:2:16 | function B(x) {} | tst.js:2:15:2:16 | {} |
|
||||
| tst.js:3:1:3:19 | function C(x, y) {} | tst.js:3:18:3:19 | {} |
|
||||
| tst.js:4:9:4:21 | function() {} | tst.js:4:20:4:21 | {} |
|
||||
| tst.js:5:2:5:15 | function(x) {} | tst.js:5:14:5:15 | {} |
|
||||
| tst.js:6:2:6:18 | function(x, y) {} | tst.js:6:17:6:18 | {} |
|
||||
| tst.js:7:9:7:23 | function h() {} | tst.js:7:22:7:23 | {} |
|
||||
| tst.js:9:1:9:24 | functio ... nts) {} | tst.js:9:23:9:24 | {} |
|
||||
| tst.js:10:1:10:31 | functio ... ents; } | tst.js:10:14:10:31 | { var arguments; } |
|
||||
| tst.js:11:1:11:35 | functio ... ts; } } | tst.js:11:14:11:35 | { { var ... ts; } } |
|
||||
| tst.js:12:1:12:44 | functio ... s) {} } | tst.js:12:14:12:44 | { try { ... s) {} } |
|
||||
| tst.js:14:1:14:37 | functio ... s[0]; } | tst.js:14:14:14:37 | { retur ... s[0]; } |
|
||||
test_getId
|
||||
| defaultargs.js:1:1:1:24 | functio ... +19) {} | defaultargs.js:1:10:1:10 | f | f |
|
||||
| generators.js:1:1:4:1 | functio ... i++;\\n} | generators.js:1:11:1:13 | foo | foo |
|
||||
| generators.js:6:2:6:19 | function* bar() {} | generators.js:6:12:6:14 | bar | bar |
|
||||
| restparms.js:1:1:2:1 | functio ... ys) {\\n} | restparms.js:1:10:1:10 | r | r |
|
||||
| tst.js:1:1:1:15 | function A() {} | tst.js:1:10:1:10 | A | A |
|
||||
| tst.js:2:1:2:16 | function B(x) {} | tst.js:2:10:2:10 | B | B |
|
||||
| tst.js:3:1:3:19 | function C(x, y) {} | tst.js:3:10:3:10 | C | C |
|
||||
| tst.js:7:9:7:23 | function h() {} | tst.js:7:18:7:18 | h | h |
|
||||
| tst.js:9:1:9:24 | functio ... nts) {} | tst.js:9:10:9:10 | k | k |
|
||||
| tst.js:10:1:10:31 | functio ... ents; } | tst.js:10:10:10:10 | l | l |
|
||||
| tst.js:11:1:11:35 | functio ... ts; } } | tst.js:11:10:11:10 | m | m |
|
||||
| tst.js:12:1:12:44 | functio ... s) {} } | tst.js:12:10:12:10 | n | n |
|
||||
| tst.js:14:1:14:37 | functio ... s[0]; } | tst.js:14:10:14:10 | p | p |
|
||||
test_hasRestParameter
|
||||
| restparms.js:1:1:2:1 | functio ... ys) {\\n} |
|
||||
test_getArgumentsVariable
|
||||
| defaultargs.js:1:1:1:24 | functio ... +19) {} |
|
||||
| exprclosures.js:1:7:1:21 | function(x) x+1 |
|
||||
| generators.js:1:1:4:1 | functio ... i++;\\n} |
|
||||
| generators.js:6:2:6:19 | function* bar() {} |
|
||||
| restparms.js:1:1:2:1 | functio ... ys) {\\n} |
|
||||
| tst.js:1:1:1:15 | function A() {} |
|
||||
| tst.js:2:1:2:16 | function B(x) {} |
|
||||
| tst.js:3:1:3:19 | function C(x, y) {} |
|
||||
| tst.js:4:9:4:21 | function() {} |
|
||||
| tst.js:5:2:5:15 | function(x) {} |
|
||||
| tst.js:6:2:6:18 | function(x, y) {} |
|
||||
| tst.js:7:9:7:23 | function h() {} |
|
||||
| tst.js:9:1:9:24 | functio ... nts) {} |
|
||||
| tst.js:10:1:10:31 | functio ... ents; } |
|
||||
| tst.js:11:1:11:35 | functio ... ts; } } |
|
||||
| tst.js:12:1:12:44 | functio ... s) {} } |
|
||||
| tst.js:14:1:14:37 | functio ... s[0]; } |
|
||||
test_getBodyStmt
|
||||
| arrowfns.js:3:12:3:41 | () => { ... "); ; } | 0 | arrowfns.js:3:20:3:37 | alert("Wake up!"); |
|
||||
| arrowfns.js:3:12:3:41 | () => { ... "); ; } | 1 | arrowfns.js:3:39:3:39 | ; |
|
||||
| generators.js:1:1:4:1 | functio ... i++;\\n} | 0 | generators.js:2:3:3:14 | for (va ... ld i++; |
|
||||
| tst.js:10:1:10:31 | functio ... ents; } | 0 | tst.js:10:16:10:29 | var arguments; |
|
||||
| tst.js:11:1:11:35 | functio ... ts; } } | 0 | tst.js:11:16:11:33 | { var arguments; } |
|
||||
| tst.js:12:1:12:44 | functio ... s) {} } | 0 | tst.js:12:16:12:42 | try { } ... nts) {} |
|
||||
| tst.js:14:1:14:37 | functio ... s[0]; } | 0 | tst.js:14:16:14:35 | return arguments[0]; |
|
||||
test_isGenerator
|
||||
| generators.js:1:1:4:1 | functio ... i++;\\n} |
|
||||
| generators.js:6:2:6:19 | function* bar() {} |
|
||||
test_usesArgumentsObject
|
||||
| tst.js:14:1:14:37 | functio ... s[0]; } |
|
||||
test_isRestParameter
|
||||
| restparms.js:1:18:1:19 | ys |
|
||||
test_getEnclosingStmt
|
||||
| arrowfns.js:1:24:1:36 | s => s.length | arrowfns.js:1:1:1:38 | ["a", " ... ength); |
|
||||
| arrowfns.js:2:13:2:23 | () => ++cnt | arrowfns.js:2:1:2:31 | setInte ... 1000); |
|
||||
@@ -164,7 +139,32 @@ test_getEnclosingStmt
|
||||
| tst.js:11:1:11:35 | functio ... ts; } } | tst.js:11:1:11:35 | functio ... ts; } } |
|
||||
| tst.js:12:1:12:44 | functio ... s) {} } | tst.js:12:1:12:44 | functio ... s) {} } |
|
||||
| tst.js:14:1:14:37 | functio ... s[0]; } | tst.js:14:1:14:37 | functio ... s[0]; } |
|
||||
test_isRestParameter
|
||||
| restparms.js:1:18:1:19 | ys |
|
||||
test_ReturnStmt
|
||||
| tst.js:14:1:14:37 | functio ... s[0]; } | tst.js:14:16:14:35 | return arguments[0]; |
|
||||
test_hasRestParameter
|
||||
| restparms.js:1:1:2:1 | functio ... ys) {\\n} |
|
||||
test_ReturnedExpression
|
||||
| arrowfns.js:1:24:1:36 | s => s.length | arrowfns.js:1:29:1:36 | s.length |
|
||||
| arrowfns.js:2:13:2:23 | () => ++cnt | arrowfns.js:2:19:2:23 | ++cnt |
|
||||
| exprclosures.js:1:7:1:21 | function(x) x+1 | exprclosures.js:1:19:1:21 | x+1 |
|
||||
| tst.js:14:1:14:37 | functio ... s[0]; } | tst.js:14:23:14:34 | arguments[0] |
|
||||
test_getDefaultArguments
|
||||
| defaultargs.js:1:15:1:15 | y | defaultargs.js:1:17:1:20 | x+19 |
|
||||
test_usesArgumentsObject
|
||||
| tst.js:14:1:14:37 | functio ... s[0]; } |
|
||||
test_getArgumentsVariable
|
||||
| defaultargs.js:1:1:1:24 | functio ... +19) {} |
|
||||
| exprclosures.js:1:7:1:21 | function(x) x+1 |
|
||||
| generators.js:1:1:4:1 | functio ... i++;\\n} |
|
||||
| generators.js:6:2:6:19 | function* bar() {} |
|
||||
| restparms.js:1:1:2:1 | functio ... ys) {\\n} |
|
||||
| tst.js:1:1:1:15 | function A() {} |
|
||||
| tst.js:2:1:2:16 | function B(x) {} |
|
||||
| tst.js:3:1:3:19 | function C(x, y) {} |
|
||||
| tst.js:4:9:4:21 | function() {} |
|
||||
| tst.js:5:2:5:15 | function(x) {} |
|
||||
| tst.js:6:2:6:18 | function(x, y) {} |
|
||||
| tst.js:7:9:7:23 | function h() {} |
|
||||
| tst.js:9:1:9:24 | functio ... nts) {} |
|
||||
| tst.js:10:1:10:31 | functio ... ents; } |
|
||||
| tst.js:11:1:11:35 | functio ... ts; } } |
|
||||
| tst.js:12:1:12:44 | functio ... s) {} } |
|
||||
| tst.js:14:1:14:37 | functio ... s[0]; } |
|
||||
|
||||
@@ -22,10 +22,7 @@ class TestDataFlowConfiguration extends DataFlow::Configuration {
|
||||
f.getName().matches("%noReturnTracking%") and
|
||||
node = f.getAReturnedExpr().flow()
|
||||
)
|
||||
}
|
||||
|
||||
override predicate isBarrierEdge(DataFlow::Node src, DataFlow::Node snk) {
|
||||
src = src and
|
||||
snk.asExpr().(PropAccess).getPropertyName() = "notTracked"
|
||||
or
|
||||
node.asExpr().(PropAccess).getPropertyName() = "notTracked"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -61,11 +61,8 @@ class TestTaintTrackingConfiguration extends TaintTracking::Configuration {
|
||||
f.getName().matches("%noReturnTracking%") and
|
||||
node = f.getAReturnedExpr().flow()
|
||||
)
|
||||
}
|
||||
|
||||
override predicate isSanitizerEdge(DataFlow::Node src, DataFlow::Node snk) {
|
||||
src = src and
|
||||
snk.asExpr().(PropAccess).getPropertyName() = "notTracked"
|
||||
or
|
||||
node.asExpr().(PropAccess).getPropertyName() = "notTracked"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -99,11 +96,8 @@ class GermanFlowConfig extends DataFlow::Configuration {
|
||||
f.getName().matches("%noReturnTracking%") and
|
||||
node = f.getAReturnedExpr().flow()
|
||||
)
|
||||
}
|
||||
|
||||
override predicate isBarrierEdge(DataFlow::Node src, DataFlow::Node snk) {
|
||||
src = src and
|
||||
snk.asExpr().(PropAccess).getPropertyName() = "notTracked"
|
||||
or
|
||||
node.asExpr().(PropAccess).getPropertyName() = "notTracked"
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,3 +1,421 @@
|
||||
test_JSDoc
|
||||
| tst.js:5:1:5:13 | /** @const */ | | tst.js:5:1:5:13 | /** @const */ |
|
||||
| tst.js:7:1:11:3 | /**\\n * ... ng}\\n */ | My namespace's favorite kind of beer. | tst.js:7:1:11:3 | /**\\n * ... ng}\\n */ |
|
||||
| tst.js:14:1:14:13 | /** @const */ | | tst.js:14:1:14:13 | /** @const */ |
|
||||
| tst.js:16:1:19:3 | /**\\n * ... tor\\n */ | A rectangle. | tst.js:16:1:19:3 | /**\\n * ... tor\\n */ |
|
||||
| tst.js:23:1:23:24 | /** @de ... ean} */ | | tst.js:23:1:23:24 | /** @de ... ean} */ |
|
||||
| tst.js:26:1:26:24 | /** @de ... ean} */ | | tst.js:26:1:26:24 | /** @de ... ean} */ |
|
||||
| tst.js:29:1:35:3 | /**\\n * ... ().\\n */ | Determines whether a node is a field. | tst.js:29:1:35:3 | /**\\n * ... ().\\n */ |
|
||||
| tst.js:39:1:42:3 | /**\\n * ... ict\\n */ | | tst.js:39:1:42:3 | /**\\n * ... ict\\n */ |
|
||||
| tst.js:48:12:48:23 | /** @dict */ | | tst.js:48:12:48:23 | /** @dict */ |
|
||||
| tst.js:51:1:54:3 | /**\\n * ... er}\\n */ | Enum for tri-state values. | tst.js:51:1:54:3 | /**\\n * ... er}\\n */ |
|
||||
| tst.js:61:1:61:14 | /** @export */ | | tst.js:61:1:61:14 | /** @export */ |
|
||||
| tst.js:65:1:69:3 | /**\\n * ... st}\\n */ | Immutable empty node list. | tst.js:65:1:69:3 | /**\\n * ... st}\\n */ |
|
||||
| tst.js:73:1:77:3 | /**\\n * ... tor\\n */ | A class that cannot be extended. | tst.js:73:1:77:3 | /**\\n * ... tor\\n */ |
|
||||
| tst.js:80:1:83:3 | /**\\n * ... nal\\n */ | A method that cannot be overridden. | tst.js:80:1:83:3 | /**\\n * ... nal\\n */ |
|
||||
| tst.js:86:1:89:3 | /**\\n * ... ace\\n */ | A shape. | tst.js:86:1:89:3 | /**\\n * ... ace\\n */ |
|
||||
| tst.js:93:1:96:3 | /**\\n * ... pe}\\n */ | | tst.js:93:1:96:3 | /**\\n * ... pe}\\n */ |
|
||||
| tst.js:101:1:103:17 | /**\\n * ... tDoc */ | | tst.js:101:1:103:17 | /**\\n * ... tDoc */ |
|
||||
| tst.js:107:1:111:3 | /**\\n * ... pe}\\n */ | A polygon. | tst.js:107:1:111:3 | /**\\n * ... pe}\\n */ |
|
||||
| tst.js:117:9:117:40 | /** @le ... ype} */ | | tst.js:117:9:117:40 | /** @le ... ype} */ |
|
||||
| tst.js:121:1:126:3 | /**\\n * ... sh:\\n */ | | tst.js:121:1:126:3 | /**\\n * ... sh:\\n */ |
|
||||
| tst.js:128:1:128:21 | /** @no ... ects */ | | tst.js:128:1:128:21 | /** @no ... ects */ |
|
||||
| tst.js:131:1:136:3 | /**\\n * ... age\\n */ | Returns the window object the foreign document resides in. | tst.js:131:1:136:3 | /**\\n * ... age\\n */ |
|
||||
| tst.js:140:1:145:3 | /**\\n * ... ng.\\n */ | Queries a Baz for items. | tst.js:140:1:145:3 | /**\\n * ... ng.\\n */ |
|
||||
| tst.js:149:14:149:26 | /** number */ | number | tst.js:149:14:149:26 | /** number */ |
|
||||
| tst.js:149:31:149:43 | /** number */ | number | tst.js:149:31:149:43 | /** number */ |
|
||||
| tst.js:153:1:157:3 | /**\\n * ... ate\\n */ | Handlers that are listening to this logger. | tst.js:153:1:157:3 | /**\\n * ... ate\\n */ |
|
||||
| tst.js:160:1:165:3 | /**\\n * ... ted\\n */ | Sets the component's root element to the given element.\nConsidered protected and final. | tst.js:160:1:165:3 | /**\\n * ... ted\\n */ |
|
||||
| tst.js:169:1:172:3 | /**\\n * ... ID.\\n */ | Returns the ID of the last item. | tst.js:169:1:172:3 | /**\\n * ... ID.\\n */ |
|
||||
| tst.js:177:10:177:22 | /** number */ | number | tst.js:177:10:177:22 | /** number */ |
|
||||
| tst.js:179:1:182:3 | /**\\n * ... uct\\n */ | | tst.js:179:1:182:3 | /**\\n * ... uct\\n */ |
|
||||
| tst.js:192:12:192:25 | /** @struct */ | | tst.js:192:12:192:25 | /** @struct */ |
|
||||
| tst.js:196:9:200:11 | /**\\n ... */ | Returns the roster widget element. | tst.js:196:9:200:11 | /**\\n ... */ |
|
||||
| tst.js:205:1:207:3 | /**\\n * ... on}\\n */ | | tst.js:205:1:207:3 | /**\\n * ... on}\\n */ |
|
||||
| tst.js:210:1:213:3 | /**\\n * ... ng}\\n */ | The message hex ID. | tst.js:210:1:213:3 | /**\\n * ... ng}\\n */ |
|
||||
| tst.js:216:1:216:33 | /** @ty ... er)} */ | | tst.js:216:1:216:33 | /** @ty ... er)} */ |
|
||||
| tst.js:219:1:219:55 | /** @pa ... ing. */ | | tst.js:219:1:219:55 | /** @pa ... ing. */ |
|
||||
| tst.js:223:1:223:40 | /** @ty ... ct}} */ | | tst.js:223:1:223:40 | /** @ty ... ct}} */ |
|
||||
| tst.js:226:1:226:22 | /** @ty ... er?} */ | | tst.js:226:1:226:22 | /** @ty ... er?} */ |
|
||||
| tst.js:229:1:229:22 | /** @ty ... ect} */ | | tst.js:229:1:229:22 | /** @ty ... ect} */ |
|
||||
| tst.js:232:1:243:3 | /**\\n * ... p10\\n */ | | tst.js:232:1:243:3 | /**\\n * ... p10\\n */ |
|
||||
| tst.js:246:1:249:3 | /**\\n * ... e T\\n */ | | tst.js:246:1:249:3 | /**\\n * ... e T\\n */ |
|
||||
| tst.js:252:1:252:18 | /** @return {T} */ | | tst.js:252:1:252:18 | /** @return {T} */ |
|
||||
| tst.js:255:1:255:19 | /** @param {T} t */ | | tst.js:255:1:255:19 | /** @param {T} t */ |
|
||||
| tst.js:258:1:258:28 | /** @ty ... ng>} */ | | tst.js:258:1:258:28 | /** @ty ... ng>} */ |
|
||||
| tst.js:259:11:259:38 | /** @ty ... ng>} */ | | tst.js:259:11:259:38 | /** @ty ... ng>} */ |
|
||||
| tst.js:261:1:265:3 | /**\\n * ... e T\\n */ | | tst.js:261:1:265:3 | /**\\n * ... e T\\n */ |
|
||||
| tst.js:269:1:272:3 | /**\\n * ... Val\\n */ | | tst.js:269:1:272:3 | /**\\n * ... Val\\n */ |
|
||||
| tst.js:275:1:275:37 | /** @ty ... er>} */ | | tst.js:275:1:275:37 | /** @ty ... er>} */ |
|
||||
| tst.js:277:1:279:3 | /**\\n * ... tor\\n */ | | tst.js:277:1:279:3 | /**\\n * ... tor\\n */ |
|
||||
| tst.js:282:1:285:3 | /**\\n * ... tor\\n */ | | tst.js:282:1:285:3 | /**\\n * ... tor\\n */ |
|
||||
| tst.js:288:1:288:22 | /** @ty ... <X>} */ | | tst.js:288:1:288:22 | /** @ty ... <X>} */ |
|
||||
| tst.js:289:1:289:22 | /** @ty ... <Y>} */ | | tst.js:289:1:289:22 | /** @ty ... <Y>} */ |
|
||||
| tst.js:294:1:294:28 | /** @pa ... fooY */ | | tst.js:294:1:294:28 | /** @pa ... fooY */ |
|
||||
| tst.js:300:1:303:3 | /**\\n * ... e T\\n */ | | tst.js:300:1:303:3 | /**\\n * ... e T\\n */ |
|
||||
| tst.js:306:1:306:19 | /** @param {T} t */ | | tst.js:306:1:306:19 | /** @param {T} t */ |
|
||||
| tst.js:309:1:312:3 | /**\\n * ... g>}\\n */ | | tst.js:309:1:312:3 | /**\\n * ... g>}\\n */ |
|
||||
| tst.js:315:1:319:3 | /**\\n * ... U>}\\n */ | | tst.js:315:1:319:3 | /**\\n * ... U>}\\n */ |
|
||||
| tst.js:322:1:325:3 | /**\\n * ... e T\\n */ | | tst.js:322:1:325:3 | /**\\n * ... e T\\n */ |
|
||||
| tst.js:328:1:328:18 | /** @return {T} */ | | tst.js:328:1:328:18 | /** @return {T} */ |
|
||||
| tst.js:331:1:335:3 | /**\\n * ... r>}\\n */ | | tst.js:331:1:335:3 | /**\\n * ... r>}\\n */ |
|
||||
| tst.js:338:1:342:3 | /**\\n * ... e T\\n */ | | tst.js:338:1:342:3 | /**\\n * ... e T\\n */ |
|
||||
| tst.js:345:1:345:21 | /** @ty ... ing} */ | | tst.js:345:1:345:21 | /** @ty ... ing} */ |
|
||||
| tst.js:346:1:346:21 | /** @ty ... ber} */ | | tst.js:346:1:346:21 | /** @ty ... ber} */ |
|
||||
| tst.js:347:1:347:21 | /** @ty ... ber} */ | | tst.js:347:1:347:21 | /** @ty ... ber} */ |
|
||||
| tst.js:349:1:349:31 | /** @ty ... ned} */ | | tst.js:349:1:349:31 | /** @ty ... ned} */ |
|
||||
| tst.js:351:1:353:3 | /**\\n * ... ger\\n */ | | tst.js:351:1:353:3 | /**\\n * ... ger\\n */ |
|
||||
| tst.js:356:1:359:3 | /**\\n * ... ion\\n */ | | tst.js:356:1:359:3 | /**\\n * ... ion\\n */ |
|
||||
| tst.js:363:3:365:5 | /**\\n ... p\\n */ | | tst.js:363:3:365:5 | /**\\n ... p\\n */ |
|
||||
| tst.js:368:3:370:5 | /**\\n ... p\\n */ | | tst.js:368:3:370:5 | /**\\n ... p\\n */ |
|
||||
| tst.js:375:3:377:5 | /**\\n ... p\\n */ | | tst.js:375:3:377:5 | /**\\n ... p\\n */ |
|
||||
| tst.js:380:3:382:5 | /**\\n ... p\\n */ | | tst.js:380:3:382:5 | /**\\n ... p\\n */ |
|
||||
| tst.js:386:1:389:3 | /**\\n * ... } x\\n */ | | tst.js:386:1:389:3 | /**\\n * ... } x\\n */ |
|
||||
test_JSDocTag
|
||||
| tst.js:5:5:5:10 | @const | const | tst.js:5:1:5:13 | /** @const */ | 0 | (none) | (none) | (none) |
|
||||
| tst.js:9:4:9:9 | @const | const | tst.js:7:1:11:3 | /**\\n * ... ng}\\n */ | 0 | (none) | (none) | (none) |
|
||||
| tst.js:10:4:10:8 | @type | type | tst.js:7:1:11:3 | /**\\n * ... ng}\\n */ | 1 | (none) | (none) | string |
|
||||
| tst.js:14:5:14:10 | @const | const | tst.js:14:1:14:13 | /** @const */ | 0 | (none) | (none) | (none) |
|
||||
| tst.js:18:4:18:15 | @constructor | constructor | tst.js:16:1:19:3 | /**\\n * ... tor\\n */ | 0 | (none) | (none) | (none) |
|
||||
| tst.js:23:5:23:11 | @define | define | tst.js:23:1:23:24 | /** @de ... ean} */ | 0 | (none) | (none) | boolean |
|
||||
| tst.js:26:5:26:11 | @define | define | tst.js:26:1:26:24 | /** @de ... ean} */ | 0 | (none) | (none) | boolean |
|
||||
| tst.js:31:4:31:10 | @return | return | tst.js:29:1:35:3 | /**\\n * ... ().\\n */ | 0 | True if the contents of\nthe element are editable, but the element\nitself is not.\n | (none) | boolean |
|
||||
| tst.js:34:4:34:14 | @deprecated | deprecated | tst.js:29:1:35:3 | /**\\n * ... ().\\n */ | 1 | Use isField(). | (none) | (none) |
|
||||
| tst.js:40:4:40:15 | @constructor | constructor | tst.js:39:1:42:3 | /**\\n * ... ict\\n */ | 0 | (none) | (none) | (none) |
|
||||
| tst.js:41:4:41:8 | @dict | dict | tst.js:39:1:42:3 | /**\\n * ... ict\\n */ | 1 | (none) | (none) | (none) |
|
||||
| tst.js:48:16:48:20 | @dict | dict | tst.js:48:12:48:23 | /** @dict */ | 0 | (none) | (none) | (none) |
|
||||
| tst.js:53:4:53:8 | @enum | enum | tst.js:51:1:54:3 | /**\\n * ... er}\\n */ | 0 | (none) | (none) | number |
|
||||
| tst.js:61:5:61:11 | @export | export | tst.js:61:1:61:14 | /** @export */ | 0 | (none) | (none) | (none) |
|
||||
| tst.js:67:4:67:15 | @constructor | constructor | tst.js:65:1:69:3 | /**\\n * ... st}\\n */ | 0 | (none) | (none) | (none) |
|
||||
| tst.js:68:4:68:11 | @extends | extends | tst.js:65:1:69:3 | /**\\n * ... st}\\n */ | 1 | (none) | (none) | goog.ds.BasicNodeList |
|
||||
| tst.js:75:4:75:9 | @final | final | tst.js:73:1:77:3 | /**\\n * ... tor\\n */ | 0 | (none) | (none) | (none) |
|
||||
| tst.js:76:4:76:15 | @constructor | constructor | tst.js:73:1:77:3 | /**\\n * ... tor\\n */ | 1 | (none) | (none) | (none) |
|
||||
| tst.js:82:4:82:9 | @final | final | tst.js:80:1:83:3 | /**\\n * ... nal\\n */ | 0 | (none) | (none) | (none) |
|
||||
| tst.js:88:4:88:13 | @interface | interface | tst.js:86:1:89:3 | /**\\n * ... ace\\n */ | 0 | (none) | (none) | (none) |
|
||||
| tst.js:94:4:94:15 | @constructor | constructor | tst.js:93:1:96:3 | /**\\n * ... pe}\\n */ | 0 | (none) | (none) | (none) |
|
||||
| tst.js:95:4:95:14 | @implements | implements | tst.js:93:1:96:3 | /**\\n * ... pe}\\n */ | 1 | (none) | (none) | Shape |
|
||||
| tst.js:102:4:102:12 | @override | override | tst.js:101:1:103:17 | /**\\n * ... tDoc */ | 0 | (none) | (none) | (none) |
|
||||
| tst.js:103:4:103:14 | @inheritDoc | inheritDoc | tst.js:101:1:103:17 | /**\\n * ... tDoc */ | 1 | (none) | (none) | (none) |
|
||||
| tst.js:109:4:109:13 | @interface | interface | tst.js:107:1:111:3 | /**\\n * ... pe}\\n */ | 0 | (none) | (none) | (none) |
|
||||
| tst.js:110:4:110:11 | @extends | extends | tst.js:107:1:111:3 | /**\\n * ... pe}\\n */ | 1 | (none) | (none) | Shape |
|
||||
| tst.js:117:13:117:18 | @lends | lends | tst.js:117:9:117:40 | /** @le ... ype} */ | 0 | {Button.prototype} | (none) | (none) |
|
||||
| tst.js:122:4:122:12 | @preserve | preserve | tst.js:121:1:126:3 | /**\\n * ... sh:\\n */ | 0 | Copyright 2009 SomeThirdParty.\nHere is the full license text and copyright\nnotice for this file. Note that the notice can span several\nlines and is only terminated by the closing star and slash: | (none) | (none) |
|
||||
| tst.js:128:5:128:18 | @nosideeffects | nosideeffects | tst.js:128:1:128:21 | /** @no ... ects */ | 0 | (none) | (none) | (none) |
|
||||
| tst.js:134:4:134:10 | @return | return | tst.js:131:1:136:3 | /**\\n * ... age\\n */ | 0 | The window object of the peer.\n | (none) | Object |
|
||||
| tst.js:135:4:135:11 | @package | package | tst.js:131:1:136:3 | /**\\n * ... age\\n */ | 1 | (none) | (none) | (none) |
|
||||
| tst.js:142:4:142:9 | @param | param | tst.js:140:1:145:3 | /**\\n * ... ng.\\n */ | 0 | Subgroup id to query.\n | groupNum | number |
|
||||
| tst.js:143:4:143:9 | @param | param | tst.js:140:1:145:3 | /**\\n * ... ng.\\n */ | 1 | An itemName,\nor itemId, or null to search everything. | term | (string\|number\|null) |
|
||||
| tst.js:155:4:155:8 | @type | type | tst.js:153:1:157:3 | /**\\n * ... ate\\n */ | 0 | (none) | (none) | Array.<Function> |
|
||||
| tst.js:156:4:156:11 | @private | private | tst.js:153:1:157:3 | /**\\n * ... ate\\n */ | 1 | (none) | (none) | (none) |
|
||||
| tst.js:163:4:163:9 | @param | param | tst.js:160:1:165:3 | /**\\n * ... ted\\n */ | 0 | Root element for the component.\n | element | Element |
|
||||
| tst.js:164:4:164:13 | @protected | protected | tst.js:160:1:165:3 | /**\\n * ... ted\\n */ | 1 | (none) | (none) | (none) |
|
||||
| tst.js:171:4:171:10 | @return | return | tst.js:169:1:172:3 | /**\\n * ... ID.\\n */ | 0 | The hex ID. | (none) | string |
|
||||
| tst.js:180:4:180:15 | @constructor | constructor | tst.js:179:1:182:3 | /**\\n * ... uct\\n */ | 0 | (none) | (none) | (none) |
|
||||
| tst.js:181:4:181:10 | @struct | struct | tst.js:179:1:182:3 | /**\\n * ... uct\\n */ | 1 | (none) | (none) | (none) |
|
||||
| tst.js:192:16:192:22 | @struct | struct | tst.js:192:12:192:25 | /** @struct */ | 0 | (none) | (none) | (none) |
|
||||
| tst.js:198:12:198:16 | @this | this | tst.js:196:9:200:11 | /**\\n ... */ | 0 | (none) | (none) | (none) |
|
||||
| tst.js:199:12:199:18 | @return | return | tst.js:196:9:200:11 | /**\\n ... */ | 1 | (none) | (none) | Element |
|
||||
| tst.js:206:4:206:10 | @throws | throws | tst.js:205:1:207:3 | /**\\n * ... on}\\n */ | 0 | (none) | (none) | DOMException |
|
||||
| tst.js:212:4:212:8 | @type | type | tst.js:210:1:213:3 | /**\\n * ... ng}\\n */ | 0 | (none) | (none) | string |
|
||||
| tst.js:216:5:216:12 | @typedef | typedef | tst.js:216:1:216:33 | /** @ty ... er)} */ | 0 | (none) | (none) | (string\|number) |
|
||||
| tst.js:219:5:219:10 | @param | param | tst.js:219:1:219:55 | /** @pa ... ing. */ | 0 | A number or a string. | x | goog.NumberLike |
|
||||
| tst.js:223:5:223:9 | @type | type | tst.js:223:1:223:40 | /** @ty ... ct}} */ | 0 | (none) | (none) | {myNum: number, myObject} |
|
||||
| tst.js:226:5:226:9 | @type | type | tst.js:226:1:226:22 | /** @ty ... er?} */ | 0 | (none) | (none) | number? |
|
||||
| tst.js:229:5:229:9 | @type | type | tst.js:229:1:229:22 | /** @ty ... ect} */ | 0 | (none) | (none) | !Object |
|
||||
| tst.js:233:4:233:9 | @param | param | tst.js:232:1:243:3 | /**\\n * ... p10\\n */ | 0 | (none) | p1 | function (string, boolean) |
|
||||
| tst.js:234:4:234:9 | @param | param | tst.js:232:1:243:3 | /**\\n * ... p10\\n */ | 1 | (none) | p2 | function (): number |
|
||||
| tst.js:235:4:235:9 | @param | param | tst.js:232:1:243:3 | /**\\n * ... p10\\n */ | 2 | (none) | p3 | function (this: goog.ui.Menu, string) |
|
||||
| tst.js:236:4:236:9 | @param | param | tst.js:232:1:243:3 | /**\\n * ... p10\\n */ | 3 | (none) | p4 | function (new: goog.ui.Menu, string) |
|
||||
| tst.js:237:4:237:9 | @param | param | tst.js:232:1:243:3 | /**\\n * ... p10\\n */ | 4 | (none) | p5 | function (string, ...[number]): number |
|
||||
| tst.js:238:4:238:9 | @param | param | tst.js:232:1:243:3 | /**\\n * ... p10\\n */ | 5 | p6\n | var_args | ...number |
|
||||
| tst.js:239:4:239:9 | @param | param | tst.js:232:1:243:3 | /**\\n * ... p10\\n */ | 6 | p7\n | opt_argument | number= |
|
||||
| tst.js:240:4:240:9 | @param | param | tst.js:232:1:243:3 | /**\\n * ... p10\\n */ | 7 | (none) | p8 | function (?string=, number=) |
|
||||
| tst.js:241:4:241:9 | @param | param | tst.js:232:1:243:3 | /**\\n * ... p10\\n */ | 8 | (none) | p9 | * |
|
||||
| tst.js:242:4:242:9 | @param | param | tst.js:232:1:243:3 | /**\\n * ... p10\\n */ | 9 | (none) | p10 | ? |
|
||||
| tst.js:247:4:247:15 | @constructor | constructor | tst.js:246:1:249:3 | /**\\n * ... e T\\n */ | 0 | (none) | (none) | (none) |
|
||||
| tst.js:248:4:248:12 | @template | template | tst.js:246:1:249:3 | /**\\n * ... e T\\n */ | 1 | T | (none) | (none) |
|
||||
| tst.js:252:5:252:11 | @return | return | tst.js:252:1:252:18 | /** @return {T} */ | 0 | (none) | (none) | T |
|
||||
| tst.js:255:5:255:10 | @param | param | tst.js:255:1:255:19 | /** @param {T} t */ | 0 | (none) | t | T |
|
||||
| tst.js:258:5:258:9 | @type | type | tst.js:258:1:258:28 | /** @ty ... ng>} */ | 0 | (none) | (none) | !Foo.<string> |
|
||||
| tst.js:259:15:259:19 | @type | type | tst.js:259:11:259:38 | /** @ty ... ng>} */ | 0 | (none) | (none) | !Foo.<string> |
|
||||
| tst.js:262:4:262:9 | @param | param | tst.js:261:1:265:3 | /**\\n * ... e T\\n */ | 0 | (none) | t | T |
|
||||
| tst.js:263:4:263:15 | @constructor | constructor | tst.js:261:1:265:3 | /**\\n * ... e T\\n */ | 1 | (none) | (none) | (none) |
|
||||
| tst.js:264:4:264:12 | @template | template | tst.js:261:1:265:3 | /**\\n * ... e T\\n */ | 2 | T | (none) | (none) |
|
||||
| tst.js:270:4:270:15 | @constructor | constructor | tst.js:269:1:272:3 | /**\\n * ... Val\\n */ | 0 | (none) | (none) | (none) |
|
||||
| tst.js:271:4:271:12 | @template | template | tst.js:269:1:272:3 | /**\\n * ... Val\\n */ | 1 | Key, Val | (none) | (none) |
|
||||
| tst.js:275:5:275:9 | @type | type | tst.js:275:1:275:37 | /** @ty ... er>} */ | 0 | (none) | (none) | MyMap.<string, number> |
|
||||
| tst.js:278:4:278:15 | @constructor | constructor | tst.js:277:1:279:3 | /**\\n * ... tor\\n */ | 0 | (none) | (none) | (none) |
|
||||
| tst.js:283:4:283:11 | @extends | extends | tst.js:282:1:285:3 | /**\\n * ... tor\\n */ | 0 | (none) | (none) | X |
|
||||
| tst.js:284:4:284:15 | @constructor | constructor | tst.js:282:1:285:3 | /**\\n * ... tor\\n */ | 1 | (none) | (none) | (none) |
|
||||
| tst.js:288:5:288:9 | @type | type | tst.js:288:1:288:22 | /** @ty ... <X>} */ | 0 | (none) | (none) | Foo.<X> |
|
||||
| tst.js:289:5:289:9 | @type | type | tst.js:289:1:289:22 | /** @ty ... <Y>} */ | 0 | (none) | (none) | Foo.<Y> |
|
||||
| tst.js:294:5:294:10 | @param | param | tst.js:294:1:294:28 | /** @pa ... fooY */ | 0 | (none) | fooY | Foo.<Y> |
|
||||
| tst.js:301:4:301:15 | @constructor | constructor | tst.js:300:1:303:3 | /**\\n * ... e T\\n */ | 0 | (none) | (none) | (none) |
|
||||
| tst.js:302:4:302:12 | @template | template | tst.js:300:1:303:3 | /**\\n * ... e T\\n */ | 1 | T | (none) | (none) |
|
||||
| tst.js:306:5:306:10 | @param | param | tst.js:306:1:306:19 | /** @param {T} t */ | 0 | (none) | t | T |
|
||||
| tst.js:310:4:310:15 | @constructor | constructor | tst.js:309:1:312:3 | /**\\n * ... g>}\\n */ | 0 | (none) | (none) | (none) |
|
||||
| tst.js:311:4:311:11 | @extends | extends | tst.js:309:1:312:3 | /**\\n * ... g>}\\n */ | 1 | (none) | (none) | A.<string> |
|
||||
| tst.js:316:4:316:15 | @constructor | constructor | tst.js:315:1:319:3 | /**\\n * ... U>}\\n */ | 0 | (none) | (none) | (none) |
|
||||
| tst.js:317:4:317:12 | @template | template | tst.js:315:1:319:3 | /**\\n * ... U>}\\n */ | 1 | U\n | (none) | (none) |
|
||||
| tst.js:318:4:318:11 | @extends | extends | tst.js:315:1:319:3 | /**\\n * ... U>}\\n */ | 2 | (none) | (none) | A.<U> |
|
||||
| tst.js:323:4:323:13 | @interface | interface | tst.js:322:1:325:3 | /**\\n * ... e T\\n */ | 0 | (none) | (none) | (none) |
|
||||
| tst.js:324:4:324:12 | @template | template | tst.js:322:1:325:3 | /**\\n * ... e T\\n */ | 1 | T | (none) | (none) |
|
||||
| tst.js:328:5:328:11 | @return | return | tst.js:328:1:328:18 | /** @return {T} */ | 0 | (none) | (none) | T |
|
||||
| tst.js:332:4:332:15 | @constructor | constructor | tst.js:331:1:335:3 | /**\\n * ... r>}\\n */ | 0 | (none) | (none) | (none) |
|
||||
| tst.js:333:4:333:14 | @implements | implements | tst.js:331:1:335:3 | /**\\n * ... r>}\\n */ | 1 | (none) | (none) | Foo.<string> |
|
||||
| tst.js:334:4:334:14 | @implements | implements | tst.js:331:1:335:3 | /**\\n * ... r>}\\n */ | 2 | (none) | (none) | Foo.<number> |
|
||||
| tst.js:339:4:339:9 | @param | param | tst.js:338:1:342:3 | /**\\n * ... e T\\n */ | 0 | (none) | a | T |
|
||||
| tst.js:340:4:340:10 | @return | return | tst.js:338:1:342:3 | /**\\n * ... e T\\n */ | 1 | (none) | (none) | T |
|
||||
| tst.js:341:4:341:12 | @template | template | tst.js:338:1:342:3 | /**\\n * ... e T\\n */ | 2 | T | (none) | (none) |
|
||||
| tst.js:345:5:345:9 | @type | type | tst.js:345:1:345:21 | /** @ty ... ing} */ | 0 | (none) | (none) | string |
|
||||
| tst.js:346:5:346:9 | @type | type | tst.js:346:1:346:21 | /** @ty ... ber} */ | 0 | (none) | (none) | number |
|
||||
| tst.js:347:5:347:9 | @type | type | tst.js:347:1:347:21 | /** @ty ... ber} */ | 0 | (none) | (none) | number |
|
||||
| tst.js:349:5:349:9 | @type | type | tst.js:349:1:349:31 | /** @ty ... ned} */ | 0 | (none) | (none) | (string\|undefined) |
|
||||
| tst.js:352:4:352:9 | @param | param | tst.js:351:1:353:3 | /**\\n * ... ger\\n */ | 0 | [int] an integer | (none) | (none) |
|
||||
| tst.js:357:4:357:9 | @param | param | tst.js:356:1:359:3 | /**\\n * ... ion\\n */ | 0 | the array to sort\n | array | Array.<number> |
|
||||
| tst.js:358:4:358:9 | @param | param | tst.js:356:1:359:3 | /**\\n * ... ion\\n */ | 1 | the comparator function | fn | function (x: !number, y: !number): number |
|
||||
| tst.js:364:6:364:11 | @param | param | tst.js:363:3:365:5 | /**\\n ... p\\n */ | 0 | (none) | p | T1 |
|
||||
| tst.js:369:6:369:11 | @param | param | tst.js:368:3:370:5 | /**\\n ... p\\n */ | 0 | (none) | p | T2 |
|
||||
| tst.js:376:6:376:11 | @param | param | tst.js:375:3:377:5 | /**\\n ... p\\n */ | 0 | (none) | p | T3 |
|
||||
| tst.js:381:6:381:11 | @param | param | tst.js:380:3:382:5 | /**\\n ... p\\n */ | 0 | (none) | p | T4 |
|
||||
| tst.js:387:4:387:9 | @param | param | tst.js:386:1:389:3 | /**\\n * ... } x\\n */ | 0 | (none) | x | Array.<number> |
|
||||
test_next_token
|
||||
| tst.js:1:1:1:117 | // Test ... mpiler, | tst.js:5:15:5:17 | var |
|
||||
| tst.js:2:1:2:118 | // whic ... se 2.0; | tst.js:5:15:5:17 | var |
|
||||
| tst.js:3:1:3:20 | // see file COPYING. | tst.js:5:15:5:17 | var |
|
||||
| tst.js:5:1:5:13 | /** @const */ | tst.js:5:15:5:17 | var |
|
||||
| tst.js:7:1:11:3 | /**\\n * ... ng}\\n */ | tst.js:12:1:12:11 | mynamespace |
|
||||
| tst.js:14:1:14:13 | /** @const */ | tst.js:14:15:14:21 | MyClass |
|
||||
| tst.js:16:1:19:3 | /**\\n * ... tor\\n */ | tst.js:20:1:20:8 | function |
|
||||
| tst.js:23:1:23:24 | /** @de ... ean} */ | tst.js:24:1:24:3 | var |
|
||||
| tst.js:26:1:26:24 | /** @de ... ean} */ | tst.js:27:1:27:4 | goog |
|
||||
| tst.js:29:1:35:3 | /**\\n * ... ().\\n */ | tst.js:36:1:36:11 | BN_EditUtil |
|
||||
| tst.js:39:1:42:3 | /**\\n * ... ict\\n */ | tst.js:43:1:43:8 | function |
|
||||
| tst.js:46:16:46:25 | // warning | tst.js:48:1:48:3 | var |
|
||||
| tst.js:48:12:48:23 | /** @dict */ | tst.js:48:25:48:25 | { |
|
||||
| tst.js:49:16:49:25 | // warning | tst.js:55:1:55:7 | project |
|
||||
| tst.js:51:1:54:3 | /**\\n * ... er}\\n */ | tst.js:55:1:55:7 | project |
|
||||
| tst.js:61:1:61:14 | /** @export */ | tst.js:62:1:62:3 | foo |
|
||||
| tst.js:65:1:69:3 | /**\\n * ... st}\\n */ | tst.js:70:1:70:4 | goog |
|
||||
| tst.js:73:1:77:3 | /**\\n * ... tor\\n */ | tst.js:78:1:78:5 | sloth |
|
||||
| tst.js:80:1:83:3 | /**\\n * ... nal\\n */ | tst.js:84:1:84:5 | sloth |
|
||||
| tst.js:86:1:89:3 | /**\\n * ... ace\\n */ | tst.js:90:1:90:8 | function |
|
||||
| tst.js:93:1:96:3 | /**\\n * ... pe}\\n */ | tst.js:97:1:97:8 | function |
|
||||
| tst.js:101:1:103:17 | /**\\n * ... tDoc */ | tst.js:104:1:104:7 | project |
|
||||
| tst.js:107:1:111:3 | /**\\n * ... pe}\\n */ | tst.js:112:1:112:8 | function |
|
||||
| tst.js:117:9:117:40 | /** @le ... ype} */ | tst.js:117:42:117:42 | ( |
|
||||
| tst.js:121:1:126:3 | /**\\n * ... sh:\\n */ | tst.js:129:1:129:8 | function |
|
||||
| tst.js:128:1:128:21 | /** @no ... ects */ | tst.js:129:1:129:8 | function |
|
||||
| tst.js:131:1:136:3 | /**\\n * ... age\\n */ | tst.js:137:1:137:4 | goog |
|
||||
| tst.js:140:1:145:3 | /**\\n * ... ng.\\n */ | tst.js:146:1:146:4 | goog |
|
||||
| tst.js:149:14:149:26 | /** number */ | tst.js:149:28:149:28 | a |
|
||||
| tst.js:149:31:149:43 | /** number */ | tst.js:149:45:149:45 | b |
|
||||
| tst.js:153:1:157:3 | /**\\n * ... ate\\n */ | tst.js:158:1:158:4 | this |
|
||||
| tst.js:160:1:165:3 | /**\\n * ... ted\\n */ | tst.js:166:1:166:4 | goog |
|
||||
| tst.js:169:1:172:3 | /**\\n * ... ID.\\n */ | tst.js:173:1:173:4 | goog |
|
||||
| tst.js:177:10:177:22 | /** number */ | tst.js:177:24:177:26 | foo |
|
||||
| tst.js:179:1:182:3 | /**\\n * ... uct\\n */ | tst.js:183:1:183:8 | function |
|
||||
| tst.js:187:24:187:28 | // OK | tst.js:188:1:188:4 | obj1 |
|
||||
| tst.js:188:21:188:25 | // OK | tst.js:189:1:189:4 | obj1 |
|
||||
| tst.js:189:22:189:31 | // warning | tst.js:190:1:190:4 | obj1 |
|
||||
| tst.js:190:14:190:23 | // warning | tst.js:192:1:192:3 | var |
|
||||
| tst.js:192:12:192:25 | /** @struct */ | tst.js:192:27:192:27 | { |
|
||||
| tst.js:193:19:193:28 | // warning | tst.js:195:1:195:4 | chat |
|
||||
| tst.js:196:9:200:11 | /**\\n ... */ | tst.js:201:9:201:16 | function |
|
||||
| tst.js:205:1:207:3 | /**\\n * ... on}\\n */ | tst.js:208:1:208:19 | DOMApplicationCache |
|
||||
| tst.js:210:1:213:3 | /**\\n * ... ng}\\n */ | tst.js:214:1:214:3 | var |
|
||||
| tst.js:216:1:216:33 | /** @ty ... er)} */ | tst.js:217:1:217:4 | goog |
|
||||
| tst.js:219:1:219:55 | /** @pa ... ing. */ | tst.js:220:1:220:4 | goog |
|
||||
| tst.js:223:1:223:40 | /** @ty ... ct}} */ | tst.js:224:1:224:3 | var |
|
||||
| tst.js:226:1:226:22 | /** @ty ... er?} */ | tst.js:227:1:227:3 | var |
|
||||
| tst.js:229:1:229:22 | /** @ty ... ect} */ | tst.js:230:1:230:3 | var |
|
||||
| tst.js:232:1:243:3 | /**\\n * ... p10\\n */ | tst.js:244:1:244:3 | var |
|
||||
| tst.js:246:1:249:3 | /**\\n * ... e T\\n */ | tst.js:250:1:250:3 | var |
|
||||
| tst.js:252:1:252:18 | /** @return {T} */ | tst.js:253:1:253:3 | Foo |
|
||||
| tst.js:255:1:255:19 | /** @param {T} t */ | tst.js:256:1:256:3 | Foo |
|
||||
| tst.js:258:1:258:28 | /** @ty ... ng>} */ | tst.js:258:30:258:32 | var |
|
||||
| tst.js:259:11:259:38 | /** @ty ... ng>} */ | tst.js:259:40:259:40 | ( |
|
||||
| tst.js:261:1:265:3 | /**\\n * ... e T\\n */ | tst.js:266:1:266:3 | Bar |
|
||||
| tst.js:267:29:267:52 | // bar ... string> | tst.js:273:1:273:3 | var |
|
||||
| tst.js:269:1:272:3 | /**\\n * ... Val\\n */ | tst.js:273:1:273:3 | var |
|
||||
| tst.js:275:1:275:37 | /** @ty ... er>} */ | tst.js:275:39:275:41 | var |
|
||||
| tst.js:275:48:275:77 | // Key ... number. | tst.js:280:1:280:1 | X |
|
||||
| tst.js:277:1:279:3 | /**\\n * ... tor\\n */ | tst.js:280:1:280:1 | X |
|
||||
| tst.js:282:1:285:3 | /**\\n * ... tor\\n */ | tst.js:286:1:286:1 | Y |
|
||||
| tst.js:288:1:288:22 | /** @ty ... <X>} */ | tst.js:288:24:288:26 | var |
|
||||
| tst.js:289:1:289:22 | /** @ty ... <Y>} */ | tst.js:289:24:289:26 | var |
|
||||
| tst.js:291:14:291:21 | // Error | tst.js:292:1:292:4 | fooY |
|
||||
| tst.js:292:14:292:21 | // Error | tst.js:295:1:295:9 | takesFooY |
|
||||
| tst.js:294:1:294:28 | /** @pa ... fooY */ | tst.js:295:1:295:9 | takesFooY |
|
||||
| tst.js:297:18:297:23 | // OK. | tst.js:298:1:298:9 | takesFooY |
|
||||
| tst.js:298:18:298:25 | // Error | tst.js:304:1:304:1 | A |
|
||||
| tst.js:300:1:303:3 | /**\\n * ... e T\\n */ | tst.js:304:1:304:1 | A |
|
||||
| tst.js:306:1:306:19 | /** @param {T} t */ | tst.js:307:1:307:1 | A |
|
||||
| tst.js:309:1:312:3 | /**\\n * ... g>}\\n */ | tst.js:313:1:313:1 | B |
|
||||
| tst.js:315:1:319:3 | /**\\n * ... U>}\\n */ | tst.js:320:1:320:1 | C |
|
||||
| tst.js:322:1:325:3 | /**\\n * ... e T\\n */ | tst.js:326:1:326:3 | Foo |
|
||||
| tst.js:328:1:328:18 | /** @return {T} */ | tst.js:329:1:329:3 | Foo |
|
||||
| tst.js:331:1:335:3 | /**\\n * ... r>}\\n */ | tst.js:336:1:336:7 | FooImpl |
|
||||
| tst.js:336:27:336:72 | // Erro ... e twice | tst.js:343:1:343:8 | identity |
|
||||
| tst.js:338:1:342:3 | /**\\n * ... e T\\n */ | tst.js:343:1:343:8 | identity |
|
||||
| tst.js:345:1:345:21 | /** @ty ... ing} */ | tst.js:345:23:345:25 | var |
|
||||
| tst.js:345:72:345:76 | // OK | tst.js:346:23:346:25 | var |
|
||||
| tst.js:346:1:346:21 | /** @ty ... ber} */ | tst.js:346:23:346:25 | var |
|
||||
| tst.js:346:60:346:64 | // OK | tst.js:347:23:347:25 | var |
|
||||
| tst.js:347:1:347:21 | /** @ty ... ber} */ | tst.js:347:23:347:25 | var |
|
||||
| tst.js:347:62:347:77 | // Type mismatch | tst.js:349:33:349:35 | var |
|
||||
| tst.js:349:1:349:31 | /** @ty ... ned} */ | tst.js:349:33:349:35 | var |
|
||||
| tst.js:351:1:353:3 | /**\\n * ... ger\\n */ | tst.js:354:1:354:8 | function |
|
||||
| tst.js:356:1:359:3 | /**\\n * ... ion\\n */ | tst.js:360:1:360:8 | function |
|
||||
| tst.js:363:3:365:5 | /**\\n ... p\\n */ | tst.js:366:3:366:15 | classicMethod |
|
||||
| tst.js:368:3:370:5 | /**\\n ... p\\n */ | tst.js:371:3:371:13 | fancyMethod |
|
||||
| tst.js:375:3:377:5 | /**\\n ... p\\n */ | tst.js:378:3:378:13 | constructor |
|
||||
| tst.js:380:3:382:5 | /**\\n ... p\\n */ | tst.js:383:3:383:13 | classMethod |
|
||||
| tst.js:386:1:389:3 | /**\\n * ... } x\\n */ | tst.js:390:1:390:8 | function |
|
||||
test_JSDocTypeExpr
|
||||
| tst.js:10:11:10:16 | string | tst.js:10:4:10:8 | @type | 0 |
|
||||
| tst.js:23:14:23:20 | boolean | tst.js:23:5:23:11 | @define | 0 |
|
||||
| tst.js:26:14:26:20 | boolean | tst.js:26:5:26:11 | @define | 0 |
|
||||
| tst.js:31:13:31:19 | boolean | tst.js:31:4:31:10 | @return | 0 |
|
||||
| tst.js:53:11:53:16 | number | tst.js:53:4:53:8 | @enum | 0 |
|
||||
| tst.js:68:14:68:34 | goog.ds.BasicNodeList | tst.js:68:4:68:11 | @extends | 0 |
|
||||
| tst.js:95:17:95:21 | Shape | tst.js:95:4:95:14 | @implements | 0 |
|
||||
| tst.js:110:14:110:18 | Shape | tst.js:110:4:110:11 | @extends | 0 |
|
||||
| tst.js:134:13:134:18 | Object | tst.js:134:4:134:10 | @return | 0 |
|
||||
| tst.js:142:12:142:17 | number | tst.js:142:4:142:9 | @param | 0 |
|
||||
| tst.js:143:12:143:17 | string | tst.js:143:12:143:29 | (string\|number\|null) | 0 |
|
||||
| tst.js:143:12:143:29 | (string\|number\|null) | tst.js:143:4:143:9 | @param | 0 |
|
||||
| tst.js:143:19:143:24 | number | tst.js:143:12:143:29 | (string\|number\|null) | 1 |
|
||||
| tst.js:143:26:143:29 | null | tst.js:143:12:143:29 | (string\|number\|null) | 2 |
|
||||
| tst.js:155:11:155:18 | Function | tst.js:155:11:155:20 | Array.<Function> | 0 |
|
||||
| tst.js:155:11:155:20 | Array | tst.js:155:11:155:20 | Array.<Function> | -1 |
|
||||
| tst.js:155:11:155:20 | Array.<Function> | tst.js:155:4:155:8 | @type | 0 |
|
||||
| tst.js:163:12:163:18 | Element | tst.js:163:4:163:9 | @param | 0 |
|
||||
| tst.js:171:13:171:18 | string | tst.js:171:4:171:10 | @return | 0 |
|
||||
| tst.js:199:21:199:27 | Element | tst.js:199:12:199:18 | @return | 0 |
|
||||
| tst.js:206:13:206:24 | DOMException | tst.js:206:4:206:10 | @throws | 0 |
|
||||
| tst.js:212:11:212:16 | string | tst.js:212:4:212:8 | @type | 0 |
|
||||
| tst.js:216:15:216:29 | (string\|number) | tst.js:216:5:216:12 | @typedef | 0 |
|
||||
| tst.js:216:16:216:21 | string | tst.js:216:15:216:29 | (string\|number) | 0 |
|
||||
| tst.js:216:23:216:28 | number | tst.js:216:15:216:29 | (string\|number) | 1 |
|
||||
| tst.js:219:13:219:27 | goog.NumberLike | tst.js:219:5:219:10 | @param | 0 |
|
||||
| tst.js:223:12:223:36 | {myNum: number, myObject} | tst.js:223:5:223:9 | @type | 0 |
|
||||
| tst.js:223:20:223:25 | number | tst.js:223:12:223:36 | {myNum: number, myObject} | 0 |
|
||||
| tst.js:226:12:226:17 | number | tst.js:226:12:226:18 | number? | 0 |
|
||||
| tst.js:226:12:226:18 | number? | tst.js:226:5:226:9 | @type | 0 |
|
||||
| tst.js:229:12:229:18 | !Object | tst.js:229:5:229:9 | @type | 0 |
|
||||
| tst.js:229:13:229:18 | Object | tst.js:229:12:229:18 | !Object | 0 |
|
||||
| tst.js:233:12:233:36 | function (string, boolean) | tst.js:233:4:233:9 | @param | 0 |
|
||||
| tst.js:233:21:233:26 | string | tst.js:233:12:233:36 | function (string, boolean) | 0 |
|
||||
| tst.js:233:29:233:35 | boolean | tst.js:233:12:233:36 | function (string, boolean) | 1 |
|
||||
| tst.js:234:12:234:29 | function (): number | tst.js:234:4:234:9 | @param | 0 |
|
||||
| tst.js:234:24:234:29 | number | tst.js:234:12:234:29 | function (): number | -1 |
|
||||
| tst.js:235:12:235:46 | function (this: goog.ui.Menu, string) | tst.js:235:4:235:9 | @param | 0 |
|
||||
| tst.js:235:26:235:37 | goog.ui.Menu | tst.js:235:12:235:46 | function (this: goog.ui.Menu, string) | -2 |
|
||||
| tst.js:235:40:235:45 | string | tst.js:235:12:235:46 | function (this: goog.ui.Menu, string) | 0 |
|
||||
| tst.js:236:12:236:45 | function (new: goog.ui.Menu, string) | tst.js:236:4:236:9 | @param | 0 |
|
||||
| tst.js:236:25:236:36 | goog.ui.Menu | tst.js:236:12:236:45 | function (new: goog.ui.Menu, string) | -2 |
|
||||
| tst.js:236:39:236:44 | string | tst.js:236:12:236:45 | function (new: goog.ui.Menu, string) | 0 |
|
||||
| tst.js:237:12:237:48 | function (string, ...[number]): number | tst.js:237:4:237:9 | @param | 0 |
|
||||
| tst.js:237:21:237:26 | string | tst.js:237:12:237:48 | function (string, ...[number]): number | 0 |
|
||||
| tst.js:237:32:237:39 | ...[number] | tst.js:237:12:237:48 | function (string, ...[number]): number | 1 |
|
||||
| tst.js:237:32:237:39 | [number] | tst.js:237:32:237:39 | ...[number] | 0 |
|
||||
| tst.js:237:33:237:38 | number | tst.js:237:32:237:39 | [number] | 0 |
|
||||
| tst.js:237:43:237:48 | number | tst.js:237:12:237:48 | function (string, ...[number]): number | -1 |
|
||||
| tst.js:238:12:238:20 | ...number | tst.js:238:4:238:9 | @param | 0 |
|
||||
| tst.js:238:15:238:20 | number | tst.js:238:12:238:20 | ...number | 0 |
|
||||
| tst.js:239:12:239:17 | number | tst.js:239:12:239:18 | number= | 0 |
|
||||
| tst.js:239:12:239:18 | number= | tst.js:239:4:239:9 | @param | 0 |
|
||||
| tst.js:240:12:240:38 | function (?string=, number=) | tst.js:240:4:240:9 | @param | 0 |
|
||||
| tst.js:240:21:240:27 | ?string | tst.js:240:21:240:28 | ?string= | 0 |
|
||||
| tst.js:240:21:240:28 | ?string= | tst.js:240:12:240:38 | function (?string=, number=) | 0 |
|
||||
| tst.js:240:22:240:27 | string | tst.js:240:21:240:27 | ?string | 0 |
|
||||
| tst.js:240:31:240:36 | number | tst.js:240:31:240:37 | number= | 0 |
|
||||
| tst.js:240:31:240:37 | number= | tst.js:240:12:240:38 | function (?string=, number=) | 1 |
|
||||
| tst.js:241:12:241:12 | * | tst.js:241:4:241:9 | @param | 0 |
|
||||
| tst.js:242:12:242:12 | ? | tst.js:242:4:242:9 | @param | 0 |
|
||||
| tst.js:252:14:252:14 | T | tst.js:252:5:252:11 | @return | 0 |
|
||||
| tst.js:255:13:255:13 | T | tst.js:255:5:255:10 | @param | 0 |
|
||||
| tst.js:258:12:258:24 | !Foo.<string> | tst.js:258:5:258:9 | @type | 0 |
|
||||
| tst.js:258:13:258:15 | Foo | tst.js:258:13:258:24 | Foo.<string> | -1 |
|
||||
| tst.js:258:13:258:24 | Foo.<string> | tst.js:258:12:258:24 | !Foo.<string> | 0 |
|
||||
| tst.js:258:18:258:23 | string | tst.js:258:13:258:24 | Foo.<string> | 0 |
|
||||
| tst.js:259:22:259:34 | !Foo.<string> | tst.js:259:15:259:19 | @type | 0 |
|
||||
| tst.js:259:23:259:25 | Foo | tst.js:259:23:259:34 | Foo.<string> | -1 |
|
||||
| tst.js:259:23:259:34 | Foo.<string> | tst.js:259:22:259:34 | !Foo.<string> | 0 |
|
||||
| tst.js:259:28:259:33 | string | tst.js:259:23:259:34 | Foo.<string> | 0 |
|
||||
| tst.js:262:12:262:12 | T | tst.js:262:4:262:9 | @param | 0 |
|
||||
| tst.js:275:12:275:16 | MyMap | tst.js:275:12:275:33 | MyMap.<string, number> | -1 |
|
||||
| tst.js:275:12:275:33 | MyMap.<string, number> | tst.js:275:5:275:9 | @type | 0 |
|
||||
| tst.js:275:19:275:24 | string | tst.js:275:12:275:33 | MyMap.<string, number> | 0 |
|
||||
| tst.js:275:27:275:32 | number | tst.js:275:12:275:33 | MyMap.<string, number> | 1 |
|
||||
| tst.js:283:14:283:14 | X | tst.js:283:4:283:11 | @extends | 0 |
|
||||
| tst.js:288:12:288:14 | Foo | tst.js:288:12:288:18 | Foo.<X> | -1 |
|
||||
| tst.js:288:12:288:18 | Foo.<X> | tst.js:288:5:288:9 | @type | 0 |
|
||||
| tst.js:288:17:288:17 | X | tst.js:288:12:288:18 | Foo.<X> | 0 |
|
||||
| tst.js:289:12:289:14 | Foo | tst.js:289:12:289:18 | Foo.<Y> | -1 |
|
||||
| tst.js:289:12:289:18 | Foo.<Y> | tst.js:289:5:289:9 | @type | 0 |
|
||||
| tst.js:289:17:289:17 | Y | tst.js:289:12:289:18 | Foo.<Y> | 0 |
|
||||
| tst.js:294:13:294:15 | Foo | tst.js:294:13:294:19 | Foo.<Y> | -1 |
|
||||
| tst.js:294:13:294:19 | Foo.<Y> | tst.js:294:5:294:10 | @param | 0 |
|
||||
| tst.js:294:18:294:18 | Y | tst.js:294:13:294:19 | Foo.<Y> | 0 |
|
||||
| tst.js:306:13:306:13 | T | tst.js:306:5:306:10 | @param | 0 |
|
||||
| tst.js:311:14:311:14 | A | tst.js:311:14:311:23 | A.<string> | -1 |
|
||||
| tst.js:311:14:311:23 | A.<string> | tst.js:311:4:311:11 | @extends | 0 |
|
||||
| tst.js:311:17:311:22 | string | tst.js:311:14:311:23 | A.<string> | 0 |
|
||||
| tst.js:318:14:318:14 | A | tst.js:318:14:318:18 | A.<U> | -1 |
|
||||
| tst.js:318:14:318:18 | A.<U> | tst.js:318:4:318:11 | @extends | 0 |
|
||||
| tst.js:318:17:318:17 | U | tst.js:318:14:318:18 | A.<U> | 0 |
|
||||
| tst.js:328:14:328:14 | T | tst.js:328:5:328:11 | @return | 0 |
|
||||
| tst.js:333:17:333:19 | Foo | tst.js:333:17:333:28 | Foo.<string> | -1 |
|
||||
| tst.js:333:17:333:28 | Foo.<string> | tst.js:333:4:333:14 | @implements | 0 |
|
||||
| tst.js:333:22:333:27 | string | tst.js:333:17:333:28 | Foo.<string> | 0 |
|
||||
| tst.js:334:17:334:19 | Foo | tst.js:334:17:334:28 | Foo.<number> | -1 |
|
||||
| tst.js:334:17:334:28 | Foo.<number> | tst.js:334:4:334:14 | @implements | 0 |
|
||||
| tst.js:334:22:334:27 | number | tst.js:334:17:334:28 | Foo.<number> | 0 |
|
||||
| tst.js:339:12:339:12 | T | tst.js:339:4:339:9 | @param | 0 |
|
||||
| tst.js:340:13:340:13 | T | tst.js:340:4:340:10 | @return | 0 |
|
||||
| tst.js:345:12:345:17 | string | tst.js:345:5:345:9 | @type | 0 |
|
||||
| tst.js:346:12:346:17 | number | tst.js:346:5:346:9 | @type | 0 |
|
||||
| tst.js:347:12:347:17 | number | tst.js:347:5:347:9 | @type | 0 |
|
||||
| tst.js:349:12:349:17 | string | tst.js:349:12:349:27 | (string\|undefined) | 0 |
|
||||
| tst.js:349:12:349:27 | (string\|undefined) | tst.js:349:5:349:9 | @type | 0 |
|
||||
| tst.js:349:19:349:27 | undefined | tst.js:349:12:349:27 | (string\|undefined) | 1 |
|
||||
| tst.js:357:12:357:16 | Array | tst.js:357:12:357:25 | Array.<number> | -1 |
|
||||
| tst.js:357:12:357:25 | Array.<number> | tst.js:357:4:357:9 | @param | 0 |
|
||||
| tst.js:357:19:357:24 | number | tst.js:357:12:357:25 | Array.<number> | 0 |
|
||||
| tst.js:358:12:358:48 | function (x: !number, y: !number): number | tst.js:358:4:358:9 | @param | 0 |
|
||||
| tst.js:358:23:358:29 | !number | tst.js:358:12:358:48 | function (x: !number, y: !number): number | 0 |
|
||||
| tst.js:358:24:358:29 | number | tst.js:358:23:358:29 | !number | 0 |
|
||||
| tst.js:358:34:358:40 | !number | tst.js:358:12:358:48 | function (x: !number, y: !number): number | 1 |
|
||||
| tst.js:358:35:358:40 | number | tst.js:358:34:358:40 | !number | 0 |
|
||||
| tst.js:358:43:358:48 | number | tst.js:358:12:358:48 | function (x: !number, y: !number): number | -1 |
|
||||
| tst.js:364:14:364:15 | T1 | tst.js:364:6:364:11 | @param | 0 |
|
||||
| tst.js:369:14:369:15 | T2 | tst.js:369:6:369:11 | @param | 0 |
|
||||
| tst.js:376:14:376:15 | T3 | tst.js:376:6:376:11 | @param | 0 |
|
||||
| tst.js:381:14:381:15 | T4 | tst.js:381:6:381:11 | @param | 0 |
|
||||
| tst.js:387:12:387:16 | Array | tst.js:387:12:388:13 | Array.<number> | -1 |
|
||||
| tst.js:387:12:388:13 | Array.<number> | tst.js:387:4:387:9 | @param | 0 |
|
||||
| tst.js:388:7:388:12 | number | tst.js:387:12:388:13 | Array.<number> | 0 |
|
||||
test_getParameterTag
|
||||
| tst.js:146:37:146:44 | groupNum | groupNum | tst.js:142:4:142:9 | @param | groupNum | tst.js:142:12:142:17 | number |
|
||||
| tst.js:146:47:146:50 | term | term | tst.js:143:4:143:9 | @param | term | tst.js:143:12:143:29 | (string\|number\|null) |
|
||||
| tst.js:166:59:166:65 | element | element | tst.js:163:4:163:9 | @param | element | tst.js:163:12:163:18 | Element |
|
||||
| tst.js:220:28:220:28 | x | x | tst.js:219:5:219:10 | @param | x | tst.js:219:13:219:27 | goog.NumberLike |
|
||||
| tst.js:256:30:256:30 | t | t | tst.js:255:5:255:10 | @param | t | tst.js:255:13:255:13 | T |
|
||||
| tst.js:266:16:266:16 | t | t | tst.js:262:4:262:9 | @param | t | tst.js:262:12:262:12 | T |
|
||||
| tst.js:295:22:295:25 | fooY | fooY | tst.js:294:5:294:10 | @param | fooY | tst.js:294:13:294:19 | Foo.<Y> |
|
||||
| tst.js:307:31:307:31 | t | t | tst.js:306:5:306:10 | @param | t | tst.js:306:13:306:13 | T |
|
||||
| tst.js:343:21:343:21 | a | a | tst.js:339:4:339:9 | @param | a | tst.js:339:12:339:12 | T |
|
||||
| tst.js:360:15:360:19 | array | array | tst.js:357:4:357:9 | @param | array | tst.js:357:12:357:25 | Array.<number> |
|
||||
| tst.js:360:22:360:23 | fn | fn | tst.js:358:4:358:9 | @param | fn | tst.js:358:12:358:48 | function (x: !number, y: !number): number |
|
||||
| tst.js:366:27:366:27 | p | p | tst.js:364:6:364:11 | @param | p | tst.js:364:14:364:15 | T1 |
|
||||
| tst.js:371:15:371:15 | p | p | tst.js:369:6:369:11 | @param | p | tst.js:369:14:369:15 | T2 |
|
||||
| tst.js:378:15:378:15 | p | p | tst.js:376:6:376:11 | @param | p | tst.js:376:14:376:15 | T3 |
|
||||
| tst.js:383:15:383:15 | p | p | tst.js:381:6:381:11 | @param | p | tst.js:381:14:381:15 | T4 |
|
||||
| tst.js:390:20:390:20 | x | x | tst.js:387:4:387:9 | @param | x | tst.js:387:12:388:13 | Array.<number> |
|
||||
test_JSDocArrayTypeExpr
|
||||
| tst.js:237:32:237:39 | [number] | 0 | tst.js:237:33:237:38 | number |
|
||||
test_JSDocUnionTypeExpr
|
||||
| tst.js:143:12:143:29 | (string\|number\|null) | tst.js:143:12:143:17 | string |
|
||||
| tst.js:143:12:143:29 | (string\|number\|null) | tst.js:143:19:143:24 | number |
|
||||
@@ -6,14 +424,58 @@ test_JSDocUnionTypeExpr
|
||||
| tst.js:216:15:216:29 | (string\|number) | tst.js:216:23:216:28 | number |
|
||||
| tst.js:349:12:349:27 | (string\|undefined) | tst.js:349:12:349:17 | string |
|
||||
| tst.js:349:12:349:27 | (string\|undefined) | tst.js:349:19:349:27 | undefined |
|
||||
test_JSDocArrayTypeExpr
|
||||
| tst.js:237:32:237:39 | [number] | 0 | tst.js:237:33:237:38 | number |
|
||||
test_Parameter_getDocumentation
|
||||
| tst.js:149:28:149:28 | a | tst.js:149:14:149:26 | /** number */ |
|
||||
| tst.js:149:45:149:45 | b | tst.js:149:31:149:43 | /** number */ |
|
||||
test_JSDocRecordTypeExpr
|
||||
| tst.js:223:12:223:36 | {myNum: number, myObject} | myNum | number |
|
||||
| tst.js:223:12:223:36 | {myNum: number, myObject} | myObject | (none) |
|
||||
test_JSDocAppliedTypeExpr
|
||||
| tst.js:155:11:155:20 | Array.<Function> | tst.js:155:11:155:20 | Array | 0 | tst.js:155:11:155:18 | Function |
|
||||
| tst.js:258:13:258:24 | Foo.<string> | tst.js:258:13:258:15 | Foo | 0 | tst.js:258:18:258:23 | string |
|
||||
| tst.js:259:23:259:34 | Foo.<string> | tst.js:259:23:259:25 | Foo | 0 | tst.js:259:28:259:33 | string |
|
||||
| tst.js:275:12:275:33 | MyMap.<string, number> | tst.js:275:12:275:16 | MyMap | 0 | tst.js:275:19:275:24 | string |
|
||||
| tst.js:275:12:275:33 | MyMap.<string, number> | tst.js:275:12:275:16 | MyMap | 1 | tst.js:275:27:275:32 | number |
|
||||
| tst.js:288:12:288:18 | Foo.<X> | tst.js:288:12:288:14 | Foo | 0 | tst.js:288:17:288:17 | X |
|
||||
| tst.js:289:12:289:18 | Foo.<Y> | tst.js:289:12:289:14 | Foo | 0 | tst.js:289:17:289:17 | Y |
|
||||
| tst.js:294:13:294:19 | Foo.<Y> | tst.js:294:13:294:15 | Foo | 0 | tst.js:294:18:294:18 | Y |
|
||||
| tst.js:311:14:311:23 | A.<string> | tst.js:311:14:311:14 | A | 0 | tst.js:311:17:311:22 | string |
|
||||
| tst.js:318:14:318:18 | A.<U> | tst.js:318:14:318:14 | A | 0 | tst.js:318:17:318:17 | U |
|
||||
| tst.js:333:17:333:28 | Foo.<string> | tst.js:333:17:333:19 | Foo | 0 | tst.js:333:22:333:27 | string |
|
||||
| tst.js:334:17:334:28 | Foo.<number> | tst.js:334:17:334:19 | Foo | 0 | tst.js:334:22:334:27 | number |
|
||||
| tst.js:357:12:357:25 | Array.<number> | tst.js:357:12:357:16 | Array | 0 | tst.js:357:19:357:24 | number |
|
||||
| tst.js:387:12:388:13 | Array.<number> | tst.js:387:12:387:16 | Array | 0 | tst.js:388:7:388:12 | number |
|
||||
test_JSDocFunctionTypeExpr
|
||||
| tst.js:233:12:233:36 | function (string, boolean) | (none) | (none) | 0 | tst.js:233:21:233:26 | string | no |
|
||||
| tst.js:233:12:233:36 | function (string, boolean) | (none) | (none) | 1 | tst.js:233:29:233:35 | boolean | no |
|
||||
| tst.js:235:12:235:46 | function (this: goog.ui.Menu, string) | (none) | goog.ui.Menu | 0 | tst.js:235:40:235:45 | string | no |
|
||||
| tst.js:236:12:236:45 | function (new: goog.ui.Menu, string) | (none) | goog.ui.Menu | 0 | tst.js:236:39:236:44 | string | yes |
|
||||
| tst.js:237:12:237:48 | function (string, ...[number]): number | number | (none) | 0 | tst.js:237:21:237:26 | string | no |
|
||||
| tst.js:237:12:237:48 | function (string, ...[number]): number | number | (none) | 1 | tst.js:237:32:237:39 | ...[number] | no |
|
||||
| tst.js:240:12:240:38 | function (?string=, number=) | (none) | (none) | 0 | tst.js:240:21:240:28 | ?string= | no |
|
||||
| tst.js:240:12:240:38 | function (?string=, number=) | (none) | (none) | 1 | tst.js:240:31:240:37 | number= | no |
|
||||
| tst.js:358:12:358:48 | function (x: !number, y: !number): number | number | (none) | 0 | tst.js:358:23:358:29 | !number | no |
|
||||
| tst.js:358:12:358:48 | function (x: !number, y: !number): number | number | (none) | 1 | tst.js:358:34:358:40 | !number | no |
|
||||
test_JSDocNullableTypeExpr
|
||||
| tst.js:226:12:226:18 | number? | tst.js:226:12:226:17 | number | postfix |
|
||||
| tst.js:240:21:240:27 | ?string | tst.js:240:22:240:27 | string | prefix |
|
||||
test_JSDocNonNullableTypeExpr
|
||||
| tst.js:229:12:229:18 | !Object | tst.js:229:13:229:18 | Object | prefix |
|
||||
| tst.js:258:12:258:24 | !Foo.<string> | tst.js:258:13:258:24 | Foo.<string> | prefix |
|
||||
| tst.js:259:22:259:34 | !Foo.<string> | tst.js:259:23:259:34 | Foo.<string> | prefix |
|
||||
| tst.js:358:23:358:29 | !number | tst.js:358:24:358:29 | number | prefix |
|
||||
| tst.js:358:34:358:40 | !number | tst.js:358:35:358:40 | number | prefix |
|
||||
test_ParExpr_getDocumentation
|
||||
| tst.js:117:42:119:10 | ({\\n ... }) | tst.js:117:9:117:40 | /** @le ... ype} */ |
|
||||
| tst.js:259:40:259:50 | (new Foo()) | tst.js:259:11:259:38 | /** @ty ... ng>} */ |
|
||||
test_JSDocRestParameterTypeExpr
|
||||
| tst.js:237:32:237:39 | ...[number] | tst.js:237:32:237:39 | [number] |
|
||||
| tst.js:238:12:238:20 | ...number | tst.js:238:15:238:20 | number |
|
||||
test_Parameter_getDocumentation
|
||||
| tst.js:149:28:149:28 | a | tst.js:149:14:149:26 | /** number */ |
|
||||
| tst.js:149:45:149:45 | b | tst.js:149:31:149:43 | /** number */ |
|
||||
test_ObjectExpr_getDocumentation
|
||||
| tst.js:48:25:48:36 | { 'x': 321 } | tst.js:48:12:48:23 | /** @dict */ |
|
||||
| tst.js:55:20:59:1 | {\\n TRU ... BE: 0\\n} | tst.js:51:1:54:3 | /**\\n * ... er}\\n */ |
|
||||
| tst.js:117:43:119:9 | {\\n ... } | tst.js:117:9:117:40 | /** @le ... ype} */ |
|
||||
| tst.js:192:27:192:36 | { x: 321 } | tst.js:192:12:192:25 | /** @struct */ |
|
||||
test_AssignExpr_getDocumentation
|
||||
| tst.js:12:1:12:29 | mynames ... 'stout' | tst.js:7:1:11:3 | /**\\n * ... ng}\\n */ |
|
||||
| tst.js:14:15:14:39 | MyClass ... 'stout' | tst.js:14:1:14:13 | /** @const */ |
|
||||
@@ -46,6 +508,10 @@ test_AssignExpr_getDocumentation
|
||||
| tst.js:329:1:329:33 | Foo.pro ... on() {} | tst.js:328:1:328:18 | /** @return {T} */ |
|
||||
| tst.js:336:1:336:24 | FooImpl ... n() { } | tst.js:331:1:335:3 | /**\\n * ... r>}\\n */ |
|
||||
| tst.js:343:1:343:36 | identit ... rn a; } | tst.js:338:1:342:3 | /**\\n * ... e T\\n */ |
|
||||
test_JSDocOptionalParameterTypeExpr
|
||||
| tst.js:239:12:239:18 | number= | tst.js:239:12:239:17 | number |
|
||||
| tst.js:240:21:240:28 | ?string= | tst.js:240:21:240:27 | ?string |
|
||||
| tst.js:240:31:240:37 | number= | tst.js:240:31:240:36 | number |
|
||||
test_Function_getDocumentation
|
||||
| tst.js:20:1:21:1 | functio ... t() {\\n} | tst.js:16:1:19:3 | /**\\n * ... tor\\n */ |
|
||||
| tst.js:36:34:37:1 | function(node) {\\n} | tst.js:29:1:35:3 | /**\\n * ... ().\\n */ |
|
||||
@@ -293,469 +759,3 @@ test_OtherExpr_getDocumentation
|
||||
| tst.js:371:3:371:13 | fancyMethod | tst.js:368:3:370:5 | /**\\n ... p\\n */ |
|
||||
| tst.js:378:3:378:13 | constructor | tst.js:375:3:377:5 | /**\\n ... p\\n */ |
|
||||
| tst.js:383:3:383:13 | classMethod | tst.js:380:3:382:5 | /**\\n ... p\\n */ |
|
||||
test_JSDocRecordTypeExpr
|
||||
| tst.js:223:12:223:36 | {myNum: number, myObject} | myNum | number |
|
||||
| tst.js:223:12:223:36 | {myNum: number, myObject} | myObject | (none) |
|
||||
test_JSDoc
|
||||
| tst.js:5:1:5:13 | /** @const */ | | tst.js:5:1:5:13 | /** @const */ |
|
||||
| tst.js:7:1:11:3 | /**\\n * ... ng}\\n */ | My namespace's favorite kind of beer. | tst.js:7:1:11:3 | /**\\n * ... ng}\\n */ |
|
||||
| tst.js:14:1:14:13 | /** @const */ | | tst.js:14:1:14:13 | /** @const */ |
|
||||
| tst.js:16:1:19:3 | /**\\n * ... tor\\n */ | A rectangle. | tst.js:16:1:19:3 | /**\\n * ... tor\\n */ |
|
||||
| tst.js:23:1:23:24 | /** @de ... ean} */ | | tst.js:23:1:23:24 | /** @de ... ean} */ |
|
||||
| tst.js:26:1:26:24 | /** @de ... ean} */ | | tst.js:26:1:26:24 | /** @de ... ean} */ |
|
||||
| tst.js:29:1:35:3 | /**\\n * ... ().\\n */ | Determines whether a node is a field. | tst.js:29:1:35:3 | /**\\n * ... ().\\n */ |
|
||||
| tst.js:39:1:42:3 | /**\\n * ... ict\\n */ | | tst.js:39:1:42:3 | /**\\n * ... ict\\n */ |
|
||||
| tst.js:48:12:48:23 | /** @dict */ | | tst.js:48:12:48:23 | /** @dict */ |
|
||||
| tst.js:51:1:54:3 | /**\\n * ... er}\\n */ | Enum for tri-state values. | tst.js:51:1:54:3 | /**\\n * ... er}\\n */ |
|
||||
| tst.js:61:1:61:14 | /** @export */ | | tst.js:61:1:61:14 | /** @export */ |
|
||||
| tst.js:65:1:69:3 | /**\\n * ... st}\\n */ | Immutable empty node list. | tst.js:65:1:69:3 | /**\\n * ... st}\\n */ |
|
||||
| tst.js:73:1:77:3 | /**\\n * ... tor\\n */ | A class that cannot be extended. | tst.js:73:1:77:3 | /**\\n * ... tor\\n */ |
|
||||
| tst.js:80:1:83:3 | /**\\n * ... nal\\n */ | A method that cannot be overridden. | tst.js:80:1:83:3 | /**\\n * ... nal\\n */ |
|
||||
| tst.js:86:1:89:3 | /**\\n * ... ace\\n */ | A shape. | tst.js:86:1:89:3 | /**\\n * ... ace\\n */ |
|
||||
| tst.js:93:1:96:3 | /**\\n * ... pe}\\n */ | | tst.js:93:1:96:3 | /**\\n * ... pe}\\n */ |
|
||||
| tst.js:101:1:103:17 | /**\\n * ... tDoc */ | | tst.js:101:1:103:17 | /**\\n * ... tDoc */ |
|
||||
| tst.js:107:1:111:3 | /**\\n * ... pe}\\n */ | A polygon. | tst.js:107:1:111:3 | /**\\n * ... pe}\\n */ |
|
||||
| tst.js:117:9:117:40 | /** @le ... ype} */ | | tst.js:117:9:117:40 | /** @le ... ype} */ |
|
||||
| tst.js:121:1:126:3 | /**\\n * ... sh:\\n */ | | tst.js:121:1:126:3 | /**\\n * ... sh:\\n */ |
|
||||
| tst.js:128:1:128:21 | /** @no ... ects */ | | tst.js:128:1:128:21 | /** @no ... ects */ |
|
||||
| tst.js:131:1:136:3 | /**\\n * ... age\\n */ | Returns the window object the foreign document resides in. | tst.js:131:1:136:3 | /**\\n * ... age\\n */ |
|
||||
| tst.js:140:1:145:3 | /**\\n * ... ng.\\n */ | Queries a Baz for items. | tst.js:140:1:145:3 | /**\\n * ... ng.\\n */ |
|
||||
| tst.js:149:14:149:26 | /** number */ | number | tst.js:149:14:149:26 | /** number */ |
|
||||
| tst.js:149:31:149:43 | /** number */ | number | tst.js:149:31:149:43 | /** number */ |
|
||||
| tst.js:153:1:157:3 | /**\\n * ... ate\\n */ | Handlers that are listening to this logger. | tst.js:153:1:157:3 | /**\\n * ... ate\\n */ |
|
||||
| tst.js:160:1:165:3 | /**\\n * ... ted\\n */ | Sets the component's root element to the given element.\nConsidered protected and final. | tst.js:160:1:165:3 | /**\\n * ... ted\\n */ |
|
||||
| tst.js:169:1:172:3 | /**\\n * ... ID.\\n */ | Returns the ID of the last item. | tst.js:169:1:172:3 | /**\\n * ... ID.\\n */ |
|
||||
| tst.js:177:10:177:22 | /** number */ | number | tst.js:177:10:177:22 | /** number */ |
|
||||
| tst.js:179:1:182:3 | /**\\n * ... uct\\n */ | | tst.js:179:1:182:3 | /**\\n * ... uct\\n */ |
|
||||
| tst.js:192:12:192:25 | /** @struct */ | | tst.js:192:12:192:25 | /** @struct */ |
|
||||
| tst.js:196:9:200:11 | /**\\n ... */ | Returns the roster widget element. | tst.js:196:9:200:11 | /**\\n ... */ |
|
||||
| tst.js:205:1:207:3 | /**\\n * ... on}\\n */ | | tst.js:205:1:207:3 | /**\\n * ... on}\\n */ |
|
||||
| tst.js:210:1:213:3 | /**\\n * ... ng}\\n */ | The message hex ID. | tst.js:210:1:213:3 | /**\\n * ... ng}\\n */ |
|
||||
| tst.js:216:1:216:33 | /** @ty ... er)} */ | | tst.js:216:1:216:33 | /** @ty ... er)} */ |
|
||||
| tst.js:219:1:219:55 | /** @pa ... ing. */ | | tst.js:219:1:219:55 | /** @pa ... ing. */ |
|
||||
| tst.js:223:1:223:40 | /** @ty ... ct}} */ | | tst.js:223:1:223:40 | /** @ty ... ct}} */ |
|
||||
| tst.js:226:1:226:22 | /** @ty ... er?} */ | | tst.js:226:1:226:22 | /** @ty ... er?} */ |
|
||||
| tst.js:229:1:229:22 | /** @ty ... ect} */ | | tst.js:229:1:229:22 | /** @ty ... ect} */ |
|
||||
| tst.js:232:1:243:3 | /**\\n * ... p10\\n */ | | tst.js:232:1:243:3 | /**\\n * ... p10\\n */ |
|
||||
| tst.js:246:1:249:3 | /**\\n * ... e T\\n */ | | tst.js:246:1:249:3 | /**\\n * ... e T\\n */ |
|
||||
| tst.js:252:1:252:18 | /** @return {T} */ | | tst.js:252:1:252:18 | /** @return {T} */ |
|
||||
| tst.js:255:1:255:19 | /** @param {T} t */ | | tst.js:255:1:255:19 | /** @param {T} t */ |
|
||||
| tst.js:258:1:258:28 | /** @ty ... ng>} */ | | tst.js:258:1:258:28 | /** @ty ... ng>} */ |
|
||||
| tst.js:259:11:259:38 | /** @ty ... ng>} */ | | tst.js:259:11:259:38 | /** @ty ... ng>} */ |
|
||||
| tst.js:261:1:265:3 | /**\\n * ... e T\\n */ | | tst.js:261:1:265:3 | /**\\n * ... e T\\n */ |
|
||||
| tst.js:269:1:272:3 | /**\\n * ... Val\\n */ | | tst.js:269:1:272:3 | /**\\n * ... Val\\n */ |
|
||||
| tst.js:275:1:275:37 | /** @ty ... er>} */ | | tst.js:275:1:275:37 | /** @ty ... er>} */ |
|
||||
| tst.js:277:1:279:3 | /**\\n * ... tor\\n */ | | tst.js:277:1:279:3 | /**\\n * ... tor\\n */ |
|
||||
| tst.js:282:1:285:3 | /**\\n * ... tor\\n */ | | tst.js:282:1:285:3 | /**\\n * ... tor\\n */ |
|
||||
| tst.js:288:1:288:22 | /** @ty ... <X>} */ | | tst.js:288:1:288:22 | /** @ty ... <X>} */ |
|
||||
| tst.js:289:1:289:22 | /** @ty ... <Y>} */ | | tst.js:289:1:289:22 | /** @ty ... <Y>} */ |
|
||||
| tst.js:294:1:294:28 | /** @pa ... fooY */ | | tst.js:294:1:294:28 | /** @pa ... fooY */ |
|
||||
| tst.js:300:1:303:3 | /**\\n * ... e T\\n */ | | tst.js:300:1:303:3 | /**\\n * ... e T\\n */ |
|
||||
| tst.js:306:1:306:19 | /** @param {T} t */ | | tst.js:306:1:306:19 | /** @param {T} t */ |
|
||||
| tst.js:309:1:312:3 | /**\\n * ... g>}\\n */ | | tst.js:309:1:312:3 | /**\\n * ... g>}\\n */ |
|
||||
| tst.js:315:1:319:3 | /**\\n * ... U>}\\n */ | | tst.js:315:1:319:3 | /**\\n * ... U>}\\n */ |
|
||||
| tst.js:322:1:325:3 | /**\\n * ... e T\\n */ | | tst.js:322:1:325:3 | /**\\n * ... e T\\n */ |
|
||||
| tst.js:328:1:328:18 | /** @return {T} */ | | tst.js:328:1:328:18 | /** @return {T} */ |
|
||||
| tst.js:331:1:335:3 | /**\\n * ... r>}\\n */ | | tst.js:331:1:335:3 | /**\\n * ... r>}\\n */ |
|
||||
| tst.js:338:1:342:3 | /**\\n * ... e T\\n */ | | tst.js:338:1:342:3 | /**\\n * ... e T\\n */ |
|
||||
| tst.js:345:1:345:21 | /** @ty ... ing} */ | | tst.js:345:1:345:21 | /** @ty ... ing} */ |
|
||||
| tst.js:346:1:346:21 | /** @ty ... ber} */ | | tst.js:346:1:346:21 | /** @ty ... ber} */ |
|
||||
| tst.js:347:1:347:21 | /** @ty ... ber} */ | | tst.js:347:1:347:21 | /** @ty ... ber} */ |
|
||||
| tst.js:349:1:349:31 | /** @ty ... ned} */ | | tst.js:349:1:349:31 | /** @ty ... ned} */ |
|
||||
| tst.js:351:1:353:3 | /**\\n * ... ger\\n */ | | tst.js:351:1:353:3 | /**\\n * ... ger\\n */ |
|
||||
| tst.js:356:1:359:3 | /**\\n * ... ion\\n */ | | tst.js:356:1:359:3 | /**\\n * ... ion\\n */ |
|
||||
| tst.js:363:3:365:5 | /**\\n ... p\\n */ | | tst.js:363:3:365:5 | /**\\n ... p\\n */ |
|
||||
| tst.js:368:3:370:5 | /**\\n ... p\\n */ | | tst.js:368:3:370:5 | /**\\n ... p\\n */ |
|
||||
| tst.js:375:3:377:5 | /**\\n ... p\\n */ | | tst.js:375:3:377:5 | /**\\n ... p\\n */ |
|
||||
| tst.js:380:3:382:5 | /**\\n ... p\\n */ | | tst.js:380:3:382:5 | /**\\n ... p\\n */ |
|
||||
| tst.js:386:1:389:3 | /**\\n * ... } x\\n */ | | tst.js:386:1:389:3 | /**\\n * ... } x\\n */ |
|
||||
test_JSDocTag
|
||||
| tst.js:5:5:5:10 | @const | const | tst.js:5:1:5:13 | /** @const */ | 0 | (none) | (none) | (none) |
|
||||
| tst.js:9:4:9:9 | @const | const | tst.js:7:1:11:3 | /**\\n * ... ng}\\n */ | 0 | (none) | (none) | (none) |
|
||||
| tst.js:10:4:10:8 | @type | type | tst.js:7:1:11:3 | /**\\n * ... ng}\\n */ | 1 | (none) | (none) | string |
|
||||
| tst.js:14:5:14:10 | @const | const | tst.js:14:1:14:13 | /** @const */ | 0 | (none) | (none) | (none) |
|
||||
| tst.js:18:4:18:15 | @constructor | constructor | tst.js:16:1:19:3 | /**\\n * ... tor\\n */ | 0 | (none) | (none) | (none) |
|
||||
| tst.js:23:5:23:11 | @define | define | tst.js:23:1:23:24 | /** @de ... ean} */ | 0 | (none) | (none) | boolean |
|
||||
| tst.js:26:5:26:11 | @define | define | tst.js:26:1:26:24 | /** @de ... ean} */ | 0 | (none) | (none) | boolean |
|
||||
| tst.js:31:4:31:10 | @return | return | tst.js:29:1:35:3 | /**\\n * ... ().\\n */ | 0 | True if the contents of\nthe element are editable, but the element\nitself is not.\n | (none) | boolean |
|
||||
| tst.js:34:4:34:14 | @deprecated | deprecated | tst.js:29:1:35:3 | /**\\n * ... ().\\n */ | 1 | Use isField(). | (none) | (none) |
|
||||
| tst.js:40:4:40:15 | @constructor | constructor | tst.js:39:1:42:3 | /**\\n * ... ict\\n */ | 0 | (none) | (none) | (none) |
|
||||
| tst.js:41:4:41:8 | @dict | dict | tst.js:39:1:42:3 | /**\\n * ... ict\\n */ | 1 | (none) | (none) | (none) |
|
||||
| tst.js:48:16:48:20 | @dict | dict | tst.js:48:12:48:23 | /** @dict */ | 0 | (none) | (none) | (none) |
|
||||
| tst.js:53:4:53:8 | @enum | enum | tst.js:51:1:54:3 | /**\\n * ... er}\\n */ | 0 | (none) | (none) | number |
|
||||
| tst.js:61:5:61:11 | @export | export | tst.js:61:1:61:14 | /** @export */ | 0 | (none) | (none) | (none) |
|
||||
| tst.js:67:4:67:15 | @constructor | constructor | tst.js:65:1:69:3 | /**\\n * ... st}\\n */ | 0 | (none) | (none) | (none) |
|
||||
| tst.js:68:4:68:11 | @extends | extends | tst.js:65:1:69:3 | /**\\n * ... st}\\n */ | 1 | (none) | (none) | goog.ds.BasicNodeList |
|
||||
| tst.js:75:4:75:9 | @final | final | tst.js:73:1:77:3 | /**\\n * ... tor\\n */ | 0 | (none) | (none) | (none) |
|
||||
| tst.js:76:4:76:15 | @constructor | constructor | tst.js:73:1:77:3 | /**\\n * ... tor\\n */ | 1 | (none) | (none) | (none) |
|
||||
| tst.js:82:4:82:9 | @final | final | tst.js:80:1:83:3 | /**\\n * ... nal\\n */ | 0 | (none) | (none) | (none) |
|
||||
| tst.js:88:4:88:13 | @interface | interface | tst.js:86:1:89:3 | /**\\n * ... ace\\n */ | 0 | (none) | (none) | (none) |
|
||||
| tst.js:94:4:94:15 | @constructor | constructor | tst.js:93:1:96:3 | /**\\n * ... pe}\\n */ | 0 | (none) | (none) | (none) |
|
||||
| tst.js:95:4:95:14 | @implements | implements | tst.js:93:1:96:3 | /**\\n * ... pe}\\n */ | 1 | (none) | (none) | Shape |
|
||||
| tst.js:102:4:102:12 | @override | override | tst.js:101:1:103:17 | /**\\n * ... tDoc */ | 0 | (none) | (none) | (none) |
|
||||
| tst.js:103:4:103:14 | @inheritDoc | inheritDoc | tst.js:101:1:103:17 | /**\\n * ... tDoc */ | 1 | (none) | (none) | (none) |
|
||||
| tst.js:109:4:109:13 | @interface | interface | tst.js:107:1:111:3 | /**\\n * ... pe}\\n */ | 0 | (none) | (none) | (none) |
|
||||
| tst.js:110:4:110:11 | @extends | extends | tst.js:107:1:111:3 | /**\\n * ... pe}\\n */ | 1 | (none) | (none) | Shape |
|
||||
| tst.js:117:13:117:18 | @lends | lends | tst.js:117:9:117:40 | /** @le ... ype} */ | 0 | {Button.prototype} | (none) | (none) |
|
||||
| tst.js:122:4:122:12 | @preserve | preserve | tst.js:121:1:126:3 | /**\\n * ... sh:\\n */ | 0 | Copyright 2009 SomeThirdParty.\nHere is the full license text and copyright\nnotice for this file. Note that the notice can span several\nlines and is only terminated by the closing star and slash: | (none) | (none) |
|
||||
| tst.js:128:5:128:18 | @nosideeffects | nosideeffects | tst.js:128:1:128:21 | /** @no ... ects */ | 0 | (none) | (none) | (none) |
|
||||
| tst.js:134:4:134:10 | @return | return | tst.js:131:1:136:3 | /**\\n * ... age\\n */ | 0 | The window object of the peer.\n | (none) | Object |
|
||||
| tst.js:135:4:135:11 | @package | package | tst.js:131:1:136:3 | /**\\n * ... age\\n */ | 1 | (none) | (none) | (none) |
|
||||
| tst.js:142:4:142:9 | @param | param | tst.js:140:1:145:3 | /**\\n * ... ng.\\n */ | 0 | Subgroup id to query.\n | groupNum | number |
|
||||
| tst.js:143:4:143:9 | @param | param | tst.js:140:1:145:3 | /**\\n * ... ng.\\n */ | 1 | An itemName,\nor itemId, or null to search everything. | term | (string\|number\|null) |
|
||||
| tst.js:155:4:155:8 | @type | type | tst.js:153:1:157:3 | /**\\n * ... ate\\n */ | 0 | (none) | (none) | Array.<Function> |
|
||||
| tst.js:156:4:156:11 | @private | private | tst.js:153:1:157:3 | /**\\n * ... ate\\n */ | 1 | (none) | (none) | (none) |
|
||||
| tst.js:163:4:163:9 | @param | param | tst.js:160:1:165:3 | /**\\n * ... ted\\n */ | 0 | Root element for the component.\n | element | Element |
|
||||
| tst.js:164:4:164:13 | @protected | protected | tst.js:160:1:165:3 | /**\\n * ... ted\\n */ | 1 | (none) | (none) | (none) |
|
||||
| tst.js:171:4:171:10 | @return | return | tst.js:169:1:172:3 | /**\\n * ... ID.\\n */ | 0 | The hex ID. | (none) | string |
|
||||
| tst.js:180:4:180:15 | @constructor | constructor | tst.js:179:1:182:3 | /**\\n * ... uct\\n */ | 0 | (none) | (none) | (none) |
|
||||
| tst.js:181:4:181:10 | @struct | struct | tst.js:179:1:182:3 | /**\\n * ... uct\\n */ | 1 | (none) | (none) | (none) |
|
||||
| tst.js:192:16:192:22 | @struct | struct | tst.js:192:12:192:25 | /** @struct */ | 0 | (none) | (none) | (none) |
|
||||
| tst.js:198:12:198:16 | @this | this | tst.js:196:9:200:11 | /**\\n ... */ | 0 | (none) | (none) | (none) |
|
||||
| tst.js:199:12:199:18 | @return | return | tst.js:196:9:200:11 | /**\\n ... */ | 1 | (none) | (none) | Element |
|
||||
| tst.js:206:4:206:10 | @throws | throws | tst.js:205:1:207:3 | /**\\n * ... on}\\n */ | 0 | (none) | (none) | DOMException |
|
||||
| tst.js:212:4:212:8 | @type | type | tst.js:210:1:213:3 | /**\\n * ... ng}\\n */ | 0 | (none) | (none) | string |
|
||||
| tst.js:216:5:216:12 | @typedef | typedef | tst.js:216:1:216:33 | /** @ty ... er)} */ | 0 | (none) | (none) | (string\|number) |
|
||||
| tst.js:219:5:219:10 | @param | param | tst.js:219:1:219:55 | /** @pa ... ing. */ | 0 | A number or a string. | x | goog.NumberLike |
|
||||
| tst.js:223:5:223:9 | @type | type | tst.js:223:1:223:40 | /** @ty ... ct}} */ | 0 | (none) | (none) | {myNum: number, myObject} |
|
||||
| tst.js:226:5:226:9 | @type | type | tst.js:226:1:226:22 | /** @ty ... er?} */ | 0 | (none) | (none) | number? |
|
||||
| tst.js:229:5:229:9 | @type | type | tst.js:229:1:229:22 | /** @ty ... ect} */ | 0 | (none) | (none) | !Object |
|
||||
| tst.js:233:4:233:9 | @param | param | tst.js:232:1:243:3 | /**\\n * ... p10\\n */ | 0 | (none) | p1 | function (string, boolean) |
|
||||
| tst.js:234:4:234:9 | @param | param | tst.js:232:1:243:3 | /**\\n * ... p10\\n */ | 1 | (none) | p2 | function (): number |
|
||||
| tst.js:235:4:235:9 | @param | param | tst.js:232:1:243:3 | /**\\n * ... p10\\n */ | 2 | (none) | p3 | function (this: goog.ui.Menu, string) |
|
||||
| tst.js:236:4:236:9 | @param | param | tst.js:232:1:243:3 | /**\\n * ... p10\\n */ | 3 | (none) | p4 | function (new: goog.ui.Menu, string) |
|
||||
| tst.js:237:4:237:9 | @param | param | tst.js:232:1:243:3 | /**\\n * ... p10\\n */ | 4 | (none) | p5 | function (string, ...[number]): number |
|
||||
| tst.js:238:4:238:9 | @param | param | tst.js:232:1:243:3 | /**\\n * ... p10\\n */ | 5 | p6\n | var_args | ...number |
|
||||
| tst.js:239:4:239:9 | @param | param | tst.js:232:1:243:3 | /**\\n * ... p10\\n */ | 6 | p7\n | opt_argument | number= |
|
||||
| tst.js:240:4:240:9 | @param | param | tst.js:232:1:243:3 | /**\\n * ... p10\\n */ | 7 | (none) | p8 | function (?string=, number=) |
|
||||
| tst.js:241:4:241:9 | @param | param | tst.js:232:1:243:3 | /**\\n * ... p10\\n */ | 8 | (none) | p9 | * |
|
||||
| tst.js:242:4:242:9 | @param | param | tst.js:232:1:243:3 | /**\\n * ... p10\\n */ | 9 | (none) | p10 | ? |
|
||||
| tst.js:247:4:247:15 | @constructor | constructor | tst.js:246:1:249:3 | /**\\n * ... e T\\n */ | 0 | (none) | (none) | (none) |
|
||||
| tst.js:248:4:248:12 | @template | template | tst.js:246:1:249:3 | /**\\n * ... e T\\n */ | 1 | T | (none) | (none) |
|
||||
| tst.js:252:5:252:11 | @return | return | tst.js:252:1:252:18 | /** @return {T} */ | 0 | (none) | (none) | T |
|
||||
| tst.js:255:5:255:10 | @param | param | tst.js:255:1:255:19 | /** @param {T} t */ | 0 | (none) | t | T |
|
||||
| tst.js:258:5:258:9 | @type | type | tst.js:258:1:258:28 | /** @ty ... ng>} */ | 0 | (none) | (none) | !Foo.<string> |
|
||||
| tst.js:259:15:259:19 | @type | type | tst.js:259:11:259:38 | /** @ty ... ng>} */ | 0 | (none) | (none) | !Foo.<string> |
|
||||
| tst.js:262:4:262:9 | @param | param | tst.js:261:1:265:3 | /**\\n * ... e T\\n */ | 0 | (none) | t | T |
|
||||
| tst.js:263:4:263:15 | @constructor | constructor | tst.js:261:1:265:3 | /**\\n * ... e T\\n */ | 1 | (none) | (none) | (none) |
|
||||
| tst.js:264:4:264:12 | @template | template | tst.js:261:1:265:3 | /**\\n * ... e T\\n */ | 2 | T | (none) | (none) |
|
||||
| tst.js:270:4:270:15 | @constructor | constructor | tst.js:269:1:272:3 | /**\\n * ... Val\\n */ | 0 | (none) | (none) | (none) |
|
||||
| tst.js:271:4:271:12 | @template | template | tst.js:269:1:272:3 | /**\\n * ... Val\\n */ | 1 | Key, Val | (none) | (none) |
|
||||
| tst.js:275:5:275:9 | @type | type | tst.js:275:1:275:37 | /** @ty ... er>} */ | 0 | (none) | (none) | MyMap.<string, number> |
|
||||
| tst.js:278:4:278:15 | @constructor | constructor | tst.js:277:1:279:3 | /**\\n * ... tor\\n */ | 0 | (none) | (none) | (none) |
|
||||
| tst.js:283:4:283:11 | @extends | extends | tst.js:282:1:285:3 | /**\\n * ... tor\\n */ | 0 | (none) | (none) | X |
|
||||
| tst.js:284:4:284:15 | @constructor | constructor | tst.js:282:1:285:3 | /**\\n * ... tor\\n */ | 1 | (none) | (none) | (none) |
|
||||
| tst.js:288:5:288:9 | @type | type | tst.js:288:1:288:22 | /** @ty ... <X>} */ | 0 | (none) | (none) | Foo.<X> |
|
||||
| tst.js:289:5:289:9 | @type | type | tst.js:289:1:289:22 | /** @ty ... <Y>} */ | 0 | (none) | (none) | Foo.<Y> |
|
||||
| tst.js:294:5:294:10 | @param | param | tst.js:294:1:294:28 | /** @pa ... fooY */ | 0 | (none) | fooY | Foo.<Y> |
|
||||
| tst.js:301:4:301:15 | @constructor | constructor | tst.js:300:1:303:3 | /**\\n * ... e T\\n */ | 0 | (none) | (none) | (none) |
|
||||
| tst.js:302:4:302:12 | @template | template | tst.js:300:1:303:3 | /**\\n * ... e T\\n */ | 1 | T | (none) | (none) |
|
||||
| tst.js:306:5:306:10 | @param | param | tst.js:306:1:306:19 | /** @param {T} t */ | 0 | (none) | t | T |
|
||||
| tst.js:310:4:310:15 | @constructor | constructor | tst.js:309:1:312:3 | /**\\n * ... g>}\\n */ | 0 | (none) | (none) | (none) |
|
||||
| tst.js:311:4:311:11 | @extends | extends | tst.js:309:1:312:3 | /**\\n * ... g>}\\n */ | 1 | (none) | (none) | A.<string> |
|
||||
| tst.js:316:4:316:15 | @constructor | constructor | tst.js:315:1:319:3 | /**\\n * ... U>}\\n */ | 0 | (none) | (none) | (none) |
|
||||
| tst.js:317:4:317:12 | @template | template | tst.js:315:1:319:3 | /**\\n * ... U>}\\n */ | 1 | U\n | (none) | (none) |
|
||||
| tst.js:318:4:318:11 | @extends | extends | tst.js:315:1:319:3 | /**\\n * ... U>}\\n */ | 2 | (none) | (none) | A.<U> |
|
||||
| tst.js:323:4:323:13 | @interface | interface | tst.js:322:1:325:3 | /**\\n * ... e T\\n */ | 0 | (none) | (none) | (none) |
|
||||
| tst.js:324:4:324:12 | @template | template | tst.js:322:1:325:3 | /**\\n * ... e T\\n */ | 1 | T | (none) | (none) |
|
||||
| tst.js:328:5:328:11 | @return | return | tst.js:328:1:328:18 | /** @return {T} */ | 0 | (none) | (none) | T |
|
||||
| tst.js:332:4:332:15 | @constructor | constructor | tst.js:331:1:335:3 | /**\\n * ... r>}\\n */ | 0 | (none) | (none) | (none) |
|
||||
| tst.js:333:4:333:14 | @implements | implements | tst.js:331:1:335:3 | /**\\n * ... r>}\\n */ | 1 | (none) | (none) | Foo.<string> |
|
||||
| tst.js:334:4:334:14 | @implements | implements | tst.js:331:1:335:3 | /**\\n * ... r>}\\n */ | 2 | (none) | (none) | Foo.<number> |
|
||||
| tst.js:339:4:339:9 | @param | param | tst.js:338:1:342:3 | /**\\n * ... e T\\n */ | 0 | (none) | a | T |
|
||||
| tst.js:340:4:340:10 | @return | return | tst.js:338:1:342:3 | /**\\n * ... e T\\n */ | 1 | (none) | (none) | T |
|
||||
| tst.js:341:4:341:12 | @template | template | tst.js:338:1:342:3 | /**\\n * ... e T\\n */ | 2 | T | (none) | (none) |
|
||||
| tst.js:345:5:345:9 | @type | type | tst.js:345:1:345:21 | /** @ty ... ing} */ | 0 | (none) | (none) | string |
|
||||
| tst.js:346:5:346:9 | @type | type | tst.js:346:1:346:21 | /** @ty ... ber} */ | 0 | (none) | (none) | number |
|
||||
| tst.js:347:5:347:9 | @type | type | tst.js:347:1:347:21 | /** @ty ... ber} */ | 0 | (none) | (none) | number |
|
||||
| tst.js:349:5:349:9 | @type | type | tst.js:349:1:349:31 | /** @ty ... ned} */ | 0 | (none) | (none) | (string\|undefined) |
|
||||
| tst.js:352:4:352:9 | @param | param | tst.js:351:1:353:3 | /**\\n * ... ger\\n */ | 0 | [int] an integer | (none) | (none) |
|
||||
| tst.js:357:4:357:9 | @param | param | tst.js:356:1:359:3 | /**\\n * ... ion\\n */ | 0 | the array to sort\n | array | Array.<number> |
|
||||
| tst.js:358:4:358:9 | @param | param | tst.js:356:1:359:3 | /**\\n * ... ion\\n */ | 1 | the comparator function | fn | function (x: !number, y: !number): number |
|
||||
| tst.js:364:6:364:11 | @param | param | tst.js:363:3:365:5 | /**\\n ... p\\n */ | 0 | (none) | p | T1 |
|
||||
| tst.js:369:6:369:11 | @param | param | tst.js:368:3:370:5 | /**\\n ... p\\n */ | 0 | (none) | p | T2 |
|
||||
| tst.js:376:6:376:11 | @param | param | tst.js:375:3:377:5 | /**\\n ... p\\n */ | 0 | (none) | p | T3 |
|
||||
| tst.js:381:6:381:11 | @param | param | tst.js:380:3:382:5 | /**\\n ... p\\n */ | 0 | (none) | p | T4 |
|
||||
| tst.js:387:4:387:9 | @param | param | tst.js:386:1:389:3 | /**\\n * ... } x\\n */ | 0 | (none) | x | Array.<number> |
|
||||
test_ObjectExpr_getDocumentation
|
||||
| tst.js:48:25:48:36 | { 'x': 321 } | tst.js:48:12:48:23 | /** @dict */ |
|
||||
| tst.js:55:20:59:1 | {\\n TRU ... BE: 0\\n} | tst.js:51:1:54:3 | /**\\n * ... er}\\n */ |
|
||||
| tst.js:117:43:119:9 | {\\n ... } | tst.js:117:9:117:40 | /** @le ... ype} */ |
|
||||
| tst.js:192:27:192:36 | { x: 321 } | tst.js:192:12:192:25 | /** @struct */ |
|
||||
test_JSDocFunctionTypeExpr
|
||||
| tst.js:233:12:233:36 | function (string, boolean) | (none) | (none) | 0 | tst.js:233:21:233:26 | string | no |
|
||||
| tst.js:233:12:233:36 | function (string, boolean) | (none) | (none) | 1 | tst.js:233:29:233:35 | boolean | no |
|
||||
| tst.js:235:12:235:46 | function (this: goog.ui.Menu, string) | (none) | goog.ui.Menu | 0 | tst.js:235:40:235:45 | string | no |
|
||||
| tst.js:236:12:236:45 | function (new: goog.ui.Menu, string) | (none) | goog.ui.Menu | 0 | tst.js:236:39:236:44 | string | yes |
|
||||
| tst.js:237:12:237:48 | function (string, ...[number]): number | number | (none) | 0 | tst.js:237:21:237:26 | string | no |
|
||||
| tst.js:237:12:237:48 | function (string, ...[number]): number | number | (none) | 1 | tst.js:237:32:237:39 | ...[number] | no |
|
||||
| tst.js:240:12:240:38 | function (?string=, number=) | (none) | (none) | 0 | tst.js:240:21:240:28 | ?string= | no |
|
||||
| tst.js:240:12:240:38 | function (?string=, number=) | (none) | (none) | 1 | tst.js:240:31:240:37 | number= | no |
|
||||
| tst.js:358:12:358:48 | function (x: !number, y: !number): number | number | (none) | 0 | tst.js:358:23:358:29 | !number | no |
|
||||
| tst.js:358:12:358:48 | function (x: !number, y: !number): number | number | (none) | 1 | tst.js:358:34:358:40 | !number | no |
|
||||
test_JSDocNullableTypeExpr
|
||||
| tst.js:226:12:226:18 | number? | tst.js:226:12:226:17 | number | postfix |
|
||||
| tst.js:240:21:240:27 | ?string | tst.js:240:22:240:27 | string | prefix |
|
||||
test_next_token
|
||||
| tst.js:1:1:1:117 | // Test ... mpiler, | tst.js:5:15:5:17 | var |
|
||||
| tst.js:2:1:2:118 | // whic ... se 2.0; | tst.js:5:15:5:17 | var |
|
||||
| tst.js:3:1:3:20 | // see file COPYING. | tst.js:5:15:5:17 | var |
|
||||
| tst.js:5:1:5:13 | /** @const */ | tst.js:5:15:5:17 | var |
|
||||
| tst.js:7:1:11:3 | /**\\n * ... ng}\\n */ | tst.js:12:1:12:11 | mynamespace |
|
||||
| tst.js:14:1:14:13 | /** @const */ | tst.js:14:15:14:21 | MyClass |
|
||||
| tst.js:16:1:19:3 | /**\\n * ... tor\\n */ | tst.js:20:1:20:8 | function |
|
||||
| tst.js:23:1:23:24 | /** @de ... ean} */ | tst.js:24:1:24:3 | var |
|
||||
| tst.js:26:1:26:24 | /** @de ... ean} */ | tst.js:27:1:27:4 | goog |
|
||||
| tst.js:29:1:35:3 | /**\\n * ... ().\\n */ | tst.js:36:1:36:11 | BN_EditUtil |
|
||||
| tst.js:39:1:42:3 | /**\\n * ... ict\\n */ | tst.js:43:1:43:8 | function |
|
||||
| tst.js:46:16:46:25 | // warning | tst.js:48:1:48:3 | var |
|
||||
| tst.js:48:12:48:23 | /** @dict */ | tst.js:48:25:48:25 | { |
|
||||
| tst.js:49:16:49:25 | // warning | tst.js:55:1:55:7 | project |
|
||||
| tst.js:51:1:54:3 | /**\\n * ... er}\\n */ | tst.js:55:1:55:7 | project |
|
||||
| tst.js:61:1:61:14 | /** @export */ | tst.js:62:1:62:3 | foo |
|
||||
| tst.js:65:1:69:3 | /**\\n * ... st}\\n */ | tst.js:70:1:70:4 | goog |
|
||||
| tst.js:73:1:77:3 | /**\\n * ... tor\\n */ | tst.js:78:1:78:5 | sloth |
|
||||
| tst.js:80:1:83:3 | /**\\n * ... nal\\n */ | tst.js:84:1:84:5 | sloth |
|
||||
| tst.js:86:1:89:3 | /**\\n * ... ace\\n */ | tst.js:90:1:90:8 | function |
|
||||
| tst.js:93:1:96:3 | /**\\n * ... pe}\\n */ | tst.js:97:1:97:8 | function |
|
||||
| tst.js:101:1:103:17 | /**\\n * ... tDoc */ | tst.js:104:1:104:7 | project |
|
||||
| tst.js:107:1:111:3 | /**\\n * ... pe}\\n */ | tst.js:112:1:112:8 | function |
|
||||
| tst.js:117:9:117:40 | /** @le ... ype} */ | tst.js:117:42:117:42 | ( |
|
||||
| tst.js:121:1:126:3 | /**\\n * ... sh:\\n */ | tst.js:129:1:129:8 | function |
|
||||
| tst.js:128:1:128:21 | /** @no ... ects */ | tst.js:129:1:129:8 | function |
|
||||
| tst.js:131:1:136:3 | /**\\n * ... age\\n */ | tst.js:137:1:137:4 | goog |
|
||||
| tst.js:140:1:145:3 | /**\\n * ... ng.\\n */ | tst.js:146:1:146:4 | goog |
|
||||
| tst.js:149:14:149:26 | /** number */ | tst.js:149:28:149:28 | a |
|
||||
| tst.js:149:31:149:43 | /** number */ | tst.js:149:45:149:45 | b |
|
||||
| tst.js:153:1:157:3 | /**\\n * ... ate\\n */ | tst.js:158:1:158:4 | this |
|
||||
| tst.js:160:1:165:3 | /**\\n * ... ted\\n */ | tst.js:166:1:166:4 | goog |
|
||||
| tst.js:169:1:172:3 | /**\\n * ... ID.\\n */ | tst.js:173:1:173:4 | goog |
|
||||
| tst.js:177:10:177:22 | /** number */ | tst.js:177:24:177:26 | foo |
|
||||
| tst.js:179:1:182:3 | /**\\n * ... uct\\n */ | tst.js:183:1:183:8 | function |
|
||||
| tst.js:187:24:187:28 | // OK | tst.js:188:1:188:4 | obj1 |
|
||||
| tst.js:188:21:188:25 | // OK | tst.js:189:1:189:4 | obj1 |
|
||||
| tst.js:189:22:189:31 | // warning | tst.js:190:1:190:4 | obj1 |
|
||||
| tst.js:190:14:190:23 | // warning | tst.js:192:1:192:3 | var |
|
||||
| tst.js:192:12:192:25 | /** @struct */ | tst.js:192:27:192:27 | { |
|
||||
| tst.js:193:19:193:28 | // warning | tst.js:195:1:195:4 | chat |
|
||||
| tst.js:196:9:200:11 | /**\\n ... */ | tst.js:201:9:201:16 | function |
|
||||
| tst.js:205:1:207:3 | /**\\n * ... on}\\n */ | tst.js:208:1:208:19 | DOMApplicationCache |
|
||||
| tst.js:210:1:213:3 | /**\\n * ... ng}\\n */ | tst.js:214:1:214:3 | var |
|
||||
| tst.js:216:1:216:33 | /** @ty ... er)} */ | tst.js:217:1:217:4 | goog |
|
||||
| tst.js:219:1:219:55 | /** @pa ... ing. */ | tst.js:220:1:220:4 | goog |
|
||||
| tst.js:223:1:223:40 | /** @ty ... ct}} */ | tst.js:224:1:224:3 | var |
|
||||
| tst.js:226:1:226:22 | /** @ty ... er?} */ | tst.js:227:1:227:3 | var |
|
||||
| tst.js:229:1:229:22 | /** @ty ... ect} */ | tst.js:230:1:230:3 | var |
|
||||
| tst.js:232:1:243:3 | /**\\n * ... p10\\n */ | tst.js:244:1:244:3 | var |
|
||||
| tst.js:246:1:249:3 | /**\\n * ... e T\\n */ | tst.js:250:1:250:3 | var |
|
||||
| tst.js:252:1:252:18 | /** @return {T} */ | tst.js:253:1:253:3 | Foo |
|
||||
| tst.js:255:1:255:19 | /** @param {T} t */ | tst.js:256:1:256:3 | Foo |
|
||||
| tst.js:258:1:258:28 | /** @ty ... ng>} */ | tst.js:258:30:258:32 | var |
|
||||
| tst.js:259:11:259:38 | /** @ty ... ng>} */ | tst.js:259:40:259:40 | ( |
|
||||
| tst.js:261:1:265:3 | /**\\n * ... e T\\n */ | tst.js:266:1:266:3 | Bar |
|
||||
| tst.js:267:29:267:52 | // bar ... string> | tst.js:273:1:273:3 | var |
|
||||
| tst.js:269:1:272:3 | /**\\n * ... Val\\n */ | tst.js:273:1:273:3 | var |
|
||||
| tst.js:275:1:275:37 | /** @ty ... er>} */ | tst.js:275:39:275:41 | var |
|
||||
| tst.js:275:48:275:77 | // Key ... number. | tst.js:280:1:280:1 | X |
|
||||
| tst.js:277:1:279:3 | /**\\n * ... tor\\n */ | tst.js:280:1:280:1 | X |
|
||||
| tst.js:282:1:285:3 | /**\\n * ... tor\\n */ | tst.js:286:1:286:1 | Y |
|
||||
| tst.js:288:1:288:22 | /** @ty ... <X>} */ | tst.js:288:24:288:26 | var |
|
||||
| tst.js:289:1:289:22 | /** @ty ... <Y>} */ | tst.js:289:24:289:26 | var |
|
||||
| tst.js:291:14:291:21 | // Error | tst.js:292:1:292:4 | fooY |
|
||||
| tst.js:292:14:292:21 | // Error | tst.js:295:1:295:9 | takesFooY |
|
||||
| tst.js:294:1:294:28 | /** @pa ... fooY */ | tst.js:295:1:295:9 | takesFooY |
|
||||
| tst.js:297:18:297:23 | // OK. | tst.js:298:1:298:9 | takesFooY |
|
||||
| tst.js:298:18:298:25 | // Error | tst.js:304:1:304:1 | A |
|
||||
| tst.js:300:1:303:3 | /**\\n * ... e T\\n */ | tst.js:304:1:304:1 | A |
|
||||
| tst.js:306:1:306:19 | /** @param {T} t */ | tst.js:307:1:307:1 | A |
|
||||
| tst.js:309:1:312:3 | /**\\n * ... g>}\\n */ | tst.js:313:1:313:1 | B |
|
||||
| tst.js:315:1:319:3 | /**\\n * ... U>}\\n */ | tst.js:320:1:320:1 | C |
|
||||
| tst.js:322:1:325:3 | /**\\n * ... e T\\n */ | tst.js:326:1:326:3 | Foo |
|
||||
| tst.js:328:1:328:18 | /** @return {T} */ | tst.js:329:1:329:3 | Foo |
|
||||
| tst.js:331:1:335:3 | /**\\n * ... r>}\\n */ | tst.js:336:1:336:7 | FooImpl |
|
||||
| tst.js:336:27:336:72 | // Erro ... e twice | tst.js:343:1:343:8 | identity |
|
||||
| tst.js:338:1:342:3 | /**\\n * ... e T\\n */ | tst.js:343:1:343:8 | identity |
|
||||
| tst.js:345:1:345:21 | /** @ty ... ing} */ | tst.js:345:23:345:25 | var |
|
||||
| tst.js:345:72:345:76 | // OK | tst.js:346:23:346:25 | var |
|
||||
| tst.js:346:1:346:21 | /** @ty ... ber} */ | tst.js:346:23:346:25 | var |
|
||||
| tst.js:346:60:346:64 | // OK | tst.js:347:23:347:25 | var |
|
||||
| tst.js:347:1:347:21 | /** @ty ... ber} */ | tst.js:347:23:347:25 | var |
|
||||
| tst.js:347:62:347:77 | // Type mismatch | tst.js:349:33:349:35 | var |
|
||||
| tst.js:349:1:349:31 | /** @ty ... ned} */ | tst.js:349:33:349:35 | var |
|
||||
| tst.js:351:1:353:3 | /**\\n * ... ger\\n */ | tst.js:354:1:354:8 | function |
|
||||
| tst.js:356:1:359:3 | /**\\n * ... ion\\n */ | tst.js:360:1:360:8 | function |
|
||||
| tst.js:363:3:365:5 | /**\\n ... p\\n */ | tst.js:366:3:366:15 | classicMethod |
|
||||
| tst.js:368:3:370:5 | /**\\n ... p\\n */ | tst.js:371:3:371:13 | fancyMethod |
|
||||
| tst.js:375:3:377:5 | /**\\n ... p\\n */ | tst.js:378:3:378:13 | constructor |
|
||||
| tst.js:380:3:382:5 | /**\\n ... p\\n */ | tst.js:383:3:383:13 | classMethod |
|
||||
| tst.js:386:1:389:3 | /**\\n * ... } x\\n */ | tst.js:390:1:390:8 | function |
|
||||
test_JSDocTypeExpr
|
||||
| tst.js:10:11:10:16 | string | tst.js:10:4:10:8 | @type | 0 |
|
||||
| tst.js:23:14:23:20 | boolean | tst.js:23:5:23:11 | @define | 0 |
|
||||
| tst.js:26:14:26:20 | boolean | tst.js:26:5:26:11 | @define | 0 |
|
||||
| tst.js:31:13:31:19 | boolean | tst.js:31:4:31:10 | @return | 0 |
|
||||
| tst.js:53:11:53:16 | number | tst.js:53:4:53:8 | @enum | 0 |
|
||||
| tst.js:68:14:68:34 | goog.ds.BasicNodeList | tst.js:68:4:68:11 | @extends | 0 |
|
||||
| tst.js:95:17:95:21 | Shape | tst.js:95:4:95:14 | @implements | 0 |
|
||||
| tst.js:110:14:110:18 | Shape | tst.js:110:4:110:11 | @extends | 0 |
|
||||
| tst.js:134:13:134:18 | Object | tst.js:134:4:134:10 | @return | 0 |
|
||||
| tst.js:142:12:142:17 | number | tst.js:142:4:142:9 | @param | 0 |
|
||||
| tst.js:143:12:143:17 | string | tst.js:143:12:143:29 | (string\|number\|null) | 0 |
|
||||
| tst.js:143:12:143:29 | (string\|number\|null) | tst.js:143:4:143:9 | @param | 0 |
|
||||
| tst.js:143:19:143:24 | number | tst.js:143:12:143:29 | (string\|number\|null) | 1 |
|
||||
| tst.js:143:26:143:29 | null | tst.js:143:12:143:29 | (string\|number\|null) | 2 |
|
||||
| tst.js:155:11:155:18 | Function | tst.js:155:11:155:20 | Array.<Function> | 0 |
|
||||
| tst.js:155:11:155:20 | Array | tst.js:155:11:155:20 | Array.<Function> | -1 |
|
||||
| tst.js:155:11:155:20 | Array.<Function> | tst.js:155:4:155:8 | @type | 0 |
|
||||
| tst.js:163:12:163:18 | Element | tst.js:163:4:163:9 | @param | 0 |
|
||||
| tst.js:171:13:171:18 | string | tst.js:171:4:171:10 | @return | 0 |
|
||||
| tst.js:199:21:199:27 | Element | tst.js:199:12:199:18 | @return | 0 |
|
||||
| tst.js:206:13:206:24 | DOMException | tst.js:206:4:206:10 | @throws | 0 |
|
||||
| tst.js:212:11:212:16 | string | tst.js:212:4:212:8 | @type | 0 |
|
||||
| tst.js:216:15:216:29 | (string\|number) | tst.js:216:5:216:12 | @typedef | 0 |
|
||||
| tst.js:216:16:216:21 | string | tst.js:216:15:216:29 | (string\|number) | 0 |
|
||||
| tst.js:216:23:216:28 | number | tst.js:216:15:216:29 | (string\|number) | 1 |
|
||||
| tst.js:219:13:219:27 | goog.NumberLike | tst.js:219:5:219:10 | @param | 0 |
|
||||
| tst.js:223:12:223:36 | {myNum: number, myObject} | tst.js:223:5:223:9 | @type | 0 |
|
||||
| tst.js:223:20:223:25 | number | tst.js:223:12:223:36 | {myNum: number, myObject} | 0 |
|
||||
| tst.js:226:12:226:17 | number | tst.js:226:12:226:18 | number? | 0 |
|
||||
| tst.js:226:12:226:18 | number? | tst.js:226:5:226:9 | @type | 0 |
|
||||
| tst.js:229:12:229:18 | !Object | tst.js:229:5:229:9 | @type | 0 |
|
||||
| tst.js:229:13:229:18 | Object | tst.js:229:12:229:18 | !Object | 0 |
|
||||
| tst.js:233:12:233:36 | function (string, boolean) | tst.js:233:4:233:9 | @param | 0 |
|
||||
| tst.js:233:21:233:26 | string | tst.js:233:12:233:36 | function (string, boolean) | 0 |
|
||||
| tst.js:233:29:233:35 | boolean | tst.js:233:12:233:36 | function (string, boolean) | 1 |
|
||||
| tst.js:234:12:234:29 | function (): number | tst.js:234:4:234:9 | @param | 0 |
|
||||
| tst.js:234:24:234:29 | number | tst.js:234:12:234:29 | function (): number | -1 |
|
||||
| tst.js:235:12:235:46 | function (this: goog.ui.Menu, string) | tst.js:235:4:235:9 | @param | 0 |
|
||||
| tst.js:235:26:235:37 | goog.ui.Menu | tst.js:235:12:235:46 | function (this: goog.ui.Menu, string) | -2 |
|
||||
| tst.js:235:40:235:45 | string | tst.js:235:12:235:46 | function (this: goog.ui.Menu, string) | 0 |
|
||||
| tst.js:236:12:236:45 | function (new: goog.ui.Menu, string) | tst.js:236:4:236:9 | @param | 0 |
|
||||
| tst.js:236:25:236:36 | goog.ui.Menu | tst.js:236:12:236:45 | function (new: goog.ui.Menu, string) | -2 |
|
||||
| tst.js:236:39:236:44 | string | tst.js:236:12:236:45 | function (new: goog.ui.Menu, string) | 0 |
|
||||
| tst.js:237:12:237:48 | function (string, ...[number]): number | tst.js:237:4:237:9 | @param | 0 |
|
||||
| tst.js:237:21:237:26 | string | tst.js:237:12:237:48 | function (string, ...[number]): number | 0 |
|
||||
| tst.js:237:32:237:39 | ...[number] | tst.js:237:12:237:48 | function (string, ...[number]): number | 1 |
|
||||
| tst.js:237:32:237:39 | [number] | tst.js:237:32:237:39 | ...[number] | 0 |
|
||||
| tst.js:237:33:237:38 | number | tst.js:237:32:237:39 | [number] | 0 |
|
||||
| tst.js:237:43:237:48 | number | tst.js:237:12:237:48 | function (string, ...[number]): number | -1 |
|
||||
| tst.js:238:12:238:20 | ...number | tst.js:238:4:238:9 | @param | 0 |
|
||||
| tst.js:238:15:238:20 | number | tst.js:238:12:238:20 | ...number | 0 |
|
||||
| tst.js:239:12:239:17 | number | tst.js:239:12:239:18 | number= | 0 |
|
||||
| tst.js:239:12:239:18 | number= | tst.js:239:4:239:9 | @param | 0 |
|
||||
| tst.js:240:12:240:38 | function (?string=, number=) | tst.js:240:4:240:9 | @param | 0 |
|
||||
| tst.js:240:21:240:27 | ?string | tst.js:240:21:240:28 | ?string= | 0 |
|
||||
| tst.js:240:21:240:28 | ?string= | tst.js:240:12:240:38 | function (?string=, number=) | 0 |
|
||||
| tst.js:240:22:240:27 | string | tst.js:240:21:240:27 | ?string | 0 |
|
||||
| tst.js:240:31:240:36 | number | tst.js:240:31:240:37 | number= | 0 |
|
||||
| tst.js:240:31:240:37 | number= | tst.js:240:12:240:38 | function (?string=, number=) | 1 |
|
||||
| tst.js:241:12:241:12 | * | tst.js:241:4:241:9 | @param | 0 |
|
||||
| tst.js:242:12:242:12 | ? | tst.js:242:4:242:9 | @param | 0 |
|
||||
| tst.js:252:14:252:14 | T | tst.js:252:5:252:11 | @return | 0 |
|
||||
| tst.js:255:13:255:13 | T | tst.js:255:5:255:10 | @param | 0 |
|
||||
| tst.js:258:12:258:24 | !Foo.<string> | tst.js:258:5:258:9 | @type | 0 |
|
||||
| tst.js:258:13:258:15 | Foo | tst.js:258:13:258:24 | Foo.<string> | -1 |
|
||||
| tst.js:258:13:258:24 | Foo.<string> | tst.js:258:12:258:24 | !Foo.<string> | 0 |
|
||||
| tst.js:258:18:258:23 | string | tst.js:258:13:258:24 | Foo.<string> | 0 |
|
||||
| tst.js:259:22:259:34 | !Foo.<string> | tst.js:259:15:259:19 | @type | 0 |
|
||||
| tst.js:259:23:259:25 | Foo | tst.js:259:23:259:34 | Foo.<string> | -1 |
|
||||
| tst.js:259:23:259:34 | Foo.<string> | tst.js:259:22:259:34 | !Foo.<string> | 0 |
|
||||
| tst.js:259:28:259:33 | string | tst.js:259:23:259:34 | Foo.<string> | 0 |
|
||||
| tst.js:262:12:262:12 | T | tst.js:262:4:262:9 | @param | 0 |
|
||||
| tst.js:275:12:275:16 | MyMap | tst.js:275:12:275:33 | MyMap.<string, number> | -1 |
|
||||
| tst.js:275:12:275:33 | MyMap.<string, number> | tst.js:275:5:275:9 | @type | 0 |
|
||||
| tst.js:275:19:275:24 | string | tst.js:275:12:275:33 | MyMap.<string, number> | 0 |
|
||||
| tst.js:275:27:275:32 | number | tst.js:275:12:275:33 | MyMap.<string, number> | 1 |
|
||||
| tst.js:283:14:283:14 | X | tst.js:283:4:283:11 | @extends | 0 |
|
||||
| tst.js:288:12:288:14 | Foo | tst.js:288:12:288:18 | Foo.<X> | -1 |
|
||||
| tst.js:288:12:288:18 | Foo.<X> | tst.js:288:5:288:9 | @type | 0 |
|
||||
| tst.js:288:17:288:17 | X | tst.js:288:12:288:18 | Foo.<X> | 0 |
|
||||
| tst.js:289:12:289:14 | Foo | tst.js:289:12:289:18 | Foo.<Y> | -1 |
|
||||
| tst.js:289:12:289:18 | Foo.<Y> | tst.js:289:5:289:9 | @type | 0 |
|
||||
| tst.js:289:17:289:17 | Y | tst.js:289:12:289:18 | Foo.<Y> | 0 |
|
||||
| tst.js:294:13:294:15 | Foo | tst.js:294:13:294:19 | Foo.<Y> | -1 |
|
||||
| tst.js:294:13:294:19 | Foo.<Y> | tst.js:294:5:294:10 | @param | 0 |
|
||||
| tst.js:294:18:294:18 | Y | tst.js:294:13:294:19 | Foo.<Y> | 0 |
|
||||
| tst.js:306:13:306:13 | T | tst.js:306:5:306:10 | @param | 0 |
|
||||
| tst.js:311:14:311:14 | A | tst.js:311:14:311:23 | A.<string> | -1 |
|
||||
| tst.js:311:14:311:23 | A.<string> | tst.js:311:4:311:11 | @extends | 0 |
|
||||
| tst.js:311:17:311:22 | string | tst.js:311:14:311:23 | A.<string> | 0 |
|
||||
| tst.js:318:14:318:14 | A | tst.js:318:14:318:18 | A.<U> | -1 |
|
||||
| tst.js:318:14:318:18 | A.<U> | tst.js:318:4:318:11 | @extends | 0 |
|
||||
| tst.js:318:17:318:17 | U | tst.js:318:14:318:18 | A.<U> | 0 |
|
||||
| tst.js:328:14:328:14 | T | tst.js:328:5:328:11 | @return | 0 |
|
||||
| tst.js:333:17:333:19 | Foo | tst.js:333:17:333:28 | Foo.<string> | -1 |
|
||||
| tst.js:333:17:333:28 | Foo.<string> | tst.js:333:4:333:14 | @implements | 0 |
|
||||
| tst.js:333:22:333:27 | string | tst.js:333:17:333:28 | Foo.<string> | 0 |
|
||||
| tst.js:334:17:334:19 | Foo | tst.js:334:17:334:28 | Foo.<number> | -1 |
|
||||
| tst.js:334:17:334:28 | Foo.<number> | tst.js:334:4:334:14 | @implements | 0 |
|
||||
| tst.js:334:22:334:27 | number | tst.js:334:17:334:28 | Foo.<number> | 0 |
|
||||
| tst.js:339:12:339:12 | T | tst.js:339:4:339:9 | @param | 0 |
|
||||
| tst.js:340:13:340:13 | T | tst.js:340:4:340:10 | @return | 0 |
|
||||
| tst.js:345:12:345:17 | string | tst.js:345:5:345:9 | @type | 0 |
|
||||
| tst.js:346:12:346:17 | number | tst.js:346:5:346:9 | @type | 0 |
|
||||
| tst.js:347:12:347:17 | number | tst.js:347:5:347:9 | @type | 0 |
|
||||
| tst.js:349:12:349:17 | string | tst.js:349:12:349:27 | (string\|undefined) | 0 |
|
||||
| tst.js:349:12:349:27 | (string\|undefined) | tst.js:349:5:349:9 | @type | 0 |
|
||||
| tst.js:349:19:349:27 | undefined | tst.js:349:12:349:27 | (string\|undefined) | 1 |
|
||||
| tst.js:357:12:357:16 | Array | tst.js:357:12:357:25 | Array.<number> | -1 |
|
||||
| tst.js:357:12:357:25 | Array.<number> | tst.js:357:4:357:9 | @param | 0 |
|
||||
| tst.js:357:19:357:24 | number | tst.js:357:12:357:25 | Array.<number> | 0 |
|
||||
| tst.js:358:12:358:48 | function (x: !number, y: !number): number | tst.js:358:4:358:9 | @param | 0 |
|
||||
| tst.js:358:23:358:29 | !number | tst.js:358:12:358:48 | function (x: !number, y: !number): number | 0 |
|
||||
| tst.js:358:24:358:29 | number | tst.js:358:23:358:29 | !number | 0 |
|
||||
| tst.js:358:34:358:40 | !number | tst.js:358:12:358:48 | function (x: !number, y: !number): number | 1 |
|
||||
| tst.js:358:35:358:40 | number | tst.js:358:34:358:40 | !number | 0 |
|
||||
| tst.js:358:43:358:48 | number | tst.js:358:12:358:48 | function (x: !number, y: !number): number | -1 |
|
||||
| tst.js:364:14:364:15 | T1 | tst.js:364:6:364:11 | @param | 0 |
|
||||
| tst.js:369:14:369:15 | T2 | tst.js:369:6:369:11 | @param | 0 |
|
||||
| tst.js:376:14:376:15 | T3 | tst.js:376:6:376:11 | @param | 0 |
|
||||
| tst.js:381:14:381:15 | T4 | tst.js:381:6:381:11 | @param | 0 |
|
||||
| tst.js:387:12:387:16 | Array | tst.js:387:12:388:13 | Array.<number> | -1 |
|
||||
| tst.js:387:12:388:13 | Array.<number> | tst.js:387:4:387:9 | @param | 0 |
|
||||
| tst.js:388:7:388:12 | number | tst.js:387:12:388:13 | Array.<number> | 0 |
|
||||
test_JSDocOptionalParameterTypeExpr
|
||||
| tst.js:239:12:239:18 | number= | tst.js:239:12:239:17 | number |
|
||||
| tst.js:240:21:240:28 | ?string= | tst.js:240:21:240:27 | ?string |
|
||||
| tst.js:240:31:240:37 | number= | tst.js:240:31:240:36 | number |
|
||||
test_getParameterTag
|
||||
| tst.js:146:37:146:44 | groupNum | groupNum | tst.js:142:4:142:9 | @param | groupNum | tst.js:142:12:142:17 | number |
|
||||
| tst.js:146:47:146:50 | term | term | tst.js:143:4:143:9 | @param | term | tst.js:143:12:143:29 | (string\|number\|null) |
|
||||
| tst.js:166:59:166:65 | element | element | tst.js:163:4:163:9 | @param | element | tst.js:163:12:163:18 | Element |
|
||||
| tst.js:220:28:220:28 | x | x | tst.js:219:5:219:10 | @param | x | tst.js:219:13:219:27 | goog.NumberLike |
|
||||
| tst.js:256:30:256:30 | t | t | tst.js:255:5:255:10 | @param | t | tst.js:255:13:255:13 | T |
|
||||
| tst.js:266:16:266:16 | t | t | tst.js:262:4:262:9 | @param | t | tst.js:262:12:262:12 | T |
|
||||
| tst.js:295:22:295:25 | fooY | fooY | tst.js:294:5:294:10 | @param | fooY | tst.js:294:13:294:19 | Foo.<Y> |
|
||||
| tst.js:307:31:307:31 | t | t | tst.js:306:5:306:10 | @param | t | tst.js:306:13:306:13 | T |
|
||||
| tst.js:343:21:343:21 | a | a | tst.js:339:4:339:9 | @param | a | tst.js:339:12:339:12 | T |
|
||||
| tst.js:360:15:360:19 | array | array | tst.js:357:4:357:9 | @param | array | tst.js:357:12:357:25 | Array.<number> |
|
||||
| tst.js:360:22:360:23 | fn | fn | tst.js:358:4:358:9 | @param | fn | tst.js:358:12:358:48 | function (x: !number, y: !number): number |
|
||||
| tst.js:366:27:366:27 | p | p | tst.js:364:6:364:11 | @param | p | tst.js:364:14:364:15 | T1 |
|
||||
| tst.js:371:15:371:15 | p | p | tst.js:369:6:369:11 | @param | p | tst.js:369:14:369:15 | T2 |
|
||||
| tst.js:378:15:378:15 | p | p | tst.js:376:6:376:11 | @param | p | tst.js:376:14:376:15 | T3 |
|
||||
| tst.js:383:15:383:15 | p | p | tst.js:381:6:381:11 | @param | p | tst.js:381:14:381:15 | T4 |
|
||||
| tst.js:390:20:390:20 | x | x | tst.js:387:4:387:9 | @param | x | tst.js:387:12:388:13 | Array.<number> |
|
||||
test_JSDocAppliedTypeExpr
|
||||
| tst.js:155:11:155:20 | Array.<Function> | tst.js:155:11:155:20 | Array | 0 | tst.js:155:11:155:18 | Function |
|
||||
| tst.js:258:13:258:24 | Foo.<string> | tst.js:258:13:258:15 | Foo | 0 | tst.js:258:18:258:23 | string |
|
||||
| tst.js:259:23:259:34 | Foo.<string> | tst.js:259:23:259:25 | Foo | 0 | tst.js:259:28:259:33 | string |
|
||||
| tst.js:275:12:275:33 | MyMap.<string, number> | tst.js:275:12:275:16 | MyMap | 0 | tst.js:275:19:275:24 | string |
|
||||
| tst.js:275:12:275:33 | MyMap.<string, number> | tst.js:275:12:275:16 | MyMap | 1 | tst.js:275:27:275:32 | number |
|
||||
| tst.js:288:12:288:18 | Foo.<X> | tst.js:288:12:288:14 | Foo | 0 | tst.js:288:17:288:17 | X |
|
||||
| tst.js:289:12:289:18 | Foo.<Y> | tst.js:289:12:289:14 | Foo | 0 | tst.js:289:17:289:17 | Y |
|
||||
| tst.js:294:13:294:19 | Foo.<Y> | tst.js:294:13:294:15 | Foo | 0 | tst.js:294:18:294:18 | Y |
|
||||
| tst.js:311:14:311:23 | A.<string> | tst.js:311:14:311:14 | A | 0 | tst.js:311:17:311:22 | string |
|
||||
| tst.js:318:14:318:18 | A.<U> | tst.js:318:14:318:14 | A | 0 | tst.js:318:17:318:17 | U |
|
||||
| tst.js:333:17:333:28 | Foo.<string> | tst.js:333:17:333:19 | Foo | 0 | tst.js:333:22:333:27 | string |
|
||||
| tst.js:334:17:334:28 | Foo.<number> | tst.js:334:17:334:19 | Foo | 0 | tst.js:334:22:334:27 | number |
|
||||
| tst.js:357:12:357:25 | Array.<number> | tst.js:357:12:357:16 | Array | 0 | tst.js:357:19:357:24 | number |
|
||||
| tst.js:387:12:388:13 | Array.<number> | tst.js:387:12:387:16 | Array | 0 | tst.js:388:7:388:12 | number |
|
||||
test_JSDocNonNullableTypeExpr
|
||||
| tst.js:229:12:229:18 | !Object | tst.js:229:13:229:18 | Object | prefix |
|
||||
| tst.js:258:12:258:24 | !Foo.<string> | tst.js:258:13:258:24 | Foo.<string> | prefix |
|
||||
| tst.js:259:22:259:34 | !Foo.<string> | tst.js:259:23:259:34 | Foo.<string> | prefix |
|
||||
| tst.js:358:23:358:29 | !number | tst.js:358:24:358:29 | number | prefix |
|
||||
| tst.js:358:34:358:40 | !number | tst.js:358:35:358:40 | number | prefix |
|
||||
test_ParExpr_getDocumentation
|
||||
| tst.js:117:42:119:10 | ({\\n ... }) | tst.js:117:9:117:40 | /** @le ... ype} */ |
|
||||
| tst.js:259:40:259:50 | (new Foo()) | tst.js:259:11:259:38 | /** @ty ... ng>} */ |
|
||||
|
||||
@@ -1,31 +1,3 @@
|
||||
test_ModuleImportNode
|
||||
| amd1.js:1:25:1:26 | fs | fs | amd1.js:1:25:1:26 | fs | fs |
|
||||
| amd1.js:1:25:1:26 | fs | fs | amd1.js:2:3:2:4 | fs | fs |
|
||||
| amd2.js:2:12:2:24 | require('fs') | fs | amd2.js:3:3:3:4 | fs | fs |
|
||||
| client1.ts:4:28:4:29 | F1 | framework1 | client1.ts:4:28:4:29 | F1 | F1 |
|
||||
| client1.ts:6:9:6:11 | net | net | client1.ts:6:9:6:11 | net | net |
|
||||
| client2.ts:4:28:4:29 | F2 | framework2 | client2.ts:4:28:4:29 | F2 | F2 |
|
||||
| client2_lazy.ts:4:28:4:29 | F2 | framework2 | client2_lazy.ts:4:28:4:29 | F2 | F2 |
|
||||
| instanceThroughDefaultImport.js:1:8:1:42 | myDefau ... nceName | myDefaultImportedModuleInstance | instanceThroughDefaultImport.js:2:1:2:35 | myDefau ... nceName | myDefaultImportedModuleInstanceName |
|
||||
| instanceThroughDefaultImport.js:1:8:1:42 | myDefau ... nceName | myDefaultImportedModuleInstance | instanceThroughDefaultImport.js:4:5:4:39 | myDefau ... nceName | myDefaultImportedModuleInstanceName |
|
||||
| instanceThroughNamespaceImport.js:1:8:1:49 | * as my ... nceName | myNamespaceImportedModuleInstance | instanceThroughNamespaceImport.js:2:1:2:37 | myNames ... nceName | myNamespaceImportedModuleInstanceName |
|
||||
| instanceThroughNamespaceImport.js:1:8:1:49 | * as my ... nceName | myNamespaceImportedModuleInstance | instanceThroughNamespaceImport.js:4:5:4:41 | myNames ... nceName | myNamespaceImportedModuleInstanceName |
|
||||
| instanceThroughRequire.js:1:36:1:70 | require ... tance') | myRequiredModuleInstance | instanceThroughRequire.js:2:1:2:28 | myRequi ... nceName | myRequiredModuleInstanceName |
|
||||
| instanceThroughRequire.js:1:36:1:70 | require ... tance') | myRequiredModuleInstance | instanceThroughRequire.js:4:5:4:32 | myRequi ... nceName | myRequiredModuleInstanceName |
|
||||
| moduleUses.js:1:11:1:24 | require('mod') | mod | moduleUses.js:3:1:3:3 | mod | mod |
|
||||
| moduleUses.js:1:11:1:24 | require('mod') | mod | moduleUses.js:5:9:5:11 | mod | mod |
|
||||
| moduleUses.js:1:11:1:24 | require('mod') | mod | moduleUses.js:8:9:8:11 | mod | mod |
|
||||
| moduleUses.js:1:11:1:24 | require('mod') | mod | moduleUses.js:11:1:11:3 | mod | mod |
|
||||
| moduleUses.js:1:11:1:24 | require('mod') | mod | moduleUses.js:13:1:13:3 | mod | mod |
|
||||
| moduleUses.js:1:11:1:24 | require('mod') | mod | moduleUses.js:15:5:15:7 | mod | mod |
|
||||
| process2.js:2:10:2:16 | process | process | process2.js:2:10:2:16 | process | process |
|
||||
test_ModuleImportNode_getAConstructorInvocation
|
||||
| client1.ts:4:28:4:29 | F1 | client1.ts:4:24:4:41 | new F1.Component() |
|
||||
| client2.ts:4:28:4:29 | F2 | client2.ts:4:24:4:41 | new F2.Component() |
|
||||
| client2_lazy.ts:4:28:4:29 | F2 | client2_lazy.ts:4:24:4:41 | new F2.Component() |
|
||||
| destructuringES6.js:1:1:1:41 | import ... ctron'; | destructuringES6.js:2:1:2:19 | new BrowserWindow() |
|
||||
| destructuringRequire.js:1:27:1:45 | require('electron') | destructuringRequire.js:2:1:2:19 | new BrowserWindow() |
|
||||
| moduleUses.js:1:11:1:24 | require('mod') | moduleUses.js:9:1:9:7 | new K() |
|
||||
test_moduleImport
|
||||
| electron | destructuringES6.js:1:1:1:41 | import ... ctron'; |
|
||||
| electron | destructuringRequire.js:1:27:1:45 | require('electron') |
|
||||
@@ -64,6 +36,43 @@ test_moduleMember
|
||||
| mod | moduleMethod | moduleUses.js:3:1:3:16 | mod.moduleMethod |
|
||||
| myDefaultImportedModuleInstance | default | instanceThroughDefaultImport.js:1:8:1:42 | myDefau ... nceName |
|
||||
| net | createServer | client1.ts:6:9:6:24 | net.createServer |
|
||||
test_ModuleImportNode
|
||||
| amd1.js:1:25:1:26 | fs | fs | amd1.js:1:25:1:26 | fs | fs |
|
||||
| amd1.js:1:25:1:26 | fs | fs | amd1.js:2:3:2:4 | fs | fs |
|
||||
| amd2.js:2:12:2:24 | require('fs') | fs | amd2.js:3:3:3:4 | fs | fs |
|
||||
| client1.ts:4:28:4:29 | F1 | framework1 | client1.ts:4:28:4:29 | F1 | F1 |
|
||||
| client1.ts:6:9:6:11 | net | net | client1.ts:6:9:6:11 | net | net |
|
||||
| client2.ts:4:28:4:29 | F2 | framework2 | client2.ts:4:28:4:29 | F2 | F2 |
|
||||
| client2_lazy.ts:4:28:4:29 | F2 | framework2 | client2_lazy.ts:4:28:4:29 | F2 | F2 |
|
||||
| instanceThroughDefaultImport.js:1:8:1:42 | myDefau ... nceName | myDefaultImportedModuleInstance | instanceThroughDefaultImport.js:2:1:2:35 | myDefau ... nceName | myDefaultImportedModuleInstanceName |
|
||||
| instanceThroughDefaultImport.js:1:8:1:42 | myDefau ... nceName | myDefaultImportedModuleInstance | instanceThroughDefaultImport.js:4:5:4:39 | myDefau ... nceName | myDefaultImportedModuleInstanceName |
|
||||
| instanceThroughNamespaceImport.js:1:8:1:49 | * as my ... nceName | myNamespaceImportedModuleInstance | instanceThroughNamespaceImport.js:2:1:2:37 | myNames ... nceName | myNamespaceImportedModuleInstanceName |
|
||||
| instanceThroughNamespaceImport.js:1:8:1:49 | * as my ... nceName | myNamespaceImportedModuleInstance | instanceThroughNamespaceImport.js:4:5:4:41 | myNames ... nceName | myNamespaceImportedModuleInstanceName |
|
||||
| instanceThroughRequire.js:1:36:1:70 | require ... tance') | myRequiredModuleInstance | instanceThroughRequire.js:2:1:2:28 | myRequi ... nceName | myRequiredModuleInstanceName |
|
||||
| instanceThroughRequire.js:1:36:1:70 | require ... tance') | myRequiredModuleInstance | instanceThroughRequire.js:4:5:4:32 | myRequi ... nceName | myRequiredModuleInstanceName |
|
||||
| moduleUses.js:1:11:1:24 | require('mod') | mod | moduleUses.js:3:1:3:3 | mod | mod |
|
||||
| moduleUses.js:1:11:1:24 | require('mod') | mod | moduleUses.js:5:9:5:11 | mod | mod |
|
||||
| moduleUses.js:1:11:1:24 | require('mod') | mod | moduleUses.js:8:9:8:11 | mod | mod |
|
||||
| moduleUses.js:1:11:1:24 | require('mod') | mod | moduleUses.js:11:1:11:3 | mod | mod |
|
||||
| moduleUses.js:1:11:1:24 | require('mod') | mod | moduleUses.js:13:1:13:3 | mod | mod |
|
||||
| moduleUses.js:1:11:1:24 | require('mod') | mod | moduleUses.js:15:5:15:7 | mod | mod |
|
||||
| process2.js:2:10:2:16 | process | process | process2.js:2:10:2:16 | process | process |
|
||||
test_moduleImportProp
|
||||
| electron | BrowserWindow | destructuringES6.js:1:10:1:22 | BrowserWindow |
|
||||
| electron | BrowserWindow | destructuringRequire.js:1:9:1:21 | BrowserWindow |
|
||||
| foo | C | declare-module-client2.ts:3:9:3:9 | C |
|
||||
| foo | C | declare-module-client.ts:3:9:3:9 | C |
|
||||
| framework1 | Component | client1.ts:4:28:4:39 | F1.Component |
|
||||
| framework2 | Component | client2.ts:4:28:4:39 | F2.Component |
|
||||
| framework2 | Component | client2_lazy.ts:4:28:4:39 | F2.Component |
|
||||
| fs | readFileSync | amd1.js:2:3:2:17 | fs.readFileSync |
|
||||
| fs | readFileSync | amd2.js:3:3:3:17 | fs.readFileSync |
|
||||
| mod | constructorFunction | moduleUses.js:8:9:8:31 | mod.con ... unction |
|
||||
| mod | moduleField | moduleUses.js:11:1:11:15 | mod.moduleField |
|
||||
| mod | moduleFunction | moduleUses.js:5:9:5:26 | mod.moduleFunction |
|
||||
| mod | moduleMethod | moduleUses.js:3:1:3:16 | mod.moduleMethod |
|
||||
| myDefaultImportedModuleInstance | default | instanceThroughDefaultImport.js:1:8:1:42 | myDefau ... nceName |
|
||||
| net | createServer | client1.ts:6:9:6:24 | net.createServer |
|
||||
test_ModuleImportNode_getPath
|
||||
| amd1.js:1:25:1:26 | fs | fs |
|
||||
| amd2.js:2:12:2:24 | require('fs') | fs |
|
||||
@@ -86,45 +95,17 @@ test_ModuleImportNode_getPath
|
||||
| process2.js:1:1:1:13 | require('fs') | fs |
|
||||
| process2.js:2:10:2:16 | process | process |
|
||||
| process.js:1:10:1:27 | require('process') | process |
|
||||
test_ModuleImportNode_getAMethodCall
|
||||
| amd1.js:1:25:1:26 | fs | amd1.js:2:3:2:29 | fs.read ... a.txt") |
|
||||
| amd2.js:2:12:2:24 | require('fs') | amd2.js:3:3:3:29 | fs.read ... a.txt") |
|
||||
| client1.ts:6:9:6:11 | net | client1.ts:6:9:6:26 | net.createServer() |
|
||||
| moduleUses.js:1:11:1:24 | require('mod') | moduleUses.js:3:1:3:18 | mod.moduleMethod() |
|
||||
test_ModuleImportNode_getAMemberInvocation
|
||||
| amd1.js:1:25:1:26 | fs | amd1.js:2:3:2:29 | fs.read ... a.txt") |
|
||||
| amd2.js:2:12:2:24 | require('fs') | amd2.js:3:3:3:29 | fs.read ... a.txt") |
|
||||
| client1.ts:4:28:4:29 | F1 | client1.ts:4:24:4:41 | new F1.Component() |
|
||||
| client1.ts:6:9:6:11 | net | client1.ts:6:9:6:26 | net.createServer() |
|
||||
| client2.ts:4:28:4:29 | F2 | client2.ts:4:24:4:41 | new F2.Component() |
|
||||
| client2_lazy.ts:4:28:4:29 | F2 | client2_lazy.ts:4:24:4:41 | new F2.Component() |
|
||||
| destructuringES6.js:1:1:1:41 | import ... ctron'; | destructuringES6.js:2:1:2:19 | new BrowserWindow() |
|
||||
| destructuringRequire.js:1:27:1:45 | require('electron') | destructuringRequire.js:2:1:2:19 | new BrowserWindow() |
|
||||
| moduleUses.js:1:11:1:24 | require('mod') | moduleUses.js:3:1:3:18 | mod.moduleMethod() |
|
||||
| moduleUses.js:1:11:1:24 | require('mod') | moduleUses.js:6:1:6:3 | f() |
|
||||
| moduleUses.js:1:11:1:24 | require('mod') | moduleUses.js:9:1:9:7 | new K() |
|
||||
test_moduleImportProp
|
||||
| electron | BrowserWindow | destructuringES6.js:1:10:1:22 | BrowserWindow |
|
||||
| electron | BrowserWindow | destructuringRequire.js:1:9:1:21 | BrowserWindow |
|
||||
| foo | C | declare-module-client2.ts:3:9:3:9 | C |
|
||||
| foo | C | declare-module-client.ts:3:9:3:9 | C |
|
||||
| framework1 | Component | client1.ts:4:28:4:39 | F1.Component |
|
||||
| framework2 | Component | client2.ts:4:28:4:39 | F2.Component |
|
||||
| framework2 | Component | client2_lazy.ts:4:28:4:39 | F2.Component |
|
||||
| fs | readFileSync | amd1.js:2:3:2:17 | fs.readFileSync |
|
||||
| fs | readFileSync | amd2.js:3:3:3:17 | fs.readFileSync |
|
||||
| mod | constructorFunction | moduleUses.js:8:9:8:31 | mod.con ... unction |
|
||||
| mod | moduleField | moduleUses.js:11:1:11:15 | mod.moduleField |
|
||||
| mod | moduleFunction | moduleUses.js:5:9:5:26 | mod.moduleFunction |
|
||||
| mod | moduleMethod | moduleUses.js:3:1:3:16 | mod.moduleMethod |
|
||||
| myDefaultImportedModuleInstance | default | instanceThroughDefaultImport.js:1:8:1:42 | myDefau ... nceName |
|
||||
| net | createServer | client1.ts:6:9:6:24 | net.createServer |
|
||||
test_ModuleImportNode_getAMemberCall
|
||||
| amd1.js:1:25:1:26 | fs | amd1.js:2:3:2:29 | fs.read ... a.txt") |
|
||||
| amd2.js:2:12:2:24 | require('fs') | amd2.js:3:3:3:29 | fs.read ... a.txt") |
|
||||
| client1.ts:6:9:6:11 | net | client1.ts:6:9:6:26 | net.createServer() |
|
||||
| moduleUses.js:1:11:1:24 | require('mod') | moduleUses.js:3:1:3:18 | mod.moduleMethod() |
|
||||
| moduleUses.js:1:11:1:24 | require('mod') | moduleUses.js:6:1:6:3 | f() |
|
||||
test_ModuleImportNode_getAMethodCall
|
||||
| amd1.js:1:25:1:26 | fs | amd1.js:2:3:2:29 | fs.read ... a.txt") |
|
||||
| amd2.js:2:12:2:24 | require('fs') | amd2.js:3:3:3:29 | fs.read ... a.txt") |
|
||||
| client1.ts:6:9:6:11 | net | client1.ts:6:9:6:26 | net.createServer() |
|
||||
| moduleUses.js:1:11:1:24 | require('mod') | moduleUses.js:3:1:3:18 | mod.moduleMethod() |
|
||||
test_ModuleImportNode_getAPropertyRead
|
||||
| amd1.js:1:25:1:26 | fs | amd1.js:2:3:2:17 | fs.readFileSync |
|
||||
| amd2.js:2:12:2:24 | require('fs') | amd2.js:3:3:3:17 | fs.readFileSync |
|
||||
@@ -141,3 +122,22 @@ test_ModuleImportNode_getAPropertyRead
|
||||
| moduleUses.js:1:11:1:24 | require('mod') | moduleUses.js:5:9:5:26 | mod.moduleFunction |
|
||||
| moduleUses.js:1:11:1:24 | require('mod') | moduleUses.js:8:9:8:31 | mod.con ... unction |
|
||||
| moduleUses.js:1:11:1:24 | require('mod') | moduleUses.js:11:1:11:15 | mod.moduleField |
|
||||
test_ModuleImportNode_getAMemberInvocation
|
||||
| amd1.js:1:25:1:26 | fs | amd1.js:2:3:2:29 | fs.read ... a.txt") |
|
||||
| amd2.js:2:12:2:24 | require('fs') | amd2.js:3:3:3:29 | fs.read ... a.txt") |
|
||||
| client1.ts:4:28:4:29 | F1 | client1.ts:4:24:4:41 | new F1.Component() |
|
||||
| client1.ts:6:9:6:11 | net | client1.ts:6:9:6:26 | net.createServer() |
|
||||
| client2.ts:4:28:4:29 | F2 | client2.ts:4:24:4:41 | new F2.Component() |
|
||||
| client2_lazy.ts:4:28:4:29 | F2 | client2_lazy.ts:4:24:4:41 | new F2.Component() |
|
||||
| destructuringES6.js:1:1:1:41 | import ... ctron'; | destructuringES6.js:2:1:2:19 | new BrowserWindow() |
|
||||
| destructuringRequire.js:1:27:1:45 | require('electron') | destructuringRequire.js:2:1:2:19 | new BrowserWindow() |
|
||||
| moduleUses.js:1:11:1:24 | require('mod') | moduleUses.js:3:1:3:18 | mod.moduleMethod() |
|
||||
| moduleUses.js:1:11:1:24 | require('mod') | moduleUses.js:6:1:6:3 | f() |
|
||||
| moduleUses.js:1:11:1:24 | require('mod') | moduleUses.js:9:1:9:7 | new K() |
|
||||
test_ModuleImportNode_getAConstructorInvocation
|
||||
| client1.ts:4:28:4:29 | F1 | client1.ts:4:24:4:41 | new F1.Component() |
|
||||
| client2.ts:4:28:4:29 | F2 | client2.ts:4:24:4:41 | new F2.Component() |
|
||||
| client2_lazy.ts:4:28:4:29 | F2 | client2_lazy.ts:4:24:4:41 | new F2.Component() |
|
||||
| destructuringES6.js:1:1:1:41 | import ... ctron'; | destructuringES6.js:2:1:2:19 | new BrowserWindow() |
|
||||
| destructuringRequire.js:1:27:1:45 | require('electron') | destructuringRequire.js:2:1:2:19 | new BrowserWindow() |
|
||||
| moduleUses.js:1:11:1:24 | require('mod') | moduleUses.js:9:1:9:7 | new K() |
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
require(__dirname + '/a');
|
||||
|
||||
var x = __dirname;
|
||||
var y = '/a';
|
||||
require(x + y);
|
||||
@@ -90,6 +90,8 @@ test_NamedImportSpecifier
|
||||
| reExportNamespaceClient.js:1:10:1:11 | ns |
|
||||
test_OtherImports
|
||||
| es2015_require.js:1:11:1:24 | require('./d') | d.js:1:1:5:0 | <toplevel> |
|
||||
| import-indirect-path.js:1:1:1:25 | require ... + '/a') | a.js:1:1:5:32 | <toplevel> |
|
||||
| import-indirect-path.js:5:1:5:14 | require(x + y) | a.js:1:1:5:32 | <toplevel> |
|
||||
test_ReExportDeclarations
|
||||
| b.js:7:1:7:21 | export ... './a'; | b.js:7:16:7:20 | './a' |
|
||||
| d.js:4:1:4:20 | export * from 'm/c'; | d.js:4:15:4:19 | 'm/c' |
|
||||
@@ -103,6 +105,7 @@ test_getAnImportedModule
|
||||
| library-tests/Modules/es2015_require.js | library-tests/Modules/d.js |
|
||||
| library-tests/Modules/f.ts | library-tests/Modules/e.js |
|
||||
| library-tests/Modules/g.ts | library-tests/Modules/f.ts |
|
||||
| library-tests/Modules/import-indirect-path.js | library-tests/Modules/a.js |
|
||||
| library-tests/Modules/import-ts-with-js-extension.ts | library-tests/Modules/f.ts |
|
||||
| library-tests/Modules/m/c.js | library-tests/Modules/b.js |
|
||||
| library-tests/Modules/reExportNamespaceClient.js | library-tests/Modules/reExportNamespace.js |
|
||||
|
||||
@@ -1,3 +1,40 @@
|
||||
test_PromiseDefinition
|
||||
| flow.js:7:11:7:59 | new Pro ... ource)) |
|
||||
| flow.js:10:11:10:58 | new Pro ... ource)) |
|
||||
| flow.js:13:11:13:58 | new Pro ... ource)) |
|
||||
| flow.js:24:2:24:49 | new Pro ... ource)) |
|
||||
| flow.js:26:2:26:49 | new Pro ... ource)) |
|
||||
| flow.js:32:2:32:49 | new Pro ... ource)) |
|
||||
| flow.js:40:2:40:49 | new Pro ... ource)) |
|
||||
| flow.js:42:2:42:49 | new Pro ... ource)) |
|
||||
| flow.js:48:2:48:36 | new Pro ... urce }) |
|
||||
| flow.js:55:11:55:58 | new Pro ... ource)) |
|
||||
| flow.js:60:12:60:59 | new Pro ... ource)) |
|
||||
| flow.js:65:9:65:56 | new Pro ... ource)) |
|
||||
| flow.js:74:10:74:57 | new Pro ... ource)) |
|
||||
| flow.js:86:23:86:70 | new Pro ... ource)) |
|
||||
| flow.js:91:21:91:68 | new Pro ... ource)) |
|
||||
| flow.js:100:34:100:81 | new Pro ... ource)) |
|
||||
| flow.js:103:2:103:48 | new Pro ... "BLA")) |
|
||||
| flow.js:105:2:105:48 | new Pro ... "BLA")) |
|
||||
| flow.js:107:17:107:64 | new Pro ... ource)) |
|
||||
| flow.js:109:2:109:48 | new Pro ... "BLA")) |
|
||||
| flow.js:111:2:111:48 | new Pro ... "BLA")) |
|
||||
| flow.js:113:2:113:48 | new Pro ... "BLA")) |
|
||||
| flow.js:117:2:117:48 | new Pro ... "BLA")) |
|
||||
| flow.js:119:2:119:48 | new Pro ... "BLA")) |
|
||||
| flow.js:129:2:129:52 | new Pro ... olved)) |
|
||||
| interflow.js:11:12:15:6 | new Pro ... \\n }) |
|
||||
| promises.js:3:17:5:4 | new Pro ... );\\n }) |
|
||||
| promises.js:10:18:17:4 | new Pro ... );\\n }) |
|
||||
| promises.js:33:19:35:6 | new Pro ... \\n }) |
|
||||
| promises.js:43:19:45:6 | Q.Promi ... \\n }) |
|
||||
| promises.js:88:17:90:4 | Q.Promi ... );\\n }) |
|
||||
| promises.js:112:17:112:62 | new RSV ... ct) {}) |
|
||||
| promises.js:124:19:124:30 | when(source) |
|
||||
| promises.js:130:14:130:69 | new Pro ... s'); }) |
|
||||
| promises.js:135:3:137:4 | new Pro ... );\\n }) |
|
||||
| promises.js:148:10:148:49 | new Pro ... ect){}) |
|
||||
test_ResolvedPromiseDefinition
|
||||
| flow2.js:4:2:4:31 | Promise ... lean"]) | flow2.js:4:15:4:20 | source |
|
||||
| flow2.js:4:2:4:31 | Promise ... lean"]) | flow2.js:4:23:4:29 | "clean" |
|
||||
@@ -45,21 +82,6 @@ test_ResolvedPromiseDefinition
|
||||
| promises.js:125:20:125:39 | when.resolve(source) | promises.js:125:33:125:38 | source |
|
||||
| promises.js:143:17:143:50 | Synchro ... source) | promises.js:143:44:143:49 | source |
|
||||
| promises.js:153:17:153:39 | Promise ... source) | promises.js:153:33:153:38 | source |
|
||||
test_PromiseDefinition_getARejectHandler
|
||||
| flow.js:26:2:26:49 | new Pro ... ource)) | flow.js:26:69:26:80 | y => sink(y) |
|
||||
| flow.js:32:2:32:49 | new Pro ... ource)) | flow.js:32:57:32:68 | x => sink(x) |
|
||||
| flow.js:42:2:42:49 | new Pro ... ource)) | flow.js:42:67:42:75 | () => { } |
|
||||
| flow.js:48:2:48:36 | new Pro ... urce }) | flow.js:48:44:48:55 | x => sink(x) |
|
||||
| flow.js:103:2:103:48 | new Pro ... "BLA")) | flow.js:103:56:103:75 | x => {return source} |
|
||||
| flow.js:105:2:105:48 | new Pro ... "BLA")) | flow.js:105:58:105:76 | x => {throw source} |
|
||||
| flow.js:109:2:109:48 | new Pro ... "BLA")) | flow.js:109:58:109:70 | x => rejected |
|
||||
| flow.js:111:2:111:48 | new Pro ... "BLA")) | flow.js:111:56:111:68 | x => rejected |
|
||||
| flow.js:113:2:113:48 | new Pro ... "BLA")) | flow.js:113:56:113:68 | x => rejected |
|
||||
| flow.js:117:2:117:48 | new Pro ... "BLA")) | flow.js:117:56:117:68 | x => resolved |
|
||||
| flow.js:119:2:119:48 | new Pro ... "BLA")) | flow.js:119:56:119:68 | x => resolved |
|
||||
| promises.js:10:18:17:4 | new Pro ... );\\n }) | promises.js:20:6:22:3 | (v) => ... v;\\n } |
|
||||
| promises.js:10:18:17:4 | new Pro ... );\\n }) | promises.js:23:18:25:3 | (v) => ... v;\\n } |
|
||||
| promises.js:10:18:17:4 | new Pro ... );\\n }) | promises.js:26:20:28:3 | (v) => ... v;\\n } |
|
||||
test_PromiseDefinition_getExecutor
|
||||
| flow.js:7:11:7:59 | new Pro ... ource)) | flow.js:7:23:7:58 | (resolv ... source) |
|
||||
| flow.js:10:11:10:58 | new Pro ... ource)) | flow.js:10:23:10:57 | (resolv ... source) |
|
||||
@@ -96,47 +118,34 @@ test_PromiseDefinition_getExecutor
|
||||
| promises.js:130:14:130:69 | new Pro ... s'); }) | promises.js:130:26:130:68 | functio ... ns'); } |
|
||||
| promises.js:135:3:137:4 | new Pro ... );\\n }) | promises.js:135:15:137:3 | functio ... a);\\n } |
|
||||
| promises.js:148:10:148:49 | new Pro ... ect){}) | promises.js:148:22:148:48 | functio ... ject){} |
|
||||
test_PromiseDefinition_getACatchHandler
|
||||
| flow.js:32:2:32:49 | new Pro ... ource)) | flow.js:32:57:32:68 | x => sink(x) |
|
||||
| flow.js:48:2:48:36 | new Pro ... urce }) | flow.js:48:44:48:55 | x => sink(x) |
|
||||
| flow.js:103:2:103:48 | new Pro ... "BLA")) | flow.js:103:56:103:75 | x => {return source} |
|
||||
| flow.js:111:2:111:48 | new Pro ... "BLA")) | flow.js:111:56:111:68 | x => rejected |
|
||||
| flow.js:113:2:113:48 | new Pro ... "BLA")) | flow.js:113:56:113:68 | x => rejected |
|
||||
| flow.js:117:2:117:48 | new Pro ... "BLA")) | flow.js:117:56:117:68 | x => resolved |
|
||||
| flow.js:119:2:119:48 | new Pro ... "BLA")) | flow.js:119:56:119:68 | x => resolved |
|
||||
| promises.js:10:18:17:4 | new Pro ... );\\n }) | promises.js:23:18:25:3 | (v) => ... v;\\n } |
|
||||
test_PromiseDefinition_getARejectHandler
|
||||
| flow.js:26:2:26:49 | new Pro ... ource)) | flow.js:26:69:26:80 | y => sink(y) |
|
||||
| flow.js:32:2:32:49 | new Pro ... ource)) | flow.js:32:57:32:68 | x => sink(x) |
|
||||
| flow.js:42:2:42:49 | new Pro ... ource)) | flow.js:42:67:42:75 | () => { } |
|
||||
| flow.js:48:2:48:36 | new Pro ... urce }) | flow.js:48:44:48:55 | x => sink(x) |
|
||||
| flow.js:103:2:103:48 | new Pro ... "BLA")) | flow.js:103:56:103:75 | x => {return source} |
|
||||
| flow.js:105:2:105:48 | new Pro ... "BLA")) | flow.js:105:58:105:76 | x => {throw source} |
|
||||
| flow.js:109:2:109:48 | new Pro ... "BLA")) | flow.js:109:58:109:70 | x => rejected |
|
||||
| flow.js:111:2:111:48 | new Pro ... "BLA")) | flow.js:111:56:111:68 | x => rejected |
|
||||
| flow.js:113:2:113:48 | new Pro ... "BLA")) | flow.js:113:56:113:68 | x => rejected |
|
||||
| flow.js:117:2:117:48 | new Pro ... "BLA")) | flow.js:117:56:117:68 | x => resolved |
|
||||
| flow.js:119:2:119:48 | new Pro ... "BLA")) | flow.js:119:56:119:68 | x => resolved |
|
||||
| promises.js:10:18:17:4 | new Pro ... );\\n }) | promises.js:20:6:22:3 | (v) => ... v;\\n } |
|
||||
| promises.js:10:18:17:4 | new Pro ... );\\n }) | promises.js:23:18:25:3 | (v) => ... v;\\n } |
|
||||
| promises.js:10:18:17:4 | new Pro ... );\\n }) | promises.js:26:20:28:3 | (v) => ... v;\\n } |
|
||||
test_PromiseDefinition_getAFinallyHandler
|
||||
| flow.js:105:2:105:48 | new Pro ... "BLA")) | flow.js:105:58:105:76 | x => {throw source} |
|
||||
| flow.js:109:2:109:48 | new Pro ... "BLA")) | flow.js:109:58:109:70 | x => rejected |
|
||||
| promises.js:10:18:17:4 | new Pro ... );\\n }) | promises.js:26:20:28:3 | (v) => ... v;\\n } |
|
||||
test_PromiseDefinition
|
||||
| flow.js:7:11:7:59 | new Pro ... ource)) |
|
||||
| flow.js:10:11:10:58 | new Pro ... ource)) |
|
||||
| flow.js:13:11:13:58 | new Pro ... ource)) |
|
||||
| flow.js:24:2:24:49 | new Pro ... ource)) |
|
||||
| flow.js:26:2:26:49 | new Pro ... ource)) |
|
||||
| flow.js:32:2:32:49 | new Pro ... ource)) |
|
||||
| flow.js:40:2:40:49 | new Pro ... ource)) |
|
||||
| flow.js:42:2:42:49 | new Pro ... ource)) |
|
||||
| flow.js:48:2:48:36 | new Pro ... urce }) |
|
||||
| flow.js:55:11:55:58 | new Pro ... ource)) |
|
||||
| flow.js:60:12:60:59 | new Pro ... ource)) |
|
||||
| flow.js:65:9:65:56 | new Pro ... ource)) |
|
||||
| flow.js:74:10:74:57 | new Pro ... ource)) |
|
||||
| flow.js:86:23:86:70 | new Pro ... ource)) |
|
||||
| flow.js:91:21:91:68 | new Pro ... ource)) |
|
||||
| flow.js:100:34:100:81 | new Pro ... ource)) |
|
||||
| flow.js:103:2:103:48 | new Pro ... "BLA")) |
|
||||
| flow.js:105:2:105:48 | new Pro ... "BLA")) |
|
||||
| flow.js:107:17:107:64 | new Pro ... ource)) |
|
||||
| flow.js:109:2:109:48 | new Pro ... "BLA")) |
|
||||
| flow.js:111:2:111:48 | new Pro ... "BLA")) |
|
||||
| flow.js:113:2:113:48 | new Pro ... "BLA")) |
|
||||
| flow.js:117:2:117:48 | new Pro ... "BLA")) |
|
||||
| flow.js:119:2:119:48 | new Pro ... "BLA")) |
|
||||
| flow.js:129:2:129:52 | new Pro ... olved)) |
|
||||
| interflow.js:11:12:15:6 | new Pro ... \\n }) |
|
||||
| promises.js:3:17:5:4 | new Pro ... );\\n }) |
|
||||
| promises.js:10:18:17:4 | new Pro ... );\\n }) |
|
||||
| promises.js:33:19:35:6 | new Pro ... \\n }) |
|
||||
| promises.js:43:19:45:6 | Q.Promi ... \\n }) |
|
||||
| promises.js:88:17:90:4 | Q.Promi ... );\\n }) |
|
||||
| promises.js:112:17:112:62 | new RSV ... ct) {}) |
|
||||
| promises.js:124:19:124:30 | when(source) |
|
||||
| promises.js:130:14:130:69 | new Pro ... s'); }) |
|
||||
| promises.js:135:3:137:4 | new Pro ... );\\n }) |
|
||||
| promises.js:148:10:148:49 | new Pro ... ect){}) |
|
||||
test_PromiseDefinition_getAResolveHandler
|
||||
| flow.js:24:2:24:49 | new Pro ... ource)) | flow.js:24:56:24:67 | x => sink(x) |
|
||||
| flow.js:26:2:26:49 | new Pro ... ource)) | flow.js:26:56:26:66 | x => foo(x) |
|
||||
@@ -224,15 +233,6 @@ test_PromiseDefinition_getResolveParameter
|
||||
| promises.js:130:14:130:69 | new Pro ... s'); }) | promises.js:130:36:130:42 | resolve |
|
||||
| promises.js:135:3:137:4 | new Pro ... );\\n }) | promises.js:135:25:135:31 | resolve |
|
||||
| promises.js:148:10:148:49 | new Pro ... ect){}) | promises.js:148:31:148:37 | resolve |
|
||||
test_PromiseDefinition_getACatchHandler
|
||||
| flow.js:32:2:32:49 | new Pro ... ource)) | flow.js:32:57:32:68 | x => sink(x) |
|
||||
| flow.js:48:2:48:36 | new Pro ... urce }) | flow.js:48:44:48:55 | x => sink(x) |
|
||||
| flow.js:103:2:103:48 | new Pro ... "BLA")) | flow.js:103:56:103:75 | x => {return source} |
|
||||
| flow.js:111:2:111:48 | new Pro ... "BLA")) | flow.js:111:56:111:68 | x => rejected |
|
||||
| flow.js:113:2:113:48 | new Pro ... "BLA")) | flow.js:113:56:113:68 | x => rejected |
|
||||
| flow.js:117:2:117:48 | new Pro ... "BLA")) | flow.js:117:56:117:68 | x => resolved |
|
||||
| flow.js:119:2:119:48 | new Pro ... "BLA")) | flow.js:119:56:119:68 | x => resolved |
|
||||
| promises.js:10:18:17:4 | new Pro ... );\\n }) | promises.js:23:18:25:3 | (v) => ... v;\\n } |
|
||||
flow
|
||||
| flow2.js:2:15:2:22 | "source" | flow2.js:6:8:6:13 | arr[0] |
|
||||
| flow2.js:2:15:2:22 | "source" | flow2.js:12:7:12:13 | tainted |
|
||||
|
||||
@@ -1,3 +1,100 @@
|
||||
test_PropWrite
|
||||
| classes.ts:3:21:3:20 | constructor() {} |
|
||||
| classes.ts:4:3:4:24 | instanc ... foo(); |
|
||||
| classes.ts:8:3:8:39 | constru ... eld) {} |
|
||||
| classes.ts:8:15:8:35 | public ... erField |
|
||||
| classes.ts:12:5:12:68 | constru ... + 42; } |
|
||||
| classes.ts:12:17:12:37 | public ... erField |
|
||||
| classes.ts:16:5:16:46 | constru ... {}) {} |
|
||||
| classes.ts:16:17:16:37 | public ... erField |
|
||||
| tst.js:2:5:2:8 | x: 4 |
|
||||
| tst.js:3:5:5:5 | func: f ... ;\\n } |
|
||||
| tst.js:6:5:8:5 | f() {\\n ... ;\\n } |
|
||||
| tst.js:11:9:11:8 | constructor() {} |
|
||||
| tst.js:12:3:14:3 | static ... x);\\n } |
|
||||
| tst.js:15:3:17:3 | f(x) {\\n ... x);\\n } |
|
||||
| tst.js:20:1:20:6 | C.prop |
|
||||
| tst.js:23:13:23:27 | onClick={click} |
|
||||
| tst.js:26:3:26:26 | get x() ... null; } |
|
||||
| tst.js:27:3:27:13 | set y(v) {} |
|
||||
| tst.js:31:5:31:8 | n: 1 |
|
||||
| tst.js:32:5:32:10 | [v]: 2 |
|
||||
| tst.js:33:5:33:14 | [vv.pp]: 3 |
|
||||
| tst.js:34:5:34:20 | [vvv.ppp.qqq]: 4 |
|
||||
| tst.js:37:13:37:15 | "a" |
|
||||
| tst.js:37:18:37:20 | "b" |
|
||||
| tst.js:37:23:37:25 | "c" |
|
||||
| tst.js:38:13:38:15 | "a" |
|
||||
| tst.js:38:20:38:22 | "c" |
|
||||
| tst.js:39:15:39:17 | "b" |
|
||||
| tst.js:39:20:39:22 | "c" |
|
||||
| tst.js:40:13:40:15 | "a" |
|
||||
| tst.js:40:18:40:20 | "b" |
|
||||
| tst.js:41:13:41:15 | "a" |
|
||||
| tst.js:41:18:41:24 | ...arr3 |
|
||||
| tst.js:41:27:41:29 | "d" |
|
||||
test_PropWriteRhs
|
||||
| classes.ts:3:21:3:20 | constructor() {} | classes.ts:3:21:3:20 | () {} |
|
||||
| classes.ts:4:3:4:24 | instanc ... foo(); | classes.ts:4:19:4:23 | foo() |
|
||||
| classes.ts:8:3:8:39 | constru ... eld) {} | classes.ts:8:3:8:39 | constru ... eld) {} |
|
||||
| classes.ts:8:15:8:35 | public ... erField | classes.ts:8:22:8:35 | parameterField |
|
||||
| classes.ts:12:5:12:68 | constru ... + 42; } | classes.ts:12:5:12:68 | constru ... + 42; } |
|
||||
| classes.ts:12:17:12:37 | public ... erField | classes.ts:12:24:12:37 | parameterField |
|
||||
| classes.ts:16:5:16:46 | constru ... {}) {} | classes.ts:16:5:16:46 | constru ... {}) {} |
|
||||
| classes.ts:16:17:16:37 | public ... erField | classes.ts:16:24:16:37 | parameterField |
|
||||
| tst.js:2:5:2:8 | x: 4 | tst.js:2:8:2:8 | 4 |
|
||||
| tst.js:3:5:5:5 | func: f ... ;\\n } | tst.js:3:11:5:5 | functio ... ;\\n } |
|
||||
| tst.js:6:5:8:5 | f() {\\n ... ;\\n } | tst.js:6:6:8:5 | () {\\n ... ;\\n } |
|
||||
| tst.js:11:9:11:8 | constructor() {} | tst.js:11:9:11:8 | () {} |
|
||||
| tst.js:12:3:14:3 | static ... x);\\n } | tst.js:12:14:14:3 | (x) {\\n ... x);\\n } |
|
||||
| tst.js:15:3:17:3 | f(x) {\\n ... x);\\n } | tst.js:15:4:17:3 | (x) {\\n ... x);\\n } |
|
||||
| tst.js:20:1:20:6 | C.prop | tst.js:20:10:20:11 | 56 |
|
||||
| tst.js:23:13:23:27 | onClick={click} | tst.js:23:22:23:26 | click |
|
||||
| tst.js:31:5:31:8 | n: 1 | tst.js:31:8:31:8 | 1 |
|
||||
| tst.js:32:5:32:10 | [v]: 2 | tst.js:32:10:32:10 | 2 |
|
||||
| tst.js:33:5:33:14 | [vv.pp]: 3 | tst.js:33:14:33:14 | 3 |
|
||||
| tst.js:34:5:34:20 | [vvv.ppp.qqq]: 4 | tst.js:34:20:34:20 | 4 |
|
||||
| tst.js:37:13:37:15 | "a" | tst.js:37:13:37:15 | "a" |
|
||||
| tst.js:37:18:37:20 | "b" | tst.js:37:18:37:20 | "b" |
|
||||
| tst.js:37:23:37:25 | "c" | tst.js:37:23:37:25 | "c" |
|
||||
| tst.js:38:13:38:15 | "a" | tst.js:38:13:38:15 | "a" |
|
||||
| tst.js:38:20:38:22 | "c" | tst.js:38:20:38:22 | "c" |
|
||||
| tst.js:39:15:39:17 | "b" | tst.js:39:15:39:17 | "b" |
|
||||
| tst.js:39:20:39:22 | "c" | tst.js:39:20:39:22 | "c" |
|
||||
| tst.js:40:13:40:15 | "a" | tst.js:40:13:40:15 | "a" |
|
||||
| tst.js:40:18:40:20 | "b" | tst.js:40:18:40:20 | "b" |
|
||||
| tst.js:41:13:41:15 | "a" | tst.js:41:13:41:15 | "a" |
|
||||
| tst.js:41:18:41:24 | ...arr3 | tst.js:41:18:41:24 | ...arr3 |
|
||||
| tst.js:41:27:41:29 | "d" | tst.js:41:27:41:29 | "d" |
|
||||
test_PropWriteBase
|
||||
| classes.ts:4:3:4:24 | instanc ... foo(); | classes.ts:3:21:3:20 | this |
|
||||
| classes.ts:8:15:8:35 | public ... erField | classes.ts:8:3:8:2 | this |
|
||||
| classes.ts:12:17:12:37 | public ... erField | classes.ts:12:5:12:4 | this |
|
||||
| classes.ts:16:17:16:37 | public ... erField | classes.ts:16:5:16:4 | this |
|
||||
| tst.js:2:5:2:8 | x: 4 | tst.js:1:11:9:1 | {\\n x ... }\\n} |
|
||||
| tst.js:3:5:5:5 | func: f ... ;\\n } | tst.js:1:11:9:1 | {\\n x ... }\\n} |
|
||||
| tst.js:6:5:8:5 | f() {\\n ... ;\\n } | tst.js:1:11:9:1 | {\\n x ... }\\n} |
|
||||
| tst.js:12:3:14:3 | static ... x);\\n } | tst.js:11:1:18:1 | class C ... ;\\n }\\n} |
|
||||
| tst.js:20:1:20:6 | C.prop | tst.js:20:1:20:1 | C |
|
||||
| tst.js:23:13:23:27 | onClick={click} | tst.js:23:8:23:57 | <div on ... }</div> |
|
||||
| tst.js:26:3:26:26 | get x() ... null; } | tst.js:25:2:28:1 | {\\n get ... v) {}\\n} |
|
||||
| tst.js:27:3:27:13 | set y(v) {} | tst.js:25:2:28:1 | {\\n get ... v) {}\\n} |
|
||||
| tst.js:31:5:31:8 | n: 1 | tst.js:30:2:35:1 | {\\n n ... q]: 4\\n} |
|
||||
| tst.js:32:5:32:10 | [v]: 2 | tst.js:30:2:35:1 | {\\n n ... q]: 4\\n} |
|
||||
| tst.js:33:5:33:14 | [vv.pp]: 3 | tst.js:30:2:35:1 | {\\n n ... q]: 4\\n} |
|
||||
| tst.js:34:5:34:20 | [vvv.ppp.qqq]: 4 | tst.js:30:2:35:1 | {\\n n ... q]: 4\\n} |
|
||||
| tst.js:37:13:37:15 | "a" | tst.js:37:12:37:26 | ["a", "b", "c"] |
|
||||
| tst.js:37:18:37:20 | "b" | tst.js:37:12:37:26 | ["a", "b", "c"] |
|
||||
| tst.js:37:23:37:25 | "c" | tst.js:37:12:37:26 | ["a", "b", "c"] |
|
||||
| tst.js:38:13:38:15 | "a" | tst.js:38:12:38:23 | ["a", , "c"] |
|
||||
| tst.js:38:20:38:22 | "c" | tst.js:38:12:38:23 | ["a", , "c"] |
|
||||
| tst.js:39:15:39:17 | "b" | tst.js:39:12:39:23 | [, "b", "c"] |
|
||||
| tst.js:39:20:39:22 | "c" | tst.js:39:12:39:23 | [, "b", "c"] |
|
||||
| tst.js:40:13:40:15 | "a" | tst.js:40:12:40:22 | ["a", "b",] |
|
||||
| tst.js:40:18:40:20 | "b" | tst.js:40:12:40:22 | ["a", "b",] |
|
||||
| tst.js:41:13:41:15 | "a" | tst.js:41:12:41:30 | ["a", ...arr3, "d"] |
|
||||
| tst.js:41:18:41:24 | ...arr3 | tst.js:41:12:41:30 | ["a", ...arr3, "d"] |
|
||||
| tst.js:41:27:41:29 | "d" | tst.js:41:12:41:30 | ["a", ...arr3, "d"] |
|
||||
test_getAPropertyRead
|
||||
| tst.js:1:1:1:0 | this | tst.js:22:15:22:29 | this.someMethod |
|
||||
| tst.js:1:1:1:0 | this | tst.js:23:36:23:45 | this.state |
|
||||
@@ -13,6 +110,106 @@ test_getAPropertyRead
|
||||
| tst.js:46:17:46:21 | array | tst.js:47:10:47:10 | x |
|
||||
| tst.js:46:17:46:21 | array | tst.js:47:13:47:13 | y |
|
||||
| tst.js:46:17:46:21 | array | tst.js:47:16:47:16 | z |
|
||||
test_hasPropertyWrite
|
||||
| classes.ts:3:21:3:20 | this | instanceField | classes.ts:4:19:4:23 | foo() |
|
||||
| classes.ts:8:3:8:2 | this | parameterField | classes.ts:8:22:8:35 | parameterField |
|
||||
| classes.ts:12:5:12:4 | this | parameterField | classes.ts:12:24:12:37 | parameterField |
|
||||
| classes.ts:16:5:16:4 | this | parameterField | classes.ts:16:24:16:37 | parameterField |
|
||||
| tst.js:1:11:9:1 | {\\n x ... }\\n} | f | tst.js:6:6:8:5 | () {\\n ... ;\\n } |
|
||||
| tst.js:1:11:9:1 | {\\n x ... }\\n} | func | tst.js:3:11:5:5 | functio ... ;\\n } |
|
||||
| tst.js:1:11:9:1 | {\\n x ... }\\n} | x | tst.js:2:8:2:8 | 4 |
|
||||
| tst.js:11:1:18:1 | class C ... ;\\n }\\n} | func | tst.js:12:14:14:3 | (x) {\\n ... x);\\n } |
|
||||
| tst.js:20:1:20:1 | C | prop | tst.js:20:10:20:11 | 56 |
|
||||
| tst.js:23:8:23:57 | <div on ... }</div> | onClick | tst.js:23:22:23:26 | click |
|
||||
| tst.js:30:2:35:1 | {\\n n ... q]: 4\\n} | n | tst.js:31:8:31:8 | 1 |
|
||||
test_PropWritePropName
|
||||
| classes.ts:3:21:3:20 | constructor() {} | constructor |
|
||||
| classes.ts:4:3:4:24 | instanc ... foo(); | instanceField |
|
||||
| classes.ts:8:3:8:39 | constru ... eld) {} | constructor |
|
||||
| classes.ts:8:15:8:35 | public ... erField | parameterField |
|
||||
| classes.ts:12:5:12:68 | constru ... + 42; } | constructor |
|
||||
| classes.ts:12:17:12:37 | public ... erField | parameterField |
|
||||
| classes.ts:16:5:16:46 | constru ... {}) {} | constructor |
|
||||
| classes.ts:16:17:16:37 | public ... erField | parameterField |
|
||||
| tst.js:2:5:2:8 | x: 4 | x |
|
||||
| tst.js:3:5:5:5 | func: f ... ;\\n } | func |
|
||||
| tst.js:6:5:8:5 | f() {\\n ... ;\\n } | f |
|
||||
| tst.js:11:9:11:8 | constructor() {} | constructor |
|
||||
| tst.js:12:3:14:3 | static ... x);\\n } | func |
|
||||
| tst.js:15:3:17:3 | f(x) {\\n ... x);\\n } | f |
|
||||
| tst.js:20:1:20:6 | C.prop | prop |
|
||||
| tst.js:23:13:23:27 | onClick={click} | onClick |
|
||||
| tst.js:26:3:26:26 | get x() ... null; } | x |
|
||||
| tst.js:27:3:27:13 | set y(v) {} | y |
|
||||
| tst.js:31:5:31:8 | n: 1 | n |
|
||||
test_getAPropertyRead2
|
||||
| tst.js:1:1:1:0 | this | someMethod | tst.js:22:15:22:29 | this.someMethod |
|
||||
| tst.js:1:1:1:0 | this | state | tst.js:23:36:23:45 | this.state |
|
||||
| tst.js:13:5:13:11 | console | log | tst.js:13:5:13:15 | console.log |
|
||||
| tst.js:16:5:16:11 | console | log | tst.js:16:5:16:15 | console.log |
|
||||
| tst.js:22:15:22:29 | this.someMethod | bind | tst.js:22:15:22:34 | this.someMethod.bind |
|
||||
| tst.js:23:36:23:45 | this.state | name | tst.js:23:36:23:50 | this.state.name |
|
||||
| tst.js:33:6:33:7 | vv | pp | tst.js:33:6:33:10 | vv.pp |
|
||||
| tst.js:34:6:34:8 | vvv | ppp | tst.js:34:6:34:12 | vvv.ppp |
|
||||
| tst.js:34:6:34:12 | vvv.ppp | qqq | tst.js:34:6:34:16 | vvv.ppp.qqq |
|
||||
| tst.js:44:3:44:9 | console | log | tst.js:44:3:44:13 | console.log |
|
||||
| tst.js:46:17:46:21 | array | 0 | tst.js:47:10:47:10 | x |
|
||||
| tst.js:46:17:46:21 | array | 1 | tst.js:47:13:47:13 | y |
|
||||
| tst.js:46:17:46:21 | array | 2 | tst.js:47:16:47:16 | z |
|
||||
test_getAPropertyWrite
|
||||
| classes.ts:3:21:3:20 | this | classes.ts:4:3:4:24 | instanc ... foo(); |
|
||||
| classes.ts:8:3:8:2 | this | classes.ts:8:15:8:35 | public ... erField |
|
||||
| classes.ts:12:5:12:4 | this | classes.ts:12:17:12:37 | public ... erField |
|
||||
| classes.ts:16:5:16:4 | this | classes.ts:16:17:16:37 | public ... erField |
|
||||
| tst.js:1:11:9:1 | {\\n x ... }\\n} | tst.js:2:5:2:8 | x: 4 |
|
||||
| tst.js:1:11:9:1 | {\\n x ... }\\n} | tst.js:3:5:5:5 | func: f ... ;\\n } |
|
||||
| tst.js:1:11:9:1 | {\\n x ... }\\n} | tst.js:6:5:8:5 | f() {\\n ... ;\\n } |
|
||||
| tst.js:11:1:18:1 | class C ... ;\\n }\\n} | tst.js:12:3:14:3 | static ... x);\\n } |
|
||||
| tst.js:20:1:20:1 | C | tst.js:20:1:20:6 | C.prop |
|
||||
| tst.js:23:8:23:57 | <div on ... }</div> | tst.js:23:13:23:27 | onClick={click} |
|
||||
| tst.js:25:2:28:1 | {\\n get ... v) {}\\n} | tst.js:26:3:26:26 | get x() ... null; } |
|
||||
| tst.js:25:2:28:1 | {\\n get ... v) {}\\n} | tst.js:27:3:27:13 | set y(v) {} |
|
||||
| tst.js:30:2:35:1 | {\\n n ... q]: 4\\n} | tst.js:31:5:31:8 | n: 1 |
|
||||
| tst.js:30:2:35:1 | {\\n n ... q]: 4\\n} | tst.js:32:5:32:10 | [v]: 2 |
|
||||
| tst.js:30:2:35:1 | {\\n n ... q]: 4\\n} | tst.js:33:5:33:14 | [vv.pp]: 3 |
|
||||
| tst.js:30:2:35:1 | {\\n n ... q]: 4\\n} | tst.js:34:5:34:20 | [vvv.ppp.qqq]: 4 |
|
||||
| tst.js:37:12:37:26 | ["a", "b", "c"] | tst.js:37:13:37:15 | "a" |
|
||||
| tst.js:37:12:37:26 | ["a", "b", "c"] | tst.js:37:18:37:20 | "b" |
|
||||
| tst.js:37:12:37:26 | ["a", "b", "c"] | tst.js:37:23:37:25 | "c" |
|
||||
| tst.js:38:12:38:23 | ["a", , "c"] | tst.js:38:13:38:15 | "a" |
|
||||
| tst.js:38:12:38:23 | ["a", , "c"] | tst.js:38:20:38:22 | "c" |
|
||||
| tst.js:39:12:39:23 | [, "b", "c"] | tst.js:39:15:39:17 | "b" |
|
||||
| tst.js:39:12:39:23 | [, "b", "c"] | tst.js:39:20:39:22 | "c" |
|
||||
| tst.js:40:12:40:22 | ["a", "b",] | tst.js:40:13:40:15 | "a" |
|
||||
| tst.js:40:12:40:22 | ["a", "b",] | tst.js:40:18:40:20 | "b" |
|
||||
| tst.js:41:12:41:30 | ["a", ...arr3, "d"] | tst.js:41:13:41:15 | "a" |
|
||||
| tst.js:41:12:41:30 | ["a", ...arr3, "d"] | tst.js:41:18:41:24 | ...arr3 |
|
||||
| tst.js:41:12:41:30 | ["a", ...arr3, "d"] | tst.js:41:27:41:29 | "d" |
|
||||
test_getAPropertySource
|
||||
| classes.ts:3:21:3:20 | this | instanceField | classes.ts:4:19:4:23 | foo() |
|
||||
| classes.ts:8:3:8:2 | this | parameterField | classes.ts:8:22:8:35 | parameterField |
|
||||
| classes.ts:12:5:12:4 | this | parameterField | classes.ts:12:24:12:37 | parameterField |
|
||||
| classes.ts:12:5:12:4 | this | parameterField | classes.ts:12:41:12:42 | {} |
|
||||
| classes.ts:16:5:16:4 | this | parameterField | classes.ts:16:24:16:37 | parameterField |
|
||||
| classes.ts:16:5:16:4 | this | parameterField | classes.ts:16:41:16:42 | {} |
|
||||
| tst.js:1:11:9:1 | {\\n x ... }\\n} | f | tst.js:6:6:8:5 | () {\\n ... ;\\n } |
|
||||
| tst.js:1:11:9:1 | {\\n x ... }\\n} | func | tst.js:3:11:5:5 | functio ... ;\\n } |
|
||||
| tst.js:11:1:18:1 | class C ... ;\\n }\\n} | func | tst.js:12:14:14:3 | (x) {\\n ... x);\\n } |
|
||||
| tst.js:23:8:23:57 | <div on ... }</div> | onClick | tst.js:23:22:23:26 | click |
|
||||
test_getAPropertyWrite2
|
||||
| classes.ts:3:21:3:20 | this | instanceField | classes.ts:4:3:4:24 | instanc ... foo(); |
|
||||
| classes.ts:8:3:8:2 | this | parameterField | classes.ts:8:15:8:35 | public ... erField |
|
||||
| classes.ts:12:5:12:4 | this | parameterField | classes.ts:12:17:12:37 | public ... erField |
|
||||
| classes.ts:16:5:16:4 | this | parameterField | classes.ts:16:17:16:37 | public ... erField |
|
||||
| tst.js:1:11:9:1 | {\\n x ... }\\n} | f | tst.js:6:5:8:5 | f() {\\n ... ;\\n } |
|
||||
| tst.js:1:11:9:1 | {\\n x ... }\\n} | func | tst.js:3:5:5:5 | func: f ... ;\\n } |
|
||||
| tst.js:1:11:9:1 | {\\n x ... }\\n} | x | tst.js:2:5:2:8 | x: 4 |
|
||||
| tst.js:11:1:18:1 | class C ... ;\\n }\\n} | func | tst.js:12:3:14:3 | static ... x);\\n } |
|
||||
| tst.js:20:1:20:1 | C | prop | tst.js:20:1:20:6 | C.prop |
|
||||
| tst.js:23:8:23:57 | <div on ... }</div> | onClick | tst.js:23:13:23:27 | onClick={click} |
|
||||
| tst.js:25:2:28:1 | {\\n get ... v) {}\\n} | x | tst.js:26:3:26:26 | get x() ... null; } |
|
||||
| tst.js:25:2:28:1 | {\\n get ... v) {}\\n} | y | tst.js:27:3:27:13 | set y(v) {} |
|
||||
| tst.js:30:2:35:1 | {\\n n ... q]: 4\\n} | n | tst.js:31:5:31:8 | n: 1 |
|
||||
test_getAPropertyReference
|
||||
| classes.ts:3:21:3:20 | this | classes.ts:4:3:4:24 | instanc ... foo(); |
|
||||
| classes.ts:8:3:8:2 | this | classes.ts:8:15:8:35 | public ... erField |
|
||||
@@ -56,51 +253,6 @@ test_getAPropertyReference
|
||||
| tst.js:46:17:46:21 | array | tst.js:47:10:47:10 | x |
|
||||
| tst.js:46:17:46:21 | array | tst.js:47:13:47:13 | y |
|
||||
| tst.js:46:17:46:21 | array | tst.js:47:16:47:16 | z |
|
||||
test_getAPropertySource
|
||||
| classes.ts:3:21:3:20 | this | instanceField | classes.ts:4:19:4:23 | foo() |
|
||||
| classes.ts:8:3:8:2 | this | parameterField | classes.ts:8:22:8:35 | parameterField |
|
||||
| classes.ts:12:5:12:4 | this | parameterField | classes.ts:12:24:12:37 | parameterField |
|
||||
| classes.ts:12:5:12:4 | this | parameterField | classes.ts:12:41:12:42 | {} |
|
||||
| classes.ts:16:5:16:4 | this | parameterField | classes.ts:16:24:16:37 | parameterField |
|
||||
| classes.ts:16:5:16:4 | this | parameterField | classes.ts:16:41:16:42 | {} |
|
||||
| tst.js:1:11:9:1 | {\\n x ... }\\n} | f | tst.js:6:6:8:5 | () {\\n ... ;\\n } |
|
||||
| tst.js:1:11:9:1 | {\\n x ... }\\n} | func | tst.js:3:11:5:5 | functio ... ;\\n } |
|
||||
| tst.js:11:1:18:1 | class C ... ;\\n }\\n} | func | tst.js:12:14:14:3 | (x) {\\n ... x);\\n } |
|
||||
| tst.js:23:8:23:57 | <div on ... }</div> | onClick | tst.js:23:22:23:26 | click |
|
||||
test_PropWritePropName
|
||||
| classes.ts:3:21:3:20 | constructor() {} | constructor |
|
||||
| classes.ts:4:3:4:24 | instanc ... foo(); | instanceField |
|
||||
| classes.ts:8:3:8:39 | constru ... eld) {} | constructor |
|
||||
| classes.ts:8:15:8:35 | public ... erField | parameterField |
|
||||
| classes.ts:12:5:12:68 | constru ... + 42; } | constructor |
|
||||
| classes.ts:12:17:12:37 | public ... erField | parameterField |
|
||||
| classes.ts:16:5:16:46 | constru ... {}) {} | constructor |
|
||||
| classes.ts:16:17:16:37 | public ... erField | parameterField |
|
||||
| tst.js:2:5:2:8 | x: 4 | x |
|
||||
| tst.js:3:5:5:5 | func: f ... ;\\n } | func |
|
||||
| tst.js:6:5:8:5 | f() {\\n ... ;\\n } | f |
|
||||
| tst.js:11:9:11:8 | constructor() {} | constructor |
|
||||
| tst.js:12:3:14:3 | static ... x);\\n } | func |
|
||||
| tst.js:15:3:17:3 | f(x) {\\n ... x);\\n } | f |
|
||||
| tst.js:20:1:20:6 | C.prop | prop |
|
||||
| tst.js:23:13:23:27 | onClick={click} | onClick |
|
||||
| tst.js:26:3:26:26 | get x() ... null; } | x |
|
||||
| tst.js:27:3:27:13 | set y(v) {} | y |
|
||||
| tst.js:31:5:31:8 | n: 1 | n |
|
||||
test_getAPropertyRead2
|
||||
| tst.js:1:1:1:0 | this | someMethod | tst.js:22:15:22:29 | this.someMethod |
|
||||
| tst.js:1:1:1:0 | this | state | tst.js:23:36:23:45 | this.state |
|
||||
| tst.js:13:5:13:11 | console | log | tst.js:13:5:13:15 | console.log |
|
||||
| tst.js:16:5:16:11 | console | log | tst.js:16:5:16:15 | console.log |
|
||||
| tst.js:22:15:22:29 | this.someMethod | bind | tst.js:22:15:22:34 | this.someMethod.bind |
|
||||
| tst.js:23:36:23:45 | this.state | name | tst.js:23:36:23:50 | this.state.name |
|
||||
| tst.js:33:6:33:7 | vv | pp | tst.js:33:6:33:10 | vv.pp |
|
||||
| tst.js:34:6:34:8 | vvv | ppp | tst.js:34:6:34:12 | vvv.ppp |
|
||||
| tst.js:34:6:34:12 | vvv.ppp | qqq | tst.js:34:6:34:16 | vvv.ppp.qqq |
|
||||
| tst.js:44:3:44:9 | console | log | tst.js:44:3:44:13 | console.log |
|
||||
| tst.js:46:17:46:21 | array | 0 | tst.js:47:10:47:10 | x |
|
||||
| tst.js:46:17:46:21 | array | 1 | tst.js:47:13:47:13 | y |
|
||||
| tst.js:46:17:46:21 | array | 2 | tst.js:47:16:47:16 | z |
|
||||
test_getAPropertyReference2
|
||||
| classes.ts:3:21:3:20 | this | instanceField | classes.ts:4:3:4:24 | instanc ... foo(); |
|
||||
| classes.ts:8:3:8:2 | this | parameterField | classes.ts:8:15:8:35 | public ... erField |
|
||||
@@ -128,155 +280,3 @@ test_getAPropertyReference2
|
||||
| tst.js:46:17:46:21 | array | 0 | tst.js:47:10:47:10 | x |
|
||||
| tst.js:46:17:46:21 | array | 1 | tst.js:47:13:47:13 | y |
|
||||
| tst.js:46:17:46:21 | array | 2 | tst.js:47:16:47:16 | z |
|
||||
test_hasPropertyWrite
|
||||
| classes.ts:3:21:3:20 | this | instanceField | classes.ts:4:19:4:23 | foo() |
|
||||
| classes.ts:8:3:8:2 | this | parameterField | classes.ts:8:22:8:35 | parameterField |
|
||||
| classes.ts:12:5:12:4 | this | parameterField | classes.ts:12:24:12:37 | parameterField |
|
||||
| classes.ts:16:5:16:4 | this | parameterField | classes.ts:16:24:16:37 | parameterField |
|
||||
| tst.js:1:11:9:1 | {\\n x ... }\\n} | f | tst.js:6:6:8:5 | () {\\n ... ;\\n } |
|
||||
| tst.js:1:11:9:1 | {\\n x ... }\\n} | func | tst.js:3:11:5:5 | functio ... ;\\n } |
|
||||
| tst.js:1:11:9:1 | {\\n x ... }\\n} | x | tst.js:2:8:2:8 | 4 |
|
||||
| tst.js:11:1:18:1 | class C ... ;\\n }\\n} | func | tst.js:12:14:14:3 | (x) {\\n ... x);\\n } |
|
||||
| tst.js:20:1:20:1 | C | prop | tst.js:20:10:20:11 | 56 |
|
||||
| tst.js:23:8:23:57 | <div on ... }</div> | onClick | tst.js:23:22:23:26 | click |
|
||||
| tst.js:30:2:35:1 | {\\n n ... q]: 4\\n} | n | tst.js:31:8:31:8 | 1 |
|
||||
test_PropWriteBase
|
||||
| classes.ts:4:3:4:24 | instanc ... foo(); | classes.ts:3:21:3:20 | this |
|
||||
| classes.ts:8:15:8:35 | public ... erField | classes.ts:8:3:8:2 | this |
|
||||
| classes.ts:12:17:12:37 | public ... erField | classes.ts:12:5:12:4 | this |
|
||||
| classes.ts:16:17:16:37 | public ... erField | classes.ts:16:5:16:4 | this |
|
||||
| tst.js:2:5:2:8 | x: 4 | tst.js:1:11:9:1 | {\\n x ... }\\n} |
|
||||
| tst.js:3:5:5:5 | func: f ... ;\\n } | tst.js:1:11:9:1 | {\\n x ... }\\n} |
|
||||
| tst.js:6:5:8:5 | f() {\\n ... ;\\n } | tst.js:1:11:9:1 | {\\n x ... }\\n} |
|
||||
| tst.js:12:3:14:3 | static ... x);\\n } | tst.js:11:1:18:1 | class C ... ;\\n }\\n} |
|
||||
| tst.js:20:1:20:6 | C.prop | tst.js:20:1:20:1 | C |
|
||||
| tst.js:23:13:23:27 | onClick={click} | tst.js:23:8:23:57 | <div on ... }</div> |
|
||||
| tst.js:26:3:26:26 | get x() ... null; } | tst.js:25:2:28:1 | {\\n get ... v) {}\\n} |
|
||||
| tst.js:27:3:27:13 | set y(v) {} | tst.js:25:2:28:1 | {\\n get ... v) {}\\n} |
|
||||
| tst.js:31:5:31:8 | n: 1 | tst.js:30:2:35:1 | {\\n n ... q]: 4\\n} |
|
||||
| tst.js:32:5:32:10 | [v]: 2 | tst.js:30:2:35:1 | {\\n n ... q]: 4\\n} |
|
||||
| tst.js:33:5:33:14 | [vv.pp]: 3 | tst.js:30:2:35:1 | {\\n n ... q]: 4\\n} |
|
||||
| tst.js:34:5:34:20 | [vvv.ppp.qqq]: 4 | tst.js:30:2:35:1 | {\\n n ... q]: 4\\n} |
|
||||
| tst.js:37:13:37:15 | "a" | tst.js:37:12:37:26 | ["a", "b", "c"] |
|
||||
| tst.js:37:18:37:20 | "b" | tst.js:37:12:37:26 | ["a", "b", "c"] |
|
||||
| tst.js:37:23:37:25 | "c" | tst.js:37:12:37:26 | ["a", "b", "c"] |
|
||||
| tst.js:38:13:38:15 | "a" | tst.js:38:12:38:23 | ["a", , "c"] |
|
||||
| tst.js:38:20:38:22 | "c" | tst.js:38:12:38:23 | ["a", , "c"] |
|
||||
| tst.js:39:15:39:17 | "b" | tst.js:39:12:39:23 | [, "b", "c"] |
|
||||
| tst.js:39:20:39:22 | "c" | tst.js:39:12:39:23 | [, "b", "c"] |
|
||||
| tst.js:40:13:40:15 | "a" | tst.js:40:12:40:22 | ["a", "b",] |
|
||||
| tst.js:40:18:40:20 | "b" | tst.js:40:12:40:22 | ["a", "b",] |
|
||||
| tst.js:41:13:41:15 | "a" | tst.js:41:12:41:30 | ["a", ...arr3, "d"] |
|
||||
| tst.js:41:18:41:24 | ...arr3 | tst.js:41:12:41:30 | ["a", ...arr3, "d"] |
|
||||
| tst.js:41:27:41:29 | "d" | tst.js:41:12:41:30 | ["a", ...arr3, "d"] |
|
||||
test_getAPropertyWrite
|
||||
| classes.ts:3:21:3:20 | this | classes.ts:4:3:4:24 | instanc ... foo(); |
|
||||
| classes.ts:8:3:8:2 | this | classes.ts:8:15:8:35 | public ... erField |
|
||||
| classes.ts:12:5:12:4 | this | classes.ts:12:17:12:37 | public ... erField |
|
||||
| classes.ts:16:5:16:4 | this | classes.ts:16:17:16:37 | public ... erField |
|
||||
| tst.js:1:11:9:1 | {\\n x ... }\\n} | tst.js:2:5:2:8 | x: 4 |
|
||||
| tst.js:1:11:9:1 | {\\n x ... }\\n} | tst.js:3:5:5:5 | func: f ... ;\\n } |
|
||||
| tst.js:1:11:9:1 | {\\n x ... }\\n} | tst.js:6:5:8:5 | f() {\\n ... ;\\n } |
|
||||
| tst.js:11:1:18:1 | class C ... ;\\n }\\n} | tst.js:12:3:14:3 | static ... x);\\n } |
|
||||
| tst.js:20:1:20:1 | C | tst.js:20:1:20:6 | C.prop |
|
||||
| tst.js:23:8:23:57 | <div on ... }</div> | tst.js:23:13:23:27 | onClick={click} |
|
||||
| tst.js:25:2:28:1 | {\\n get ... v) {}\\n} | tst.js:26:3:26:26 | get x() ... null; } |
|
||||
| tst.js:25:2:28:1 | {\\n get ... v) {}\\n} | tst.js:27:3:27:13 | set y(v) {} |
|
||||
| tst.js:30:2:35:1 | {\\n n ... q]: 4\\n} | tst.js:31:5:31:8 | n: 1 |
|
||||
| tst.js:30:2:35:1 | {\\n n ... q]: 4\\n} | tst.js:32:5:32:10 | [v]: 2 |
|
||||
| tst.js:30:2:35:1 | {\\n n ... q]: 4\\n} | tst.js:33:5:33:14 | [vv.pp]: 3 |
|
||||
| tst.js:30:2:35:1 | {\\n n ... q]: 4\\n} | tst.js:34:5:34:20 | [vvv.ppp.qqq]: 4 |
|
||||
| tst.js:37:12:37:26 | ["a", "b", "c"] | tst.js:37:13:37:15 | "a" |
|
||||
| tst.js:37:12:37:26 | ["a", "b", "c"] | tst.js:37:18:37:20 | "b" |
|
||||
| tst.js:37:12:37:26 | ["a", "b", "c"] | tst.js:37:23:37:25 | "c" |
|
||||
| tst.js:38:12:38:23 | ["a", , "c"] | tst.js:38:13:38:15 | "a" |
|
||||
| tst.js:38:12:38:23 | ["a", , "c"] | tst.js:38:20:38:22 | "c" |
|
||||
| tst.js:39:12:39:23 | [, "b", "c"] | tst.js:39:15:39:17 | "b" |
|
||||
| tst.js:39:12:39:23 | [, "b", "c"] | tst.js:39:20:39:22 | "c" |
|
||||
| tst.js:40:12:40:22 | ["a", "b",] | tst.js:40:13:40:15 | "a" |
|
||||
| tst.js:40:12:40:22 | ["a", "b",] | tst.js:40:18:40:20 | "b" |
|
||||
| tst.js:41:12:41:30 | ["a", ...arr3, "d"] | tst.js:41:13:41:15 | "a" |
|
||||
| tst.js:41:12:41:30 | ["a", ...arr3, "d"] | tst.js:41:18:41:24 | ...arr3 |
|
||||
| tst.js:41:12:41:30 | ["a", ...arr3, "d"] | tst.js:41:27:41:29 | "d" |
|
||||
test_PropWrite
|
||||
| classes.ts:3:21:3:20 | constructor() {} |
|
||||
| classes.ts:4:3:4:24 | instanc ... foo(); |
|
||||
| classes.ts:8:3:8:39 | constru ... eld) {} |
|
||||
| classes.ts:8:15:8:35 | public ... erField |
|
||||
| classes.ts:12:5:12:68 | constru ... + 42; } |
|
||||
| classes.ts:12:17:12:37 | public ... erField |
|
||||
| classes.ts:16:5:16:46 | constru ... {}) {} |
|
||||
| classes.ts:16:17:16:37 | public ... erField |
|
||||
| tst.js:2:5:2:8 | x: 4 |
|
||||
| tst.js:3:5:5:5 | func: f ... ;\\n } |
|
||||
| tst.js:6:5:8:5 | f() {\\n ... ;\\n } |
|
||||
| tst.js:11:9:11:8 | constructor() {} |
|
||||
| tst.js:12:3:14:3 | static ... x);\\n } |
|
||||
| tst.js:15:3:17:3 | f(x) {\\n ... x);\\n } |
|
||||
| tst.js:20:1:20:6 | C.prop |
|
||||
| tst.js:23:13:23:27 | onClick={click} |
|
||||
| tst.js:26:3:26:26 | get x() ... null; } |
|
||||
| tst.js:27:3:27:13 | set y(v) {} |
|
||||
| tst.js:31:5:31:8 | n: 1 |
|
||||
| tst.js:32:5:32:10 | [v]: 2 |
|
||||
| tst.js:33:5:33:14 | [vv.pp]: 3 |
|
||||
| tst.js:34:5:34:20 | [vvv.ppp.qqq]: 4 |
|
||||
| tst.js:37:13:37:15 | "a" |
|
||||
| tst.js:37:18:37:20 | "b" |
|
||||
| tst.js:37:23:37:25 | "c" |
|
||||
| tst.js:38:13:38:15 | "a" |
|
||||
| tst.js:38:20:38:22 | "c" |
|
||||
| tst.js:39:15:39:17 | "b" |
|
||||
| tst.js:39:20:39:22 | "c" |
|
||||
| tst.js:40:13:40:15 | "a" |
|
||||
| tst.js:40:18:40:20 | "b" |
|
||||
| tst.js:41:13:41:15 | "a" |
|
||||
| tst.js:41:18:41:24 | ...arr3 |
|
||||
| tst.js:41:27:41:29 | "d" |
|
||||
test_getAPropertyWrite2
|
||||
| classes.ts:3:21:3:20 | this | instanceField | classes.ts:4:3:4:24 | instanc ... foo(); |
|
||||
| classes.ts:8:3:8:2 | this | parameterField | classes.ts:8:15:8:35 | public ... erField |
|
||||
| classes.ts:12:5:12:4 | this | parameterField | classes.ts:12:17:12:37 | public ... erField |
|
||||
| classes.ts:16:5:16:4 | this | parameterField | classes.ts:16:17:16:37 | public ... erField |
|
||||
| tst.js:1:11:9:1 | {\\n x ... }\\n} | f | tst.js:6:5:8:5 | f() {\\n ... ;\\n } |
|
||||
| tst.js:1:11:9:1 | {\\n x ... }\\n} | func | tst.js:3:5:5:5 | func: f ... ;\\n } |
|
||||
| tst.js:1:11:9:1 | {\\n x ... }\\n} | x | tst.js:2:5:2:8 | x: 4 |
|
||||
| tst.js:11:1:18:1 | class C ... ;\\n }\\n} | func | tst.js:12:3:14:3 | static ... x);\\n } |
|
||||
| tst.js:20:1:20:1 | C | prop | tst.js:20:1:20:6 | C.prop |
|
||||
| tst.js:23:8:23:57 | <div on ... }</div> | onClick | tst.js:23:13:23:27 | onClick={click} |
|
||||
| tst.js:25:2:28:1 | {\\n get ... v) {}\\n} | x | tst.js:26:3:26:26 | get x() ... null; } |
|
||||
| tst.js:25:2:28:1 | {\\n get ... v) {}\\n} | y | tst.js:27:3:27:13 | set y(v) {} |
|
||||
| tst.js:30:2:35:1 | {\\n n ... q]: 4\\n} | n | tst.js:31:5:31:8 | n: 1 |
|
||||
test_PropWriteRhs
|
||||
| classes.ts:3:21:3:20 | constructor() {} | classes.ts:3:21:3:20 | () {} |
|
||||
| classes.ts:4:3:4:24 | instanc ... foo(); | classes.ts:4:19:4:23 | foo() |
|
||||
| classes.ts:8:3:8:39 | constru ... eld) {} | classes.ts:8:3:8:39 | constru ... eld) {} |
|
||||
| classes.ts:8:15:8:35 | public ... erField | classes.ts:8:22:8:35 | parameterField |
|
||||
| classes.ts:12:5:12:68 | constru ... + 42; } | classes.ts:12:5:12:68 | constru ... + 42; } |
|
||||
| classes.ts:12:17:12:37 | public ... erField | classes.ts:12:24:12:37 | parameterField |
|
||||
| classes.ts:16:5:16:46 | constru ... {}) {} | classes.ts:16:5:16:46 | constru ... {}) {} |
|
||||
| classes.ts:16:17:16:37 | public ... erField | classes.ts:16:24:16:37 | parameterField |
|
||||
| tst.js:2:5:2:8 | x: 4 | tst.js:2:8:2:8 | 4 |
|
||||
| tst.js:3:5:5:5 | func: f ... ;\\n } | tst.js:3:11:5:5 | functio ... ;\\n } |
|
||||
| tst.js:6:5:8:5 | f() {\\n ... ;\\n } | tst.js:6:6:8:5 | () {\\n ... ;\\n } |
|
||||
| tst.js:11:9:11:8 | constructor() {} | tst.js:11:9:11:8 | () {} |
|
||||
| tst.js:12:3:14:3 | static ... x);\\n } | tst.js:12:14:14:3 | (x) {\\n ... x);\\n } |
|
||||
| tst.js:15:3:17:3 | f(x) {\\n ... x);\\n } | tst.js:15:4:17:3 | (x) {\\n ... x);\\n } |
|
||||
| tst.js:20:1:20:6 | C.prop | tst.js:20:10:20:11 | 56 |
|
||||
| tst.js:23:13:23:27 | onClick={click} | tst.js:23:22:23:26 | click |
|
||||
| tst.js:31:5:31:8 | n: 1 | tst.js:31:8:31:8 | 1 |
|
||||
| tst.js:32:5:32:10 | [v]: 2 | tst.js:32:10:32:10 | 2 |
|
||||
| tst.js:33:5:33:14 | [vv.pp]: 3 | tst.js:33:14:33:14 | 3 |
|
||||
| tst.js:34:5:34:20 | [vvv.ppp.qqq]: 4 | tst.js:34:20:34:20 | 4 |
|
||||
| tst.js:37:13:37:15 | "a" | tst.js:37:13:37:15 | "a" |
|
||||
| tst.js:37:18:37:20 | "b" | tst.js:37:18:37:20 | "b" |
|
||||
| tst.js:37:23:37:25 | "c" | tst.js:37:23:37:25 | "c" |
|
||||
| tst.js:38:13:38:15 | "a" | tst.js:38:13:38:15 | "a" |
|
||||
| tst.js:38:20:38:22 | "c" | tst.js:38:20:38:22 | "c" |
|
||||
| tst.js:39:15:39:17 | "b" | tst.js:39:15:39:17 | "b" |
|
||||
| tst.js:39:20:39:22 | "c" | tst.js:39:20:39:22 | "c" |
|
||||
| tst.js:40:13:40:15 | "a" | tst.js:40:13:40:15 | "a" |
|
||||
| tst.js:40:18:40:20 | "b" | tst.js:40:18:40:20 | "b" |
|
||||
| tst.js:41:13:41:15 | "a" | tst.js:41:13:41:15 | "a" |
|
||||
| tst.js:41:18:41:24 | ...arr3 | tst.js:41:18:41:24 | ...arr3 |
|
||||
| tst.js:41:27:41:29 | "d" | tst.js:41:27:41:29 | "d" |
|
||||
|
||||
@@ -1,10 +1,18 @@
|
||||
import javascript
|
||||
|
||||
DataFlow::Node sourceVariable() { result.asExpr().(VarRef).getName() = "sourceVariable" }
|
||||
|
||||
StringOps::ConcatenationRoot sinkConcatenation() {
|
||||
result.getConstantStringParts().matches("<sink>%</sink>")
|
||||
}
|
||||
|
||||
class ExampleConfiguration extends TaintTracking::Configuration {
|
||||
ExampleConfiguration() { this = "ExampleConfiguration" }
|
||||
|
||||
override predicate isSource(DataFlow::Node source) {
|
||||
source.asExpr().(CallExpr).getCalleeName() = "SOURCE"
|
||||
or
|
||||
source = sourceVariable()
|
||||
}
|
||||
|
||||
override predicate isSink(DataFlow::Node sink) {
|
||||
@@ -12,8 +20,14 @@ class ExampleConfiguration extends TaintTracking::Configuration {
|
||||
callExpr.getCalleeName() = "SINK" and
|
||||
DataFlow::valueNode(callExpr.getArgument(0)) = sink
|
||||
)
|
||||
or
|
||||
sink = sinkConcatenation()
|
||||
}
|
||||
|
||||
override predicate isSanitizerIn(DataFlow::Node node) { node = sourceVariable() }
|
||||
|
||||
override predicate isSanitizerOut(DataFlow::Node node) { node = sinkConcatenation() }
|
||||
|
||||
override predicate isSanitizer(DataFlow::Node node) {
|
||||
exists(CallExpr callExpr |
|
||||
callExpr.getCalleeName() = "SANITIZE" and
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
import 'dummy';
|
||||
|
||||
function barrierIn() {
|
||||
var sourceVariable = 123;
|
||||
SINK(sourceVariable); // NOT OK
|
||||
|
||||
flowWithSourceParam(sourceVariable);
|
||||
}
|
||||
|
||||
function barrierInParameter(sourceVariable) {
|
||||
SINK(sourceVariable); // NOT OK, but only report the parameter as the source
|
||||
}
|
||||
|
||||
function barrierOut() {
|
||||
let taint = SOURCE();
|
||||
taint = "<sink>" + taint + "</sink>"; // NOT OK
|
||||
taint = "<sink>" + taint + "</sink>"; // OK - only report first instance
|
||||
}
|
||||
@@ -133,6 +133,9 @@ sanitizingGuard
|
||||
| tst.js:399:16:399:41 | o.hasOw ... "p.q"]) | tst.js:399:33:399:40 | v["p.q"] | true |
|
||||
| tst.js:401:16:401:34 | Object.hasOwn(o, v) | tst.js:401:33:401:33 | v | true |
|
||||
taintedSink
|
||||
| sanitizer-in-out.js:5:10:5:23 | sourceVariable | sanitizer-in-out.js:5:10:5:23 | sourceVariable |
|
||||
| sanitizer-in-out.js:11:10:11:23 | sourceVariable | sanitizer-in-out.js:11:10:11:23 | sourceVariable |
|
||||
| sanitizer-in-out.js:15:17:15:24 | SOURCE() | sanitizer-in-out.js:16:13:16:40 | "<sink> ... /sink>" |
|
||||
| tst.js:2:13:2:20 | SOURCE() | tst.js:3:10:3:10 | v |
|
||||
| tst.js:2:13:2:20 | SOURCE() | tst.js:8:14:8:14 | v |
|
||||
| tst.js:2:13:2:20 | SOURCE() | tst.js:12:14:12:14 | v |
|
||||
|
||||
@@ -231,6 +231,7 @@ typeInferenceMismatch
|
||||
| tst.js:2:13:2:20 | source() | tst.js:47:10:47:30 | Buffer. ... 'hex') |
|
||||
| tst.js:2:13:2:20 | source() | tst.js:48:10:48:22 | new Buffer(x) |
|
||||
| tst.js:2:13:2:20 | source() | tst.js:51:10:51:31 | seriali ... ript(x) |
|
||||
| tst.js:2:13:2:20 | source() | tst.js:54:14:54:19 | unsafe |
|
||||
| xml.js:5:18:5:25 | source() | xml.js:8:14:8:17 | text |
|
||||
| xml.js:12:17:12:24 | source() | xml.js:13:14:13:19 | result |
|
||||
| xml.js:23:18:23:25 | source() | xml.js:20:14:20:17 | attr |
|
||||
|
||||
@@ -70,6 +70,7 @@
|
||||
| getters-and-setters.js:79:20:79:27 | source() | getters-and-setters.js:92:14:92:16 | c.x |
|
||||
| getters-and-setters.js:79:20:79:27 | source() | getters-and-setters.js:100:10:100:22 | getX(new C()) |
|
||||
| getters-and-setters.js:89:17:89:24 | source() | getters-and-setters.js:82:18:82:22 | value |
|
||||
| importedReactComponent.jsx:4:40:4:47 | source() | exportedReactComponent.jsx:2:10:2:19 | props.text |
|
||||
| indexOf.js:4:11:4:18 | source() | indexOf.js:9:10:9:10 | x |
|
||||
| indexOf.js:4:11:4:18 | source() | indexOf.js:13:10:13:10 | x |
|
||||
| nested-props.js:4:13:4:20 | source() | nested-props.js:5:10:5:14 | obj.x |
|
||||
@@ -109,3 +110,4 @@
|
||||
| thisAssignments.js:4:17:4:24 | source() | thisAssignments.js:5:10:5:18 | obj.field |
|
||||
| thisAssignments.js:7:19:7:26 | source() | thisAssignments.js:8:10:8:20 | this.field2 |
|
||||
| tst.js:2:13:2:20 | source() | tst.js:4:10:4:10 | x |
|
||||
| tst.js:2:13:2:20 | source() | tst.js:54:14:54:19 | unsafe |
|
||||
|
||||
@@ -49,4 +49,12 @@ function test() {
|
||||
|
||||
const serializeJavaScript = require("serialize-javascript");
|
||||
sink(serializeJavaScript(x)) // NOT OK
|
||||
|
||||
function tagged(strings, safe, unsafe) {
|
||||
sink(unsafe) // NOT OK
|
||||
sink(safe) // OK
|
||||
sink(strings) // OK
|
||||
}
|
||||
|
||||
tagged`foo ${"safe"} bar ${x} baz`;
|
||||
}
|
||||
|
||||
@@ -1,3 +1,15 @@
|
||||
#select
|
||||
| tst.tsx:1:10:1:10 | f |
|
||||
| tst.tsx:1:12:1:12 | o |
|
||||
| tst.tsx:2:14:2:14 | v |
|
||||
| tst.tsx:6:10:6:10 | v |
|
||||
| tst.tsx:7:11:7:13 | foo |
|
||||
| tst.tsx:9:11:9:13 | bar |
|
||||
| tst.tsx:12:16:12:16 | b |
|
||||
| tst.tsx:13:17:13:19 | foo |
|
||||
consts
|
||||
| tst.tsx:2:3:2:26 | const { ... } = o; |
|
||||
| tst.tsx:9:5:9:26 | const b ... efined; |
|
||||
usings
|
||||
| tst.tsx:7:5:7:28 | using f ... as any; |
|
||||
| tst.tsx:13:5:13:34 | await u ... as any; |
|
||||
|
||||
@@ -2,3 +2,7 @@ import javascript
|
||||
|
||||
from VarDecl decl
|
||||
select decl
|
||||
|
||||
query ConstDeclStmt consts() { any() }
|
||||
|
||||
query UsingDeclStmt usings() { any() }
|
||||
|
||||
@@ -2,3 +2,13 @@ function f(o) {
|
||||
const { p: v = [] } = o;
|
||||
return v;
|
||||
}
|
||||
|
||||
function v() {
|
||||
using foo = null as any;
|
||||
|
||||
const bar = undefined;
|
||||
}
|
||||
|
||||
async function b() {
|
||||
await using foo = null as any;
|
||||
}
|
||||
@@ -1,10 +1,10 @@
|
||||
underlyingTypeNode
|
||||
| foo | | file://:0:0:0:0 | use moduleImport("foo").getMember("exports") |
|
||||
| foo | | foo.ts:1:8:1:10 | use moduleImport("foo").getMember("exports").getMember("default") |
|
||||
| foo | Bar | foo.ts:3:1:5:1 | use moduleImport("foo").getMember("exports").getMember("Bar").getInstance() |
|
||||
| foo | Bar | foo.ts:3:12:3:12 | use moduleImport("foo").getMember("exports").getMember("Bar").getInstance() |
|
||||
#select
|
||||
| foo.ts:3:12:3:12 | x | foo.Bar in unknown scope |
|
||||
| foo.ts:4:10:4:10 | x | foo.Bar in unknown scope |
|
||||
| tst.ts:8:14:8:16 | arg | Base in global scope |
|
||||
| tst.ts:8:14:8:16 | arg | Sub in global scope |
|
||||
underlyingTypeNode
|
||||
| foo | | file://:0:0:0:0 | use moduleImport("foo").getMember("exports") |
|
||||
| foo | | foo.ts:1:8:1:10 | use moduleImport("foo").getMember("exports").getMember("default") |
|
||||
| foo | Bar | foo.ts:3:1:5:1 | use moduleImport("foo").getMember("exports").getMember("Bar").getInstance() |
|
||||
| foo | Bar | foo.ts:3:12:3:12 | use moduleImport("foo").getMember("exports").getMember("Bar").getInstance() |
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
getImportAssertionFromImport
|
||||
| js-import-assertions.js:1:1:1:40 | import ... son" }; | js-import-assertions.js:1:24:1:39 | { type: "json" } |
|
||||
| js-import-assertions.js:2:1:2:53 | import ... son" }; | js-import-assertions.js:2:37:2:52 | { type: "json" } |
|
||||
| js-import-assertions.js:3:1:3:52 | import ... son" }; | js-import-assertions.js:3:36:3:51 | { type: "json" } |
|
||||
| js-import-assertions.js:4:1:4:48 | import ... son" }; | js-import-assertions.js:4:32:4:47 | { type: "json" } |
|
||||
| ts-import-assertions.ts:3:1:3:40 | import ... son" }; | ts-import-assertions.ts:3:24:3:39 | { type: "json" } |
|
||||
| ts-import-assertions.ts:4:1:4:53 | import ... son" }; | ts-import-assertions.ts:4:37:4:52 | { type: "json" } |
|
||||
| ts-import-assertions.ts:5:1:5:52 | import ... son" }; | ts-import-assertions.ts:5:36:5:51 | { type: "json" } |
|
||||
| ts-import-assertions.ts:6:1:6:48 | import ... son" }; | ts-import-assertions.ts:6:32:6:47 | { type: "json" } |
|
||||
getImportAssertionFromExport
|
||||
| js-import-assertions.js:6:1:6:52 | export ... son" }; | js-import-assertions.js:6:36:6:51 | { type: "json" } |
|
||||
| js-import-assertions.js:7:1:7:47 | export ... son" }; | js-import-assertions.js:7:31:7:46 | { type: "json" } |
|
||||
| js-import-assertions.js:8:1:8:53 | export ... son" }; | js-import-assertions.js:8:37:8:52 | { type: "json" } |
|
||||
| ts-import-assertions.ts:8:1:8:52 | export ... son" }; | ts-import-assertions.ts:8:36:8:51 | { type: "json" } |
|
||||
| ts-import-assertions.ts:9:1:9:47 | export ... son" }; | ts-import-assertions.ts:9:31:9:46 | { type: "json" } |
|
||||
| ts-import-assertions.ts:10:1:10:53 | export ... son" }; | ts-import-assertions.ts:10:37:10:52 | { type: "json" } |
|
||||
getImportAttributes
|
||||
| js-import-assertions.js:10:12:10:57 | import( ... n" } }) | js-import-assertions.js:10:29:10:56 | { asser ... on" } } |
|
||||
| ts-import-assertions.ts:12:12:12:57 | import( ... n" } }) | ts-import-assertions.ts:12:29:12:56 | { asser ... on" } } |
|
||||
errors
|
||||
@@ -1,13 +0,0 @@
|
||||
import javascript
|
||||
|
||||
query Expr getImportAssertionFromImport(ImportDeclaration decl) {
|
||||
result = decl.getImportAssertion()
|
||||
}
|
||||
|
||||
query Expr getImportAssertionFromExport(ExportDeclaration decl) {
|
||||
result = decl.getImportAssertion()
|
||||
}
|
||||
|
||||
query Expr getImportAttributes(DynamicImportExpr imprt) { result = imprt.getImportAttributes() }
|
||||
|
||||
query JSParseError errors() { any() }
|
||||
@@ -1,13 +1,24 @@
|
||||
import "module" with { type: "json" };
|
||||
import * as v1 from "module" with { type: "json" };
|
||||
import { v2 } from "module" with { type: "json" };
|
||||
import v3 from "module" with { type: "json" };
|
||||
|
||||
export { v4 } from "module" with { type: "json" };
|
||||
export * from "module" with { type: "json" };
|
||||
export * as v5 from "module" with { type: "json" };
|
||||
|
||||
const v6 = import("module", { with: { type: "json" } });
|
||||
|
||||
import "module" // missing semicolon
|
||||
assert({type: "json"}); // function call, not import assertion
|
||||
|
||||
import "module" assert { type: "json" };
|
||||
import * as v1 from "module" assert { type: "json" };
|
||||
import { v2 } from "module" assert { type: "json" };
|
||||
import v3 from "module" assert { type: "json" };
|
||||
|
||||
export { v4 } from "module" assert { type: "json" };
|
||||
export { v7 } from "module" assert { type: "json" };
|
||||
export * from "module" assert { type: "json" };
|
||||
export * as v5 from "module" assert { type: "json" };
|
||||
|
||||
const v6 = import("module", { assert: { type: "json" } });
|
||||
|
||||
import "module" // missing semicolon
|
||||
assert({type: "json"}); // function call, not import assertion
|
||||
@@ -0,0 +1,36 @@
|
||||
getImportAttributesFromImport
|
||||
| js-import-attributes.js:1:1:1:38 | import ... son" }; | js-import-attributes.js:1:22:1:37 | { type: "json" } |
|
||||
| js-import-attributes.js:2:1:2:51 | import ... son" }; | js-import-attributes.js:2:35:2:50 | { type: "json" } |
|
||||
| js-import-attributes.js:3:1:3:50 | import ... son" }; | js-import-attributes.js:3:34:3:49 | { type: "json" } |
|
||||
| js-import-attributes.js:4:1:4:46 | import ... son" }; | js-import-attributes.js:4:30:4:45 | { type: "json" } |
|
||||
| js-import-attributes.js:15:1:15:40 | import ... son" }; | js-import-attributes.js:15:24:15:39 | { type: "json" } |
|
||||
| js-import-attributes.js:16:1:16:53 | import ... son" }; | js-import-attributes.js:16:37:16:52 | { type: "json" } |
|
||||
| js-import-attributes.js:17:1:17:52 | import ... son" }; | js-import-attributes.js:17:36:17:51 | { type: "json" } |
|
||||
| js-import-attributes.js:18:1:18:48 | import ... son" }; | js-import-attributes.js:18:32:18:47 | { type: "json" } |
|
||||
| ts-import-attributes.ts:3:1:3:38 | import ... son" }; | ts-import-attributes.ts:3:22:3:37 | { type: "json" } |
|
||||
| ts-import-attributes.ts:4:1:4:51 | import ... son" }; | ts-import-attributes.ts:4:35:4:50 | { type: "json" } |
|
||||
| ts-import-attributes.ts:5:1:5:50 | import ... son" }; | ts-import-attributes.ts:5:34:5:49 | { type: "json" } |
|
||||
| ts-import-attributes.ts:6:1:6:46 | import ... son" }; | ts-import-attributes.ts:6:30:6:45 | { type: "json" } |
|
||||
| ts-import-attributes.ts:17:1:17:40 | import ... son" }; | ts-import-attributes.ts:17:24:17:39 | { type: "json" } |
|
||||
| ts-import-attributes.ts:18:1:18:53 | import ... son" }; | ts-import-attributes.ts:18:37:18:52 | { type: "json" } |
|
||||
| ts-import-attributes.ts:19:1:19:52 | import ... son" }; | ts-import-attributes.ts:19:36:19:51 | { type: "json" } |
|
||||
| ts-import-attributes.ts:20:1:20:48 | import ... son" }; | ts-import-attributes.ts:20:32:20:47 | { type: "json" } |
|
||||
getImportAttributesFromExport
|
||||
| js-import-attributes.js:6:1:6:50 | export ... son" }; | js-import-attributes.js:6:34:6:49 | { type: "json" } |
|
||||
| js-import-attributes.js:7:1:7:45 | export ... son" }; | js-import-attributes.js:7:29:7:44 | { type: "json" } |
|
||||
| js-import-attributes.js:8:1:8:51 | export ... son" }; | js-import-attributes.js:8:35:8:50 | { type: "json" } |
|
||||
| js-import-attributes.js:20:1:20:52 | export ... son" }; | js-import-attributes.js:20:36:20:51 | { type: "json" } |
|
||||
| js-import-attributes.js:21:1:21:47 | export ... son" }; | js-import-attributes.js:21:31:21:46 | { type: "json" } |
|
||||
| js-import-attributes.js:22:1:22:53 | export ... son" }; | js-import-attributes.js:22:37:22:52 | { type: "json" } |
|
||||
| ts-import-attributes.ts:8:1:8:50 | export ... son" }; | ts-import-attributes.ts:8:34:8:49 | { type: "json" } |
|
||||
| ts-import-attributes.ts:9:1:9:45 | export ... son" }; | ts-import-attributes.ts:9:29:9:44 | { type: "json" } |
|
||||
| ts-import-attributes.ts:10:1:10:51 | export ... son" }; | ts-import-attributes.ts:10:35:10:50 | { type: "json" } |
|
||||
| ts-import-attributes.ts:22:1:22:52 | export ... son" }; | ts-import-attributes.ts:22:36:22:51 | { type: "json" } |
|
||||
| ts-import-attributes.ts:23:1:23:47 | export ... son" }; | ts-import-attributes.ts:23:31:23:46 | { type: "json" } |
|
||||
| ts-import-attributes.ts:24:1:24:53 | export ... son" }; | ts-import-attributes.ts:24:37:24:52 | { type: "json" } |
|
||||
getImportOptions
|
||||
| js-import-attributes.js:10:12:10:55 | import( ... n" } }) | js-import-attributes.js:10:29:10:54 | { with: ... on" } } |
|
||||
| js-import-attributes.js:24:12:24:57 | import( ... n" } }) | js-import-attributes.js:24:29:24:56 | { asser ... on" } } |
|
||||
| ts-import-attributes.ts:12:12:12:55 | import( ... n" } }) | ts-import-attributes.ts:12:29:12:54 | { with: ... on" } } |
|
||||
| ts-import-attributes.ts:26:12:26:57 | import( ... n" } }) | ts-import-attributes.ts:26:29:26:56 | { asser ... on" } } |
|
||||
errors
|
||||
@@ -0,0 +1,13 @@
|
||||
import javascript
|
||||
|
||||
query Expr getImportAttributesFromImport(ImportDeclaration decl) {
|
||||
result = decl.getImportAttributes()
|
||||
}
|
||||
|
||||
query Expr getImportAttributesFromExport(ExportDeclaration decl) {
|
||||
result = decl.getImportAttributes()
|
||||
}
|
||||
|
||||
query Expr getImportOptions(DynamicImportExpr imprt) { result = imprt.getImportOptions() }
|
||||
|
||||
query JSParseError errors() { any() }
|
||||
@@ -1,5 +1,19 @@
|
||||
// TypeScript
|
||||
|
||||
import "module" with { type: "json" };
|
||||
import * as v1 from "module" with { type: "json" };
|
||||
import { v2 } from "module" with { type: "json" };
|
||||
import v3 from "module" with { type: "json" };
|
||||
|
||||
export { v4 } from "module" with { type: "json" };
|
||||
export * from "module" with { type: "json" };
|
||||
export * as v5 from "module" with { type: "json" };
|
||||
|
||||
const v6 = import("module", { with: { type: "json" } });
|
||||
|
||||
import "module" // missing semicolon
|
||||
assert({ type: "json" }); // function call, not import assertion
|
||||
|
||||
import "module" assert { type: "json" };
|
||||
import * as v1 from "module" assert { type: "json" };
|
||||
import { v2 } from "module" assert { type: "json" };
|
||||
@@ -10,6 +24,3 @@ export * from "module" assert { type: "json" };
|
||||
export * as v5 from "module" assert { type: "json" };
|
||||
|
||||
const v6 = import("module", { assert: { type: "json" } });
|
||||
|
||||
import "module" // missing semicolon
|
||||
assert({ type: "json" }); // function call, not import assertion
|
||||
@@ -1,17 +0,0 @@
|
||||
| A in namespaces.ts |
|
||||
| A.C in namespaces.ts |
|
||||
| B in namespaces.ts:3 |
|
||||
| B in namespaces.ts:10 |
|
||||
| B.Bx in namespaces.ts:3 |
|
||||
| B.Bx in namespaces.ts:10 |
|
||||
| D in namespaces.ts |
|
||||
| D.F in namespaces.ts |
|
||||
| E in namespaces.ts:17 |
|
||||
| E in namespaces.ts:22 |
|
||||
| G in namespaces.ts |
|
||||
| H in namespaces.ts:27 |
|
||||
| H.I in namespaces.ts:27 |
|
||||
| X in namespaces.ts |
|
||||
| X.Y in namespaces.ts |
|
||||
| X.Y.Z in namespaces.ts |
|
||||
| namespaces.ts |
|
||||
5
javascript/ql/test/library-tests/TypeScript/RegressionTests/CyclicAlias/test.d.ts
vendored
Normal file
5
javascript/ql/test/library-tests/TypeScript/RegressionTests/CyclicAlias/test.d.ts
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
import Foo = Foo.Bar;
|
||||
|
||||
declare namespace Foo {
|
||||
var Bar: {};
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
| Success |
|
||||
@@ -0,0 +1,2 @@
|
||||
// Just check that extraction succeeds
|
||||
select "Success"
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"include": ["."]
|
||||
}
|
||||
@@ -1,3 +1,12 @@
|
||||
#select
|
||||
| tst.ts:1:1:1:16 | type A = number; | tst.ts:1:6:1:6 | A | 0 | tst.ts:1:10:1:15 | number |
|
||||
| tst.ts:2:1:2:16 | type B<T> = T[]; | tst.ts:2:6:2:6 | B | 1 | tst.ts:2:13:2:15 | T[] |
|
||||
| tst.ts:8:10:8:20 | type C = A; | tst.ts:8:15:8:15 | C | 0 | tst.ts:8:19:8:19 | A |
|
||||
| tst.ts:15:1:15:23 | type Un ... \| Two; | tst.ts:15:6:15:10 | Union | 0 | tst.ts:15:14:15:22 | One \| Two |
|
||||
| tst.ts:17:1:17:36 | type Un ... mber }; | tst.ts:17:6:17:11 | Union2 | 0 | tst.ts:17:15:17:35 | Union & ... umber } |
|
||||
| tst.ts:18:1:18:21 | type Un ... Union2; | tst.ts:18:6:18:11 | Union3 | 0 | tst.ts:18:15:18:20 | Union2 |
|
||||
| tst.ts:19:1:19:21 | type Un ... Union3; | tst.ts:19:6:19:11 | Union4 | 0 | tst.ts:19:15:19:20 | Union3 |
|
||||
| tst.ts:20:1:20:30 | type Un ... number; | tst.ts:20:6:20:11 | Union5 | 0 | tst.ts:20:15:20:29 | Union4 \| number |
|
||||
rightHandSide
|
||||
| tst.ts:1:1:1:16 | type A = number; | number |
|
||||
| tst.ts:2:1:2:16 | type B<T> = T[]; | T[] |
|
||||
@@ -33,12 +42,3 @@ unfold
|
||||
| Union5 | Union5 |
|
||||
| Union5 | number |
|
||||
| Union5 | { x: number; } |
|
||||
#select
|
||||
| tst.ts:1:1:1:16 | type A = number; | tst.ts:1:6:1:6 | A | 0 | tst.ts:1:10:1:15 | number |
|
||||
| tst.ts:2:1:2:16 | type B<T> = T[]; | tst.ts:2:6:2:6 | B | 1 | tst.ts:2:13:2:15 | T[] |
|
||||
| tst.ts:8:10:8:20 | type C = A; | tst.ts:8:15:8:15 | C | 0 | tst.ts:8:19:8:19 | A |
|
||||
| tst.ts:15:1:15:23 | type Un ... \| Two; | tst.ts:15:6:15:10 | Union | 0 | tst.ts:15:14:15:22 | One \| Two |
|
||||
| tst.ts:17:1:17:36 | type Un ... mber }; | tst.ts:17:6:17:11 | Union2 | 0 | tst.ts:17:15:17:35 | Union & ... umber } |
|
||||
| tst.ts:18:1:18:21 | type Un ... Union2; | tst.ts:18:6:18:11 | Union3 | 0 | tst.ts:18:15:18:20 | Union2 |
|
||||
| tst.ts:19:1:19:21 | type Un ... Union3; | tst.ts:19:6:19:11 | Union4 | 0 | tst.ts:19:15:19:20 | Union3 |
|
||||
| tst.ts:20:1:20:30 | type Un ... number; | tst.ts:20:6:20:11 | Union5 | 0 | tst.ts:20:15:20:29 | Union4 \| number |
|
||||
|
||||
@@ -1,33 +1,113 @@
|
||||
test_TypeofTypeExpr
|
||||
| tst.ts:70:17:70:24 | typeof N | tst.ts:70:24:70:24 | N |
|
||||
| tst.ts:71:17:71:26 | typeof N.x | tst.ts:71:24:71:26 | N.x |
|
||||
| tst.ts:72:17:72:35 | typeof qualifiedVar | tst.ts:72:24:72:35 | qualifiedVar |
|
||||
| tst.ts:81:43:81:50 | typeof x | tst.ts:81:50:81:50 | x |
|
||||
| tst.ts:126:21:126:42 | typeof ... value") | tst.ts:126:28:126:42 | import("value") |
|
||||
| tst.ts:127:30:127:53 | typeof ... lue").x | tst.ts:127:53:127:53 | x |
|
||||
test_FunctionTypeParameters
|
||||
| tst.ts:88:20:88:44 | (param: ... number | 0 | 1 | tst.ts:88:21:88:25 | param |
|
||||
| tst.ts:89:20:89:37 | <T>(param: T) => T | 0 | 1 | tst.ts:89:24:89:28 | param |
|
||||
| tst.ts:91:23:91:51 | new (pa ... Object | 0 | 1 | tst.ts:91:28:91:32 | param |
|
||||
| tst.ts:92:23:92:49 | new <T> ... Object | 0 | 1 | tst.ts:92:31:92:35 | param |
|
||||
test_IndexedAccessTypeExpr
|
||||
| tst.ts:42:18:42:41 | Interfa ... Field'] | tst.ts:42:18:42:26 | Interface | tst.ts:42:28:42:40 | 'numberField' |
|
||||
test_UnknownTypeExpr
|
||||
| tst.ts:137:18:137:24 | unknown |
|
||||
test_MappedTypeExpr
|
||||
| tst.ts:113:18:113:46 | { [K in ... umber } | tst.ts:113:21:113:35 | K in keyof Node | tst.ts:113:21:113:21 | K | tst.ts:113:26:113:35 | keyof Node | tst.ts:113:39:113:44 | number |
|
||||
| tst.ts:114:18:114:41 | { [K in ... umber } | tst.ts:114:21:114:30 | K in "foo" | tst.ts:114:21:114:21 | K | tst.ts:114:26:114:30 | "foo" | tst.ts:114:34:114:39 | number |
|
||||
test_ImportTypeExpr
|
||||
| tst.ts:122:19:122:32 | import("type") | type | type |
|
||||
| tst.ts:123:26:123:39 | import("type") | type | type |
|
||||
| tst.ts:124:28:124:46 | import("namespace") | namespace | namespace |
|
||||
| tst.ts:125:35:125:53 | import("namespace") | namespace | namespace |
|
||||
| tst.ts:126:28:126:42 | import("value") | value | value |
|
||||
| tst.ts:127:37:127:51 | import("value") | value | value |
|
||||
| tst.ts:128:38:130:3 | import( ... ce'\\n ) | awkard-namespace | namespace |
|
||||
test_OptionalTypeExpr
|
||||
| tst.ts:133:48:133:54 | number? | tst.ts:133:48:133:53 | number |
|
||||
| tst.ts:136:48:136:54 | string? | tst.ts:136:48:136:53 | string |
|
||||
test_ChildIndex
|
||||
test_FieldTypes
|
||||
| tst.ts:15:3:15:22 | numberField: number; | tst.ts:15:16:15:21 | number |
|
||||
| tst.ts:16:3:16:22 | stringField: string; | tst.ts:16:16:16:21 | string |
|
||||
| tst.ts:17:3:17:28 | interfa ... erface; | tst.ts:17:19:17:27 | Interface |
|
||||
| tst.ts:18:3:18:18 | thisField: this; | tst.ts:18:14:18:17 | this |
|
||||
| tst.ts:83:21:83:30 | x: number; | tst.ts:83:24:83:29 | number |
|
||||
| tst.ts:83:32:83:41 | y: number; | tst.ts:83:35:83:40 | number |
|
||||
test_Parameters
|
||||
| tst.ts:36:27:36:32 | param1 | tst.ts:36:44:36:44 | 1 | tst.ts:36:35:36:40 | number |
|
||||
| tst.ts:36:47:36:52 | param2 | tst.ts:36:64:36:66 | '2' | tst.ts:36:55:36:60 | string |
|
||||
test_IsTypeExpr
|
||||
| tst.ts:75:17:75:28 | this is Leaf | tst.ts:75:17:75:20 | this | tst.ts:75:25:75:28 | Leaf |
|
||||
| tst.ts:76:21:76:32 | that is Leaf | tst.ts:76:21:76:24 | that | tst.ts:76:29:76:32 | Leaf |
|
||||
| tst.ts:80:36:80:55 | x is Generic<Leaf[]> | tst.ts:80:36:80:36 | x | tst.ts:80:41:80:55 | Generic<Leaf[]> |
|
||||
| tst.ts:81:38:81:50 | x is typeof x | tst.ts:81:38:81:38 | x | tst.ts:81:43:81:50 | typeof x |
|
||||
| tst.ts:148:36:148:56 | asserts ... string | tst.ts:148:44:148:46 | val | tst.ts:148:51:148:56 | string |
|
||||
test_ReturnTypes
|
||||
| tst.ts:20:3:20:31 | returnN ... number; | method returnNumberMethod of interface Interface | tst.ts:20:25:20:30 | number |
|
||||
| tst.ts:21:3:21:27 | returnV ... : void; | method returnVoidMethod of interface Interface | tst.ts:21:23:21:26 | void |
|
||||
| tst.ts:22:3:22:27 | returnN ... : null; | method returnNullMethod of interface Interface | tst.ts:22:23:22:26 | null |
|
||||
| tst.ts:23:3:23:27 | returnT ... : this; | method returnThisMethod of interface Interface | tst.ts:23:23:23:26 | this |
|
||||
| tst.ts:30:1:30:53 | functio ... rn 0; } | function returnNumberFunction | tst.ts:30:34:30:39 | number |
|
||||
| tst.ts:31:1:31:49 | functio ... rn 0; } | function returnVoidFunction | tst.ts:31:32:31:35 | void |
|
||||
| tst.ts:32:1:32:49 | functio ... rn 0; } | function returnNullFunction | tst.ts:32:32:32:35 | null |
|
||||
| tst.ts:75:3:75:29 | isThisL ... s Leaf; | method isThisLeaf of interface Node | tst.ts:75:17:75:28 | this is Leaf |
|
||||
| tst.ts:76:3:76:33 | isThatL ... s Leaf; | method isThatLeaf of interface Node | tst.ts:76:21:76:32 | that is Leaf |
|
||||
| tst.ts:80:1:80:73 | functio ... alse; } | function complexIsType | tst.ts:80:36:80:55 | x is Generic<Leaf[]> |
|
||||
| tst.ts:81:1:81:66 | functio ... true } | function obviousIsType | tst.ts:81:38:81:50 | x is typeof x |
|
||||
| tst.ts:85:27:85:40 | foo(): number; | method foo of anonymous interface | tst.ts:85:34:85:39 | number |
|
||||
| tst.ts:87:20:87:31 | () => number | anonymous function type | tst.ts:87:26:87:31 | number |
|
||||
| tst.ts:88:20:88:44 | (param: ... number | anonymous function type | tst.ts:88:39:88:44 | number |
|
||||
| tst.ts:89:20:89:37 | <T>(param: T) => T | anonymous function type | tst.ts:89:37:89:37 | T |
|
||||
| tst.ts:90:23:90:38 | new () => Object | anonymous function type | tst.ts:90:33:90:38 | Object |
|
||||
| tst.ts:91:23:91:51 | new (pa ... Object | anonymous function type | tst.ts:91:46:91:51 | Object |
|
||||
| tst.ts:92:23:92:49 | new <T> ... Object | anonymous function type | tst.ts:92:44:92:49 | Object |
|
||||
| tst.ts:94:1:94:37 | functio ... rn x; } | function f1 | tst.ts:94:23:94:23 | S |
|
||||
| tst.ts:95:1:95:53 | functio ... x,y]; } | function f2 | tst.ts:95:31:95:35 | [S,T] |
|
||||
| tst.ts:96:1:96:52 | functio ... rn x; } | function f3 | tst.ts:96:38:96:38 | S |
|
||||
| tst.ts:142:1:146:1 | functio ... )\\n }\\n} | function assert | tst.ts:142:48:142:64 | asserts condition |
|
||||
| tst.ts:148:1:152:1 | functio ... ;\\n }\\n} | function assertIsString | tst.ts:148:36:148:56 | asserts ... string |
|
||||
| tst.ts:164:1:166:1 | functio ... rr2];\\n} | function concat | tst.ts:164:66:164:77 | [...T, ...U] |
|
||||
| tst.ts:169:1:172:1 | functio ... + b;\\n} | function labelOnTupleElements | tst.ts:169:68:169:73 | number |
|
||||
| tst.ts:192:1:194:1 | functio ... rn x;\\n} | function weirdId | tst.ts:192:47:192:70 | [number ... number] |
|
||||
test_RestTypeExpr
|
||||
| tst.ts:135:36:135:46 | ...string[] | tst.ts:135:39:135:46 | string[] | tst.ts:135:39:135:44 | string |
|
||||
| tst.ts:136:57:136:67 | ...number[] | tst.ts:136:60:136:67 | number[] | tst.ts:136:60:136:65 | number |
|
||||
test_ArrayTypeExpr
|
||||
| tst.ts:38:16:38:23 | string[] | tst.ts:38:16:38:21 | string |
|
||||
| tst.ts:39:17:39:24 | string[] | tst.ts:39:17:39:22 | string |
|
||||
| tst.ts:39:17:39:26 | string[][] | tst.ts:39:17:39:24 | string[] |
|
||||
| tst.ts:40:17:40:24 | string[] | tst.ts:40:17:40:22 | string |
|
||||
| tst.ts:40:17:40:26 | string[][] | tst.ts:40:17:40:24 | string[] |
|
||||
| tst.ts:40:17:40:28 | string[][][] | tst.ts:40:17:40:26 | string[][] |
|
||||
| tst.ts:80:49:80:54 | Leaf[] | tst.ts:80:49:80:52 | Leaf |
|
||||
| tst.ts:81:27:81:34 | string[] | tst.ts:81:27:81:32 | string |
|
||||
| tst.ts:135:39:135:46 | string[] | tst.ts:135:39:135:44 | string |
|
||||
| tst.ts:136:60:136:67 | number[] | tst.ts:136:60:136:65 | number |
|
||||
| tst.ts:157:25:157:29 | any[] | tst.ts:157:25:157:27 | any |
|
||||
| tst.ts:163:21:163:25 | any[] | tst.ts:163:21:163:23 | any |
|
||||
test_KeyofTypeExpr
|
||||
| tst.ts:49:16:49:30 | keyof Interface | tst.ts:49:22:49:30 | Interface |
|
||||
| tst.ts:113:26:113:35 | keyof Node | tst.ts:113:32:113:35 | Node |
|
||||
test_TupleTypeExpr
|
||||
| tst.ts:48:16:48:40 | [number ... oolean] | 0 | 3 | tst.ts:48:17:48:22 | number |
|
||||
| tst.ts:48:16:48:40 | [number ... oolean] | 1 | 3 | tst.ts:48:25:48:30 | string |
|
||||
| tst.ts:48:16:48:40 | [number ... oolean] | 2 | 3 | tst.ts:48:33:48:39 | boolean |
|
||||
| tst.ts:95:31:95:35 | [S,T] | 0 | 2 | tst.ts:95:32:95:32 | S |
|
||||
| tst.ts:95:31:95:35 | [S,T] | 1 | 2 | tst.ts:95:34:95:34 | T |
|
||||
| tst.ts:133:31:133:55 | [number ... umber?] | 0 | 3 | tst.ts:133:32:133:37 | number |
|
||||
| tst.ts:133:31:133:55 | [number ... umber?] | 1 | 3 | tst.ts:133:40:133:45 | string |
|
||||
| tst.ts:133:31:133:55 | [number ... umber?] | 2 | 3 | tst.ts:133:48:133:54 | number? |
|
||||
| tst.ts:135:27:135:47 | [number ... ring[]] | 0 | 2 | tst.ts:135:28:135:33 | number |
|
||||
| tst.ts:135:27:135:47 | [number ... ring[]] | 1 | 2 | tst.ts:135:36:135:46 | ...string[] |
|
||||
| tst.ts:136:39:136:68 | [number ... mber[]] | 0 | 3 | tst.ts:136:40:136:45 | number |
|
||||
| tst.ts:136:39:136:68 | [number ... mber[]] | 1 | 3 | tst.ts:136:48:136:54 | string? |
|
||||
| tst.ts:136:39:136:68 | [number ... mber[]] | 2 | 3 | tst.ts:136:57:136:67 | ...number[] |
|
||||
| tst.ts:157:46:157:56 | [any, ...T] | 0 | 2 | tst.ts:157:47:157:49 | any |
|
||||
| tst.ts:157:46:157:56 | [any, ...T] | 1 | 2 | tst.ts:157:52:157:55 | ...T |
|
||||
| tst.ts:164:66:164:77 | [...T, ...U] | 0 | 2 | tst.ts:164:67:164:70 | ...T |
|
||||
| tst.ts:164:66:164:77 | [...T, ...U] | 1 | 2 | tst.ts:164:73:164:76 | ...U |
|
||||
| tst.ts:169:34:169:64 | [first: ... number] | 0 | 2 | tst.ts:169:42:169:47 | number |
|
||||
| tst.ts:169:34:169:64 | [first: ... number] | 1 | 2 | tst.ts:169:58:169:63 | number |
|
||||
| tst.ts:175:16:175:31 | [string, string] | 0 | 2 | tst.ts:175:17:175:22 | string |
|
||||
| tst.ts:175:16:175:31 | [string, string] | 1 | 2 | tst.ts:175:25:175:30 | string |
|
||||
| tst.ts:176:16:176:31 | [number, number] | 0 | 2 | tst.ts:176:17:176:22 | number |
|
||||
| tst.ts:176:16:176:31 | [number, number] | 1 | 2 | tst.ts:176:25:176:30 | number |
|
||||
| tst.ts:179:21:179:44 | [...Str ... umbers] | 0 | 2 | tst.ts:179:22:179:31 | ...Strings |
|
||||
| tst.ts:179:21:179:44 | [...Str ... umbers] | 1 | 2 | tst.ts:179:34:179:43 | ...Numbers |
|
||||
| tst.ts:192:21:192:43 | [first: ... number] | 0 | 2 | tst.ts:192:29:192:34 | number |
|
||||
| tst.ts:192:21:192:43 | [first: ... number] | 1 | 2 | tst.ts:192:37:192:42 | number |
|
||||
| tst.ts:192:47:192:70 | [number ... number] | 0 | 2 | tst.ts:192:48:192:53 | number |
|
||||
| tst.ts:192:47:192:70 | [number ... number] | 1 | 2 | tst.ts:192:64:192:69 | number |
|
||||
test_TypeArguments
|
||||
| tst.ts:102:13:102:29 | f1<string>("foo") | 0 | 1 | tst.ts:102:16:102:21 | string |
|
||||
| tst.ts:103:13:103:40 | f2<stri ... oo", 5) | 0 | 2 | tst.ts:103:16:103:21 | string |
|
||||
| tst.ts:103:13:103:40 | f2<stri ... oo", 5) | 1 | 2 | tst.ts:103:24:103:29 | number |
|
||||
| tst.ts:104:13:104:25 | f3<number>(5) | 0 | 1 | tst.ts:104:16:104:21 | number |
|
||||
| tst.ts:106:12:106:27 | new C1<string>() | 0 | 1 | tst.ts:106:19:106:24 | string |
|
||||
| tst.ts:107:12:107:35 | new C2< ... mber>() | 0 | 2 | tst.ts:107:19:107:24 | string |
|
||||
| tst.ts:107:12:107:35 | new C2< ... mber>() | 1 | 2 | tst.ts:107:27:107:32 | number |
|
||||
| tst.ts:108:12:108:27 | new C3<number>() | 0 | 1 | tst.ts:108:19:108:24 | number |
|
||||
test_UnionTypeExpr
|
||||
| tst.ts:41:16:41:36 | string\| ... boolean | 0 | 3 | tst.ts:41:16:41:21 | string |
|
||||
| tst.ts:41:16:41:36 | string\| ... boolean | 1 | 3 | tst.ts:41:23:41:28 | number |
|
||||
| tst.ts:41:16:41:36 | string\| ... boolean | 2 | 3 | tst.ts:41:30:41:36 | boolean |
|
||||
| tst.ts:47:19:47:33 | string \| number | 0 | 2 | tst.ts:47:19:47:24 | string |
|
||||
| tst.ts:47:19:47:33 | string \| number | 1 | 2 | tst.ts:47:28:47:33 | number |
|
||||
| tst.ts:47:39:47:54 | boolean \| string | 0 | 2 | tst.ts:47:39:47:45 | boolean |
|
||||
| tst.ts:47:39:47:54 | boolean \| string | 1 | 2 | tst.ts:47:49:47:54 | string |
|
||||
test_VariableTypes
|
||||
| tst.ts:1:5:1:13 | stringVar | stringVar | tst.ts:1:16:1:21 | string |
|
||||
| tst.ts:2:5:2:13 | numberVar | numberVar | tst.ts:2:16:2:21 | number |
|
||||
@@ -117,15 +197,19 @@ test_VariableTypes
|
||||
| tst.ts:185:7:185:8 | a2 | a2 | tst.ts:185:12:185:17 | number |
|
||||
| tst.ts:186:7:186:8 | a3 | a3 | tst.ts:186:12:186:17 | number |
|
||||
| tst.ts:192:18:192:18 | x | x | tst.ts:192:21:192:43 | [first: ... number] |
|
||||
test_QualifiedTypeAccess
|
||||
| tst.ts:63:19:63:21 | N.I | tst.ts:63:19:63:19 | N | tst.ts:63:21:63:21 | I |
|
||||
| tst.ts:64:20:64:24 | N.M.I | tst.ts:64:20:64:22 | N.M | tst.ts:64:24:64:24 | I |
|
||||
| tst.ts:66:18:66:32 | N.InnerGeneric1 | tst.ts:66:18:66:18 | N | tst.ts:66:20:66:32 | InnerGeneric1 |
|
||||
| tst.ts:67:18:67:34 | N.M.InnerGeneric2 | tst.ts:67:18:67:20 | N.M | tst.ts:67:22:67:34 | InnerGeneric2 |
|
||||
| tst.ts:68:26:68:40 | N.InnerGeneric1 | tst.ts:68:26:68:26 | N | tst.ts:68:28:68:40 | InnerGeneric1 |
|
||||
| tst.ts:124:48:124:50 | Foo | tst.ts:124:28:124:46 | import("namespace") | tst.ts:124:48:124:50 | Foo |
|
||||
| tst.ts:125:55:125:57 | Foo | tst.ts:125:35:125:53 | import("namespace") | tst.ts:125:55:125:57 | Foo |
|
||||
| tst.ts:131:4:131:6 | bar | tst.ts:128:38:130:3 | import( ... ce'\\n ) | tst.ts:131:4:131:6 | bar |
|
||||
test_MappedTypeExpr
|
||||
| tst.ts:113:18:113:46 | { [K in ... umber } | tst.ts:113:21:113:35 | K in keyof Node | tst.ts:113:21:113:21 | K | tst.ts:113:26:113:35 | keyof Node | tst.ts:113:39:113:44 | number |
|
||||
| tst.ts:114:18:114:41 | { [K in ... umber } | tst.ts:114:21:114:30 | K in "foo" | tst.ts:114:21:114:21 | K | tst.ts:114:26:114:30 | "foo" | tst.ts:114:34:114:39 | number |
|
||||
test_TypeAssertions
|
||||
| tst.ts:110:14:110:24 | 5 as number | tst.ts:110:14:110:14 | 5 | tst.ts:110:19:110:24 | number |
|
||||
| tst.ts:111:18:111:31 | <string> 'foo' | tst.ts:111:27:111:31 | 'foo' | tst.ts:111:19:111:24 | string |
|
||||
test_TypeofTypeExpr
|
||||
| tst.ts:70:17:70:24 | typeof N | tst.ts:70:24:70:24 | N |
|
||||
| tst.ts:71:17:71:26 | typeof N.x | tst.ts:71:24:71:26 | N.x |
|
||||
| tst.ts:72:17:72:35 | typeof qualifiedVar | tst.ts:72:24:72:35 | qualifiedVar |
|
||||
| tst.ts:81:43:81:50 | typeof x | tst.ts:81:50:81:50 | x |
|
||||
| tst.ts:126:21:126:42 | typeof ... value") | tst.ts:126:28:126:42 | import("value") |
|
||||
| tst.ts:127:30:127:53 | typeof ... lue").x | tst.ts:127:53:127:53 | x |
|
||||
test_GenericTypeExpr
|
||||
| tst.ts:65:18:65:32 | Generic<number> | tst.ts:65:18:65:24 | Generic | 0 | 1 | tst.ts:65:26:65:31 | number |
|
||||
| tst.ts:66:18:66:40 | N.Inner ... number> | tst.ts:66:18:66:32 | N.InnerGeneric1 | 0 | 1 | tst.ts:66:34:66:39 | number |
|
||||
@@ -138,119 +222,15 @@ test_GenericTypeExpr
|
||||
| tst.ts:80:41:80:55 | Generic<Leaf[]> | tst.ts:80:41:80:47 | Generic | 0 | 1 | tst.ts:80:49:80:54 | Leaf[] |
|
||||
| tst.ts:123:26:123:47 | import( ... string> | tst.ts:123:26:123:39 | import("type") | 0 | 1 | tst.ts:123:41:123:46 | string |
|
||||
| tst.ts:125:35:125:65 | import( ... string> | tst.ts:125:55:125:57 | Foo | 0 | 1 | tst.ts:125:59:125:64 | string |
|
||||
test_IntersectionTypeExpr
|
||||
| tst.ts:43:23:43:43 | string& ... boolean | 0 | 3 | tst.ts:43:23:43:28 | string |
|
||||
| tst.ts:43:23:43:43 | string& ... boolean | 1 | 3 | tst.ts:43:30:43:35 | number |
|
||||
| tst.ts:43:23:43:43 | string& ... boolean | 2 | 3 | tst.ts:43:37:43:43 | boolean |
|
||||
| tst.ts:47:18:47:55 | (string ... string) | 0 | 2 | tst.ts:47:18:47:34 | (string \| number) |
|
||||
| tst.ts:47:18:47:55 | (string ... string) | 1 | 2 | tst.ts:47:38:47:55 | (boolean \| string) |
|
||||
test_FunctionTypeReturns
|
||||
| tst.ts:87:20:87:31 | () => number | tst.ts:87:26:87:31 | number |
|
||||
| tst.ts:88:20:88:44 | (param: ... number | tst.ts:88:39:88:44 | number |
|
||||
| tst.ts:89:20:89:37 | <T>(param: T) => T | tst.ts:89:37:89:37 | T |
|
||||
| tst.ts:90:23:90:38 | new () => Object | tst.ts:90:33:90:38 | Object |
|
||||
| tst.ts:91:23:91:51 | new (pa ... Object | tst.ts:91:46:91:51 | Object |
|
||||
| tst.ts:92:23:92:49 | new <T> ... Object | tst.ts:92:44:92:49 | Object |
|
||||
test_UnknownTypeExpr
|
||||
| tst.ts:137:18:137:24 | unknown |
|
||||
test_OptionalTypeExpr
|
||||
| tst.ts:133:48:133:54 | number? | tst.ts:133:48:133:53 | number |
|
||||
| tst.ts:136:48:136:54 | string? | tst.ts:136:48:136:53 | string |
|
||||
test_InterfaceTypeExpr
|
||||
| tst.ts:83:19:83:43 | { x: nu ... mber; } | tst.ts:83:21:83:30 | x: number; |
|
||||
| tst.ts:83:19:83:43 | { x: nu ... mber; } | tst.ts:83:32:83:41 | y: number; |
|
||||
| tst.ts:85:25:85:42 | { foo(): number; } | tst.ts:85:27:85:40 | foo(): number; |
|
||||
test_IsTypeExpr
|
||||
| tst.ts:75:17:75:28 | this is Leaf | tst.ts:75:17:75:20 | this | tst.ts:75:25:75:28 | Leaf |
|
||||
| tst.ts:76:21:76:32 | that is Leaf | tst.ts:76:21:76:24 | that | tst.ts:76:29:76:32 | Leaf |
|
||||
| tst.ts:80:36:80:55 | x is Generic<Leaf[]> | tst.ts:80:36:80:36 | x | tst.ts:80:41:80:55 | Generic<Leaf[]> |
|
||||
| tst.ts:81:38:81:50 | x is typeof x | tst.ts:81:38:81:38 | x | tst.ts:81:43:81:50 | typeof x |
|
||||
| tst.ts:148:36:148:56 | asserts ... string | tst.ts:148:44:148:46 | val | tst.ts:148:51:148:56 | string |
|
||||
test_PredicateTypeExpr
|
||||
| tst.ts:75:17:75:28 | this is Leaf | tst.ts:75:17:75:20 | this |
|
||||
| tst.ts:76:21:76:32 | that is Leaf | tst.ts:76:21:76:24 | that |
|
||||
| tst.ts:80:36:80:55 | x is Generic<Leaf[]> | tst.ts:80:36:80:36 | x |
|
||||
| tst.ts:81:38:81:50 | x is typeof x | tst.ts:81:38:81:38 | x |
|
||||
| tst.ts:142:48:142:64 | asserts condition | tst.ts:142:56:142:64 | condition |
|
||||
| tst.ts:148:36:148:56 | asserts ... string | tst.ts:148:44:148:46 | val |
|
||||
test_hasAssertsKeyword
|
||||
| tst.ts:142:48:142:64 | asserts condition |
|
||||
| tst.ts:148:36:148:56 | asserts ... string |
|
||||
test_ThisParameterTypes
|
||||
| function hasThisParam | tst.ts:116:29:116:32 | void |
|
||||
| method hasThisParam of interface InterfaceWithThisParam | tst.ts:119:22:119:43 | Interfa ... isParam |
|
||||
test_ChildIndex
|
||||
test_TypeArguments
|
||||
| tst.ts:102:13:102:29 | f1<string>("foo") | 0 | 1 | tst.ts:102:16:102:21 | string |
|
||||
| tst.ts:103:13:103:40 | f2<stri ... oo", 5) | 0 | 2 | tst.ts:103:16:103:21 | string |
|
||||
| tst.ts:103:13:103:40 | f2<stri ... oo", 5) | 1 | 2 | tst.ts:103:24:103:29 | number |
|
||||
| tst.ts:104:13:104:25 | f3<number>(5) | 0 | 1 | tst.ts:104:16:104:21 | number |
|
||||
| tst.ts:106:12:106:27 | new C1<string>() | 0 | 1 | tst.ts:106:19:106:24 | string |
|
||||
| tst.ts:107:12:107:35 | new C2< ... mber>() | 0 | 2 | tst.ts:107:19:107:24 | string |
|
||||
| tst.ts:107:12:107:35 | new C2< ... mber>() | 1 | 2 | tst.ts:107:27:107:32 | number |
|
||||
| tst.ts:108:12:108:27 | new C3<number>() | 0 | 1 | tst.ts:108:19:108:24 | number |
|
||||
test_ParenthesizedTypeExpr
|
||||
| tst.ts:44:24:44:31 | (string) | tst.ts:44:25:44:30 | string | tst.ts:44:25:44:30 | string |
|
||||
| tst.ts:45:25:45:34 | ((string)) | tst.ts:45:26:45:33 | (string) | tst.ts:45:27:45:32 | string |
|
||||
| tst.ts:45:26:45:33 | (string) | tst.ts:45:27:45:32 | string | tst.ts:45:27:45:32 | string |
|
||||
| tst.ts:46:25:46:36 | (((string))) | tst.ts:46:26:46:35 | ((string)) | tst.ts:46:28:46:33 | string |
|
||||
| tst.ts:46:26:46:35 | ((string)) | tst.ts:46:27:46:34 | (string) | tst.ts:46:28:46:33 | string |
|
||||
| tst.ts:46:27:46:34 | (string) | tst.ts:46:28:46:33 | string | tst.ts:46:28:46:33 | string |
|
||||
| tst.ts:47:18:47:34 | (string \| number) | tst.ts:47:19:47:33 | string \| number | tst.ts:47:19:47:33 | string \| number |
|
||||
| tst.ts:47:38:47:55 | (boolean \| string) | tst.ts:47:39:47:54 | boolean \| string | tst.ts:47:39:47:54 | boolean \| string |
|
||||
test_TupleTypeExpr
|
||||
| tst.ts:48:16:48:40 | [number ... oolean] | 0 | 3 | tst.ts:48:17:48:22 | number |
|
||||
| tst.ts:48:16:48:40 | [number ... oolean] | 1 | 3 | tst.ts:48:25:48:30 | string |
|
||||
| tst.ts:48:16:48:40 | [number ... oolean] | 2 | 3 | tst.ts:48:33:48:39 | boolean |
|
||||
| tst.ts:95:31:95:35 | [S,T] | 0 | 2 | tst.ts:95:32:95:32 | S |
|
||||
| tst.ts:95:31:95:35 | [S,T] | 1 | 2 | tst.ts:95:34:95:34 | T |
|
||||
| tst.ts:133:31:133:55 | [number ... umber?] | 0 | 3 | tst.ts:133:32:133:37 | number |
|
||||
| tst.ts:133:31:133:55 | [number ... umber?] | 1 | 3 | tst.ts:133:40:133:45 | string |
|
||||
| tst.ts:133:31:133:55 | [number ... umber?] | 2 | 3 | tst.ts:133:48:133:54 | number? |
|
||||
| tst.ts:135:27:135:47 | [number ... ring[]] | 0 | 2 | tst.ts:135:28:135:33 | number |
|
||||
| tst.ts:135:27:135:47 | [number ... ring[]] | 1 | 2 | tst.ts:135:36:135:46 | ...string[] |
|
||||
| tst.ts:136:39:136:68 | [number ... mber[]] | 0 | 3 | tst.ts:136:40:136:45 | number |
|
||||
| tst.ts:136:39:136:68 | [number ... mber[]] | 1 | 3 | tst.ts:136:48:136:54 | string? |
|
||||
| tst.ts:136:39:136:68 | [number ... mber[]] | 2 | 3 | tst.ts:136:57:136:67 | ...number[] |
|
||||
| tst.ts:157:46:157:56 | [any, ...T] | 0 | 2 | tst.ts:157:47:157:49 | any |
|
||||
| tst.ts:157:46:157:56 | [any, ...T] | 1 | 2 | tst.ts:157:52:157:55 | ...T |
|
||||
| tst.ts:164:66:164:77 | [...T, ...U] | 0 | 2 | tst.ts:164:67:164:70 | ...T |
|
||||
| tst.ts:164:66:164:77 | [...T, ...U] | 1 | 2 | tst.ts:164:73:164:76 | ...U |
|
||||
| tst.ts:169:34:169:64 | [first: ... number] | 0 | 2 | tst.ts:169:42:169:47 | number |
|
||||
| tst.ts:169:34:169:64 | [first: ... number] | 1 | 2 | tst.ts:169:58:169:63 | number |
|
||||
| tst.ts:175:16:175:31 | [string, string] | 0 | 2 | tst.ts:175:17:175:22 | string |
|
||||
| tst.ts:175:16:175:31 | [string, string] | 1 | 2 | tst.ts:175:25:175:30 | string |
|
||||
| tst.ts:176:16:176:31 | [number, number] | 0 | 2 | tst.ts:176:17:176:22 | number |
|
||||
| tst.ts:176:16:176:31 | [number, number] | 1 | 2 | tst.ts:176:25:176:30 | number |
|
||||
| tst.ts:179:21:179:44 | [...Str ... umbers] | 0 | 2 | tst.ts:179:22:179:31 | ...Strings |
|
||||
| tst.ts:179:21:179:44 | [...Str ... umbers] | 1 | 2 | tst.ts:179:34:179:43 | ...Numbers |
|
||||
| tst.ts:192:21:192:43 | [first: ... number] | 0 | 2 | tst.ts:192:29:192:34 | number |
|
||||
| tst.ts:192:21:192:43 | [first: ... number] | 1 | 2 | tst.ts:192:37:192:42 | number |
|
||||
| tst.ts:192:47:192:70 | [number ... number] | 0 | 2 | tst.ts:192:48:192:53 | number |
|
||||
| tst.ts:192:47:192:70 | [number ... number] | 1 | 2 | tst.ts:192:64:192:69 | number |
|
||||
test_TupleTypeElementName
|
||||
| tst.ts:169:34:169:64 | [first: ... number] | 0 | tst.ts:169:35:169:39 | first |
|
||||
| tst.ts:169:34:169:64 | [first: ... number] | 1 | tst.ts:169:50:169:55 | second |
|
||||
| tst.ts:192:21:192:43 | [first: ... number] | 0 | tst.ts:192:22:192:26 | first |
|
||||
| tst.ts:192:47:192:70 | [number ... number] | 1 | tst.ts:192:56:192:61 | second |
|
||||
test_FieldTypes
|
||||
| tst.ts:15:3:15:22 | numberField: number; | tst.ts:15:16:15:21 | number |
|
||||
| tst.ts:16:3:16:22 | stringField: string; | tst.ts:16:16:16:21 | string |
|
||||
| tst.ts:17:3:17:28 | interfa ... erface; | tst.ts:17:19:17:27 | Interface |
|
||||
| tst.ts:18:3:18:18 | thisField: this; | tst.ts:18:14:18:17 | this |
|
||||
| tst.ts:83:21:83:30 | x: number; | tst.ts:83:24:83:29 | number |
|
||||
| tst.ts:83:32:83:41 | y: number; | tst.ts:83:35:83:40 | number |
|
||||
test_Parameters
|
||||
| tst.ts:36:27:36:32 | param1 | tst.ts:36:44:36:44 | 1 | tst.ts:36:35:36:40 | number |
|
||||
| tst.ts:36:47:36:52 | param2 | tst.ts:36:64:36:66 | '2' | tst.ts:36:55:36:60 | string |
|
||||
test_ArrayTypeExpr
|
||||
| tst.ts:38:16:38:23 | string[] | tst.ts:38:16:38:21 | string |
|
||||
| tst.ts:39:17:39:24 | string[] | tst.ts:39:17:39:22 | string |
|
||||
| tst.ts:39:17:39:26 | string[][] | tst.ts:39:17:39:24 | string[] |
|
||||
| tst.ts:40:17:40:24 | string[] | tst.ts:40:17:40:22 | string |
|
||||
| tst.ts:40:17:40:26 | string[][] | tst.ts:40:17:40:24 | string[] |
|
||||
| tst.ts:40:17:40:28 | string[][][] | tst.ts:40:17:40:26 | string[][] |
|
||||
| tst.ts:80:49:80:54 | Leaf[] | tst.ts:80:49:80:52 | Leaf |
|
||||
| tst.ts:81:27:81:34 | string[] | tst.ts:81:27:81:32 | string |
|
||||
| tst.ts:135:39:135:46 | string[] | tst.ts:135:39:135:44 | string |
|
||||
| tst.ts:136:60:136:67 | number[] | tst.ts:136:60:136:65 | number |
|
||||
| tst.ts:157:25:157:29 | any[] | tst.ts:157:25:157:27 | any |
|
||||
| tst.ts:163:21:163:25 | any[] | tst.ts:163:21:163:23 | any |
|
||||
test_TypeAccessHelpers
|
||||
| tst.ts:65:18:65:24 | Generic | 1 | 0 | tst.ts:65:26:65:31 | number |
|
||||
| tst.ts:66:18:66:32 | N.InnerGeneric1 | 1 | 0 | tst.ts:66:34:66:39 | number |
|
||||
@@ -263,52 +243,72 @@ test_TypeAccessHelpers
|
||||
| tst.ts:80:41:80:47 | Generic | 1 | 0 | tst.ts:80:49:80:54 | Leaf[] |
|
||||
| tst.ts:123:26:123:39 | import("type") | 1 | 0 | tst.ts:123:41:123:46 | string |
|
||||
| tst.ts:125:55:125:57 | Foo | 1 | 0 | tst.ts:125:59:125:64 | string |
|
||||
test_TypeAssertions
|
||||
| tst.ts:110:14:110:24 | 5 as number | tst.ts:110:14:110:14 | 5 | tst.ts:110:19:110:24 | number |
|
||||
| tst.ts:111:18:111:31 | <string> 'foo' | tst.ts:111:27:111:31 | 'foo' | tst.ts:111:19:111:24 | string |
|
||||
test_UnionTypeExpr
|
||||
| tst.ts:41:16:41:36 | string\| ... boolean | 0 | 3 | tst.ts:41:16:41:21 | string |
|
||||
| tst.ts:41:16:41:36 | string\| ... boolean | 1 | 3 | tst.ts:41:23:41:28 | number |
|
||||
| tst.ts:41:16:41:36 | string\| ... boolean | 2 | 3 | tst.ts:41:30:41:36 | boolean |
|
||||
| tst.ts:47:19:47:33 | string \| number | 0 | 2 | tst.ts:47:19:47:24 | string |
|
||||
| tst.ts:47:19:47:33 | string \| number | 1 | 2 | tst.ts:47:28:47:33 | number |
|
||||
| tst.ts:47:39:47:54 | boolean \| string | 0 | 2 | tst.ts:47:39:47:45 | boolean |
|
||||
| tst.ts:47:39:47:54 | boolean \| string | 1 | 2 | tst.ts:47:49:47:54 | string |
|
||||
test_RestTypeExpr
|
||||
| tst.ts:135:36:135:46 | ...string[] | tst.ts:135:39:135:46 | string[] | tst.ts:135:39:135:44 | string |
|
||||
| tst.ts:136:57:136:67 | ...number[] | tst.ts:136:60:136:67 | number[] | tst.ts:136:60:136:65 | number |
|
||||
test_Containers
|
||||
test_ReturnTypes
|
||||
| tst.ts:20:3:20:31 | returnN ... number; | method returnNumberMethod of interface Interface | tst.ts:20:25:20:30 | number |
|
||||
| tst.ts:21:3:21:27 | returnV ... : void; | method returnVoidMethod of interface Interface | tst.ts:21:23:21:26 | void |
|
||||
| tst.ts:22:3:22:27 | returnN ... : null; | method returnNullMethod of interface Interface | tst.ts:22:23:22:26 | null |
|
||||
| tst.ts:23:3:23:27 | returnT ... : this; | method returnThisMethod of interface Interface | tst.ts:23:23:23:26 | this |
|
||||
| tst.ts:30:1:30:53 | functio ... rn 0; } | function returnNumberFunction | tst.ts:30:34:30:39 | number |
|
||||
| tst.ts:31:1:31:49 | functio ... rn 0; } | function returnVoidFunction | tst.ts:31:32:31:35 | void |
|
||||
| tst.ts:32:1:32:49 | functio ... rn 0; } | function returnNullFunction | tst.ts:32:32:32:35 | null |
|
||||
| tst.ts:75:3:75:29 | isThisL ... s Leaf; | method isThisLeaf of interface Node | tst.ts:75:17:75:28 | this is Leaf |
|
||||
| tst.ts:76:3:76:33 | isThatL ... s Leaf; | method isThatLeaf of interface Node | tst.ts:76:21:76:32 | that is Leaf |
|
||||
| tst.ts:80:1:80:73 | functio ... alse; } | function complexIsType | tst.ts:80:36:80:55 | x is Generic<Leaf[]> |
|
||||
| tst.ts:81:1:81:66 | functio ... true } | function obviousIsType | tst.ts:81:38:81:50 | x is typeof x |
|
||||
| tst.ts:85:27:85:40 | foo(): number; | method foo of anonymous interface | tst.ts:85:34:85:39 | number |
|
||||
| tst.ts:87:20:87:31 | () => number | anonymous function type | tst.ts:87:26:87:31 | number |
|
||||
| tst.ts:88:20:88:44 | (param: ... number | anonymous function type | tst.ts:88:39:88:44 | number |
|
||||
| tst.ts:89:20:89:37 | <T>(param: T) => T | anonymous function type | tst.ts:89:37:89:37 | T |
|
||||
| tst.ts:90:23:90:38 | new () => Object | anonymous function type | tst.ts:90:33:90:38 | Object |
|
||||
| tst.ts:91:23:91:51 | new (pa ... Object | anonymous function type | tst.ts:91:46:91:51 | Object |
|
||||
| tst.ts:92:23:92:49 | new <T> ... Object | anonymous function type | tst.ts:92:44:92:49 | Object |
|
||||
| tst.ts:94:1:94:37 | functio ... rn x; } | function f1 | tst.ts:94:23:94:23 | S |
|
||||
| tst.ts:95:1:95:53 | functio ... x,y]; } | function f2 | tst.ts:95:31:95:35 | [S,T] |
|
||||
| tst.ts:96:1:96:52 | functio ... rn x; } | function f3 | tst.ts:96:38:96:38 | S |
|
||||
| tst.ts:142:1:146:1 | functio ... )\\n }\\n} | function assert | tst.ts:142:48:142:64 | asserts condition |
|
||||
| tst.ts:148:1:152:1 | functio ... ;\\n }\\n} | function assertIsString | tst.ts:148:36:148:56 | asserts ... string |
|
||||
| tst.ts:164:1:166:1 | functio ... rr2];\\n} | function concat | tst.ts:164:66:164:77 | [...T, ...U] |
|
||||
| tst.ts:169:1:172:1 | functio ... + b;\\n} | function labelOnTupleElements | tst.ts:169:68:169:73 | number |
|
||||
| tst.ts:192:1:194:1 | functio ... rn x;\\n} | function weirdId | tst.ts:192:47:192:70 | [number ... number] |
|
||||
test_KeyofTypeExpr
|
||||
| tst.ts:49:16:49:30 | keyof Interface | tst.ts:49:22:49:30 | Interface |
|
||||
| tst.ts:113:26:113:35 | keyof Node | tst.ts:113:32:113:35 | Node |
|
||||
test_ThisParameterTypes
|
||||
| function hasThisParam | tst.ts:116:29:116:32 | void |
|
||||
| method hasThisParam of interface InterfaceWithThisParam | tst.ts:119:22:119:43 | Interfa ... isParam |
|
||||
test_FunctionTypeReturns
|
||||
| tst.ts:87:20:87:31 | () => number | tst.ts:87:26:87:31 | number |
|
||||
| tst.ts:88:20:88:44 | (param: ... number | tst.ts:88:39:88:44 | number |
|
||||
| tst.ts:89:20:89:37 | <T>(param: T) => T | tst.ts:89:37:89:37 | T |
|
||||
| tst.ts:90:23:90:38 | new () => Object | tst.ts:90:33:90:38 | Object |
|
||||
| tst.ts:91:23:91:51 | new (pa ... Object | tst.ts:91:46:91:51 | Object |
|
||||
| tst.ts:92:23:92:49 | new <T> ... Object | tst.ts:92:44:92:49 | Object |
|
||||
test_QualifiedTypeAccess
|
||||
| tst.ts:63:19:63:21 | N.I | tst.ts:63:19:63:19 | N | tst.ts:63:21:63:21 | I |
|
||||
| tst.ts:64:20:64:24 | N.M.I | tst.ts:64:20:64:22 | N.M | tst.ts:64:24:64:24 | I |
|
||||
| tst.ts:66:18:66:32 | N.InnerGeneric1 | tst.ts:66:18:66:18 | N | tst.ts:66:20:66:32 | InnerGeneric1 |
|
||||
| tst.ts:67:18:67:34 | N.M.InnerGeneric2 | tst.ts:67:18:67:20 | N.M | tst.ts:67:22:67:34 | InnerGeneric2 |
|
||||
| tst.ts:68:26:68:40 | N.InnerGeneric1 | tst.ts:68:26:68:26 | N | tst.ts:68:28:68:40 | InnerGeneric1 |
|
||||
| tst.ts:124:48:124:50 | Foo | tst.ts:124:28:124:46 | import("namespace") | tst.ts:124:48:124:50 | Foo |
|
||||
| tst.ts:125:55:125:57 | Foo | tst.ts:125:35:125:53 | import("namespace") | tst.ts:125:55:125:57 | Foo |
|
||||
| tst.ts:131:4:131:6 | bar | tst.ts:128:38:130:3 | import( ... ce'\\n ) | tst.ts:131:4:131:6 | bar |
|
||||
test_IntersectionTypeExpr
|
||||
| tst.ts:43:23:43:43 | string& ... boolean | 0 | 3 | tst.ts:43:23:43:28 | string |
|
||||
| tst.ts:43:23:43:43 | string& ... boolean | 1 | 3 | tst.ts:43:30:43:35 | number |
|
||||
| tst.ts:43:23:43:43 | string& ... boolean | 2 | 3 | tst.ts:43:37:43:43 | boolean |
|
||||
| tst.ts:47:18:47:55 | (string ... string) | 0 | 2 | tst.ts:47:18:47:34 | (string \| number) |
|
||||
| tst.ts:47:18:47:55 | (string ... string) | 1 | 2 | tst.ts:47:38:47:55 | (boolean \| string) |
|
||||
test_IndexedAccessTypeExpr
|
||||
| tst.ts:42:18:42:41 | Interfa ... Field'] | tst.ts:42:18:42:26 | Interface | tst.ts:42:28:42:40 | 'numberField' |
|
||||
test_ParenthesizedTypeExpr
|
||||
| tst.ts:44:24:44:31 | (string) | tst.ts:44:25:44:30 | string | tst.ts:44:25:44:30 | string |
|
||||
| tst.ts:45:25:45:34 | ((string)) | tst.ts:45:26:45:33 | (string) | tst.ts:45:27:45:32 | string |
|
||||
| tst.ts:45:26:45:33 | (string) | tst.ts:45:27:45:32 | string | tst.ts:45:27:45:32 | string |
|
||||
| tst.ts:46:25:46:36 | (((string))) | tst.ts:46:26:46:35 | ((string)) | tst.ts:46:28:46:33 | string |
|
||||
| tst.ts:46:26:46:35 | ((string)) | tst.ts:46:27:46:34 | (string) | tst.ts:46:28:46:33 | string |
|
||||
| tst.ts:46:27:46:34 | (string) | tst.ts:46:28:46:33 | string | tst.ts:46:28:46:33 | string |
|
||||
| tst.ts:47:18:47:34 | (string \| number) | tst.ts:47:19:47:33 | string \| number | tst.ts:47:19:47:33 | string \| number |
|
||||
| tst.ts:47:38:47:55 | (boolean \| string) | tst.ts:47:39:47:54 | boolean \| string | tst.ts:47:39:47:54 | boolean \| string |
|
||||
test_FunctionTypeParameters
|
||||
| tst.ts:88:20:88:44 | (param: ... number | 0 | 1 | tst.ts:88:21:88:25 | param |
|
||||
| tst.ts:89:20:89:37 | <T>(param: T) => T | 0 | 1 | tst.ts:89:24:89:28 | param |
|
||||
| tst.ts:91:23:91:51 | new (pa ... Object | 0 | 1 | tst.ts:91:28:91:32 | param |
|
||||
| tst.ts:92:23:92:49 | new <T> ... Object | 0 | 1 | tst.ts:92:31:92:35 | param |
|
||||
test_TaggedTemplateLiteralTypeArgument
|
||||
| tst.ts:139:37:139:58 | someTag ... `Hello` | 0 | tst.ts:139:45:139:50 | number |
|
||||
| tst.ts:140:37:140:66 | someTag ... `Hello` | 0 | tst.ts:140:45:140:50 | number |
|
||||
| tst.ts:140:37:140:66 | someTag ... `Hello` | 1 | tst.ts:140:53:140:58 | string |
|
||||
test_PredicateTypeExpr
|
||||
| tst.ts:75:17:75:28 | this is Leaf | tst.ts:75:17:75:20 | this |
|
||||
| tst.ts:76:21:76:32 | that is Leaf | tst.ts:76:21:76:24 | that |
|
||||
| tst.ts:80:36:80:55 | x is Generic<Leaf[]> | tst.ts:80:36:80:36 | x |
|
||||
| tst.ts:81:38:81:50 | x is typeof x | tst.ts:81:38:81:38 | x |
|
||||
| tst.ts:142:48:142:64 | asserts condition | tst.ts:142:56:142:64 | condition |
|
||||
| tst.ts:148:36:148:56 | asserts ... string | tst.ts:148:44:148:46 | val |
|
||||
test_TupleTypeElementName
|
||||
| tst.ts:169:34:169:64 | [first: ... number] | 0 | tst.ts:169:35:169:39 | first |
|
||||
| tst.ts:169:34:169:64 | [first: ... number] | 1 | tst.ts:169:50:169:55 | second |
|
||||
| tst.ts:192:21:192:43 | [first: ... number] | 0 | tst.ts:192:22:192:26 | first |
|
||||
| tst.ts:192:47:192:70 | [number ... number] | 1 | tst.ts:192:56:192:61 | second |
|
||||
test_hasAssertsKeyword
|
||||
| tst.ts:142:48:142:64 | asserts condition |
|
||||
| tst.ts:148:36:148:56 | asserts ... string |
|
||||
test_ImportTypeExpr
|
||||
| tst.ts:122:19:122:32 | import("type") | type | type |
|
||||
| tst.ts:123:26:123:39 | import("type") | type | type |
|
||||
| tst.ts:124:28:124:46 | import("namespace") | namespace | namespace |
|
||||
| tst.ts:125:35:125:53 | import("namespace") | namespace | namespace |
|
||||
| tst.ts:126:28:126:42 | import("value") | value | value |
|
||||
| tst.ts:127:37:127:51 | import("value") | value | value |
|
||||
| tst.ts:128:38:130:3 | import( ... ce'\\n ) | awkard-namespace | namespace |
|
||||
test_Containers
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
// Test case taken from babel: https://github.com/babel/babel/blob/main/packages/babel-parser/test/fixtures/typescript/regression/keyword-qualified-type-2/input.ts
|
||||
|
||||
// These are valid TypeScript syntax (the parser doesn't produce any error),
|
||||
// but they are always type-checking errors.
|
||||
interface A extends this.B {}
|
||||
type T = typeof var.bar;
|
||||
File diff suppressed because it is too large
Load Diff
@@ -633,6 +633,31 @@ getExprType
|
||||
| tst.ts:467:15:467:17 | foo | readonly ["a", "b", "c"] |
|
||||
| tst.ts:467:15:467:20 | foo[1] | "b" |
|
||||
| tst.ts:467:19:467:19 | 1 | 1 |
|
||||
| tst.ts:472:8:472:11 | TS52 | typeof TS52 in library-tests/TypeScript/Types/tst.ts |
|
||||
| tst.ts:473:11:473:19 | SomeClass | SomeClass |
|
||||
| tst.ts:474:10:474:36 | ((_targ ... => {}) | (_target: undefined, _context: ClassFieldDecora... |
|
||||
| tst.ts:474:11:474:35 | (_targe ... ) => {} | (_target: undefined, _context: ClassFieldDecora... |
|
||||
| tst.ts:474:12:474:18 | _target | undefined |
|
||||
| tst.ts:474:21:474:28 | _context | ClassFieldDecoratorContext<SomeClass, number> &... |
|
||||
| tst.ts:475:9:475:11 | foo | number |
|
||||
| tst.ts:475:15:475:17 | 123 | 123 |
|
||||
| tst.ts:478:5:478:11 | console | Console |
|
||||
| tst.ts:478:5:478:15 | console.log | (...data: any[]) => void |
|
||||
| tst.ts:478:5:478:43 | console ... adata]) | void |
|
||||
| tst.ts:478:13:478:15 | log | (...data: any[]) => void |
|
||||
| tst.ts:478:17:478:25 | SomeClass | typeof SomeClass in tst.ts:472 |
|
||||
| tst.ts:478:17:478:42 | SomeCla ... tadata] | DecoratorMetadataObject |
|
||||
| tst.ts:478:27:478:32 | Symbol | SymbolConstructor |
|
||||
| tst.ts:478:27:478:41 | Symbol.metadata | typeof metadata |
|
||||
| tst.ts:478:34:478:41 | metadata | typeof metadata |
|
||||
| tst.ts:483:5:483:11 | console | Console |
|
||||
| tst.ts:483:5:483:15 | console.log | (...data: any[]) => void |
|
||||
| tst.ts:483:5:483:59 | console ... tring>) | void |
|
||||
| tst.ts:483:13:483:15 | log | (...data: any[]) => void |
|
||||
| tst.ts:483:17:483:34 | ["hello", "world"] | Pair3<string> |
|
||||
| tst.ts:483:17:483:58 | ["hello ... string> | [first: string, string] |
|
||||
| tst.ts:483:18:483:24 | "hello" | "hello" |
|
||||
| tst.ts:483:27:483:33 | "world" | "world" |
|
||||
| tstModuleCJS.cts:1:17:1:28 | tstModuleCJS | () => "a" \| "b" |
|
||||
| tstModuleCJS.cts:2:12:2:15 | Math | Math |
|
||||
| tstModuleCJS.cts:2:12:2:22 | Math.random | () => number |
|
||||
@@ -708,6 +733,8 @@ getExprType
|
||||
| type_definitions.ts:19:5:19:5 | e | EnumWithOneMember |
|
||||
| type_definitions.ts:22:5:22:23 | aliasForNumberArray | Alias<number> |
|
||||
getTypeDefinitionType
|
||||
| badTypes.ts:5:1:5:29 | interfa ... is.B {} | A |
|
||||
| badTypes.ts:6:1:6:24 | type T ... ar.bar; | any |
|
||||
| tst.ts:54:1:56:1 | interfa ... mber;\\n} | NonAbstractDummy |
|
||||
| tst.ts:58:1:60:1 | interfa ... mber;\\n} | HasArea |
|
||||
| tst.ts:65:1:65:54 | type My ... true}; | MyUnion |
|
||||
@@ -744,6 +771,8 @@ getTypeDefinitionType
|
||||
| tst.ts:408:3:410:3 | interfa ... er;\\n } | HSVObj |
|
||||
| tst.ts:419:3:425:3 | class P ... }\\n } | Person |
|
||||
| tst.ts:447:5:458:5 | class P ... }\\n } | Person |
|
||||
| tst.ts:473:5:476:5 | class S ... ;\\n } | SomeClass |
|
||||
| tst.ts:481:5:481:34 | type Pa ... T, T]; | Pair3<T> |
|
||||
| type_alias.ts:1:1:1:17 | type B = boolean; | boolean |
|
||||
| type_alias.ts:5:1:5:50 | type Va ... ay<T>>; | ValueOrArray<T> |
|
||||
| type_alias.ts:9:1:15:13 | type Js ... Json[]; | Json |
|
||||
@@ -756,6 +785,13 @@ getTypeDefinitionType
|
||||
| type_definitions.ts:18:1:18:33 | enum En ... ember } | EnumWithOneMember |
|
||||
| type_definitions.ts:21:1:21:20 | type Alias<T> = T[]; | Alias<T> |
|
||||
getTypeExprType
|
||||
| badTypes.ts:5:11:5:11 | A | A |
|
||||
| badTypes.ts:5:21:5:26 | this.B | any |
|
||||
| badTypes.ts:5:26:5:26 | B | any |
|
||||
| badTypes.ts:6:6:6:6 | T | any |
|
||||
| badTypes.ts:6:10:6:23 | typeof var.bar | any |
|
||||
| badTypes.ts:6:17:6:19 | var | any |
|
||||
| badTypes.ts:6:21:6:23 | bar | any |
|
||||
| boolean-type.ts:3:12:3:15 | true | true |
|
||||
| boolean-type.ts:4:12:4:15 | true | true |
|
||||
| boolean-type.ts:4:12:4:22 | true \| true | true |
|
||||
@@ -1093,6 +1129,15 @@ getTypeExprType
|
||||
| tst.ts:462:65:462:72 | string[] | readonly string[] |
|
||||
| tst.ts:462:81:462:81 | T | T |
|
||||
| tst.ts:462:85:462:85 | T | T |
|
||||
| tst.ts:481:10:481:14 | Pair3 | Pair3<T> |
|
||||
| tst.ts:481:16:481:16 | T | T |
|
||||
| tst.ts:481:21:481:33 | [first: T, T] | [first: T, T] |
|
||||
| tst.ts:481:22:481:26 | first | any |
|
||||
| tst.ts:481:29:481:29 | T | T |
|
||||
| tst.ts:481:32:481:32 | T | T |
|
||||
| tst.ts:483:46:483:50 | Pair3 | Pair3<T> |
|
||||
| tst.ts:483:46:483:58 | Pair3<string> | Pair3<string> |
|
||||
| tst.ts:483:52:483:57 | string | string |
|
||||
| tstModuleCJS.cts:1:33:1:35 | 'a' | "a" |
|
||||
| tstModuleCJS.cts:1:33:1:41 | 'a' \| 'b' | "a" \| "b" |
|
||||
| tstModuleCJS.cts:1:39:1:41 | 'b' | "b" |
|
||||
@@ -1163,6 +1208,7 @@ getTypeExprType
|
||||
| type_definitions.ts:22:32:22:37 | number | number |
|
||||
missingToString
|
||||
referenceDefinition
|
||||
| A | badTypes.ts:5:1:5:29 | interfa ... is.B {} |
|
||||
| Action | tst.ts:252:3:254:50 | type Ac ... ring }; |
|
||||
| Alias<T> | type_definitions.ts:21:1:21:20 | type Alias<T> = T[]; |
|
||||
| Alias<number> | type_definitions.ts:21:1:21:20 | type Alias<T> = T[]; |
|
||||
@@ -1196,12 +1242,15 @@ referenceDefinition
|
||||
| MyUnion | tst.ts:65:1:65:54 | type My ... true}; |
|
||||
| MyUnion2 | tst.ts:68:1:68:49 | type My ... true}; |
|
||||
| NonAbstractDummy | tst.ts:54:1:56:1 | interfa ... mber;\\n} |
|
||||
| Pair3<T> | tst.ts:481:5:481:34 | type Pa ... T, T]; |
|
||||
| Pair3<string> | tst.ts:481:5:481:34 | type Pa ... T, T]; |
|
||||
| Person | tst.ts:222:3:234:3 | class P ... }\\n } |
|
||||
| Person | tst.ts:419:3:425:3 | class P ... }\\n } |
|
||||
| Person | tst.ts:447:5:458:5 | class P ... }\\n } |
|
||||
| RGB | tst.ts:393:3:393:56 | type RG ... umber]; |
|
||||
| RGBObj | tst.ts:404:3:406:3 | interfa ... er;\\n } |
|
||||
| Shape | tst.ts:140:3:142:47 | type Sh ... mber }; |
|
||||
| SomeClass | tst.ts:473:5:476:5 | class S ... ;\\n } |
|
||||
| State<T> | tst.ts:342:1:345:1 | interfa ... void;\\n} |
|
||||
| State<number> | tst.ts:342:1:345:1 | interfa ... void;\\n} |
|
||||
| Sub | tst.ts:97:3:101:3 | class S ... }\\n } |
|
||||
@@ -1275,6 +1324,8 @@ tupleTypes
|
||||
| tst.ts:467:15:467:17 | foo | readonly ["a", "b", "c"] | 0 | "a" | 3 | no-rest |
|
||||
| tst.ts:467:15:467:17 | foo | readonly ["a", "b", "c"] | 1 | "b" | 3 | no-rest |
|
||||
| tst.ts:467:15:467:17 | foo | readonly ["a", "b", "c"] | 2 | "c" | 3 | no-rest |
|
||||
| tst.ts:483:17:483:58 | ["hello ... string> | [first: string, string] | 0 | string | 2 | no-rest |
|
||||
| tst.ts:483:17:483:58 | ["hello ... string> | [first: string, string] | 1 | string | 2 | no-rest |
|
||||
unknownType
|
||||
| tst.ts:40:5:40:15 | unknownType | unknown |
|
||||
| tst.ts:47:8:47:8 | e | unknown |
|
||||
@@ -1355,6 +1406,7 @@ unionIndex
|
||||
| number | 1 | string \| number |
|
||||
| number | 1 | string \| number \| boolean |
|
||||
| number | 1 | string \| number \| boolean \| { [property: string... |
|
||||
| number | 1 | string \| number \| symbol |
|
||||
| number | 1 | string \| number \| true |
|
||||
| string | 0 | VirtualNode \| { [key: string]: any; } |
|
||||
| string | 0 | string \| Error |
|
||||
@@ -1363,10 +1415,12 @@ unionIndex
|
||||
| string | 0 | string \| number |
|
||||
| string | 0 | string \| number \| boolean |
|
||||
| string | 0 | string \| number \| boolean \| { [property: string... |
|
||||
| string | 0 | string \| number \| symbol |
|
||||
| string | 0 | string \| number \| true |
|
||||
| string | 0 | string \| symbol |
|
||||
| string | 0 | string \| { [key: string]: any; } |
|
||||
| symbol | 1 | string \| symbol |
|
||||
| symbol | 2 | string \| number \| symbol |
|
||||
| true | 1 | boolean |
|
||||
| true | 1 | boolean \| Promise<number> |
|
||||
| true | 2 | number \| boolean |
|
||||
|
||||
@@ -234,7 +234,7 @@ module TS45 {
|
||||
}
|
||||
}
|
||||
|
||||
import * as Foo3 from "./something.json" assert { type: "json" };
|
||||
import * as Foo3 from "./something.json" with { type: "json" };
|
||||
var foo = Foo3.foo;
|
||||
|
||||
module TS46 {
|
||||
@@ -465,4 +465,20 @@ module TS50 {
|
||||
const foo = myConstIdFunction(["a", "b" ,"c"]);
|
||||
|
||||
const b = foo[1]; // <- "b"
|
||||
}
|
||||
|
||||
/////////////////
|
||||
|
||||
module TS52 {
|
||||
class SomeClass {
|
||||
@((_target, _context) => {})
|
||||
foo = 123;
|
||||
}
|
||||
|
||||
console.log(SomeClass[Symbol.metadata]); // <- has type DecoratorMetadataObject
|
||||
|
||||
// named and anonymous tuple elements.
|
||||
type Pair3<T> = [first: T, T];
|
||||
|
||||
console.log(["hello", "world"] satisfies Pair3<string>);
|
||||
}
|
||||
@@ -5,4 +5,4 @@
|
||||
| tst.js:7:9:12:14 | $routeP ... }) | template3.html:1:1:1:6 | <div>...</> | tst.js:9:29:10:17 | functio ... } | - |
|
||||
| tst.js:7:9:17:14 | $routeP ... }) | template4.html:1:1:1:6 | <div>...</> | tst.js:14:29:15:17 | functio ... } | - |
|
||||
| tst.js:7:9:21:14 | $routeP ... }) | template1.html:1:1:1:6 | <div>...</> | tst.js:2:34:3:5 | functio ... {\\n } | - |
|
||||
| tst.js:7:9:26:14 | $routeP ... }) | template1.html:1:1:1:6 | <div>...</> | tst.js:2:34:3:5 | functio ... {\\n } | mc1 |
|
||||
| tst.js:7:9:26:14 | $routeP ... }) | template1.html:1:1:1:6 | <div>...</> | tst.js:2:34:3:5 | functio ... {\\n } | mc1 |
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
| tst.js:5:9:9:14 | $routeP ... }) | tst.js:7:29:8:17 | functio ... } |
|
||||
| tst.js:5:9:13:14 | $routeP ... }) | tst.js:11:29:12:17 | functio ... } |
|
||||
| tst.js:5:9:16:14 | $routeP ... }) | tst.js:2:34:3:5 | functio ... {\\n } |
|
||||
| tst.js:5:9:16:14 | $routeP ... }) | tst.js:2:34:3:5 | functio ... {\\n } |
|
||||
|
||||
@@ -1,23 +1,3 @@
|
||||
test_Encode
|
||||
| Base64.js:4:17:4:33 | Base64.btoa(data) |
|
||||
| Buffer.js:3:10:3:35 | encoded ... ase64') |
|
||||
| base64-js.js:4:17:4:40 | base64. ... y(data) |
|
||||
| base-64.js:4:17:4:35 | base64.encode(data) |
|
||||
| dom.js:2:17:2:26 | btoa(data) |
|
||||
| js-base64.js:4:17:4:35 | base64.encode(data) |
|
||||
| js-base64.js:9:17:9:38 | base64. ... I(data) |
|
||||
| js-base64b.js:4:17:4:35 | base64.encode(data) |
|
||||
| js-base64b.js:9:17:9:38 | base64. ... I(data) |
|
||||
test_Encode_input_output
|
||||
| Base64.js:4:17:4:33 | Base64.btoa(data) | Base64.js:4:29:4:32 | data | Base64.js:4:17:4:33 | Base64.btoa(data) |
|
||||
| Buffer.js:3:10:3:35 | encoded ... ase64') | Buffer.js:3:10:3:16 | encoded | Buffer.js:3:10:3:35 | encoded ... ase64') |
|
||||
| base64-js.js:4:17:4:40 | base64. ... y(data) | base64-js.js:4:36:4:39 | data | base64-js.js:4:17:4:40 | base64. ... y(data) |
|
||||
| base-64.js:4:17:4:35 | base64.encode(data) | base-64.js:4:31:4:34 | data | base-64.js:4:17:4:35 | base64.encode(data) |
|
||||
| dom.js:2:17:2:26 | btoa(data) | dom.js:2:22:2:25 | data | dom.js:2:17:2:26 | btoa(data) |
|
||||
| js-base64.js:4:17:4:35 | base64.encode(data) | js-base64.js:4:31:4:34 | data | js-base64.js:4:17:4:35 | base64.encode(data) |
|
||||
| js-base64.js:9:17:9:38 | base64. ... I(data) | js-base64.js:9:34:9:37 | data | js-base64.js:9:17:9:38 | base64. ... I(data) |
|
||||
| js-base64b.js:4:17:4:35 | base64.encode(data) | js-base64b.js:4:31:4:34 | data | js-base64b.js:4:17:4:35 | base64.encode(data) |
|
||||
| js-base64b.js:9:17:9:38 | base64. ... I(data) | js-base64b.js:9:34:9:37 | data | js-base64b.js:9:17:9:38 | base64. ... I(data) |
|
||||
test_Decode
|
||||
| Base64.js:5:10:5:29 | Base64.atob(encoded) |
|
||||
| Buffer.js:2:17:2:43 | Buffer. ... ase64') |
|
||||
@@ -28,6 +8,16 @@ test_Decode
|
||||
| js-base64.js:10:10:10:31 | base64. ... ncoded) |
|
||||
| js-base64b.js:5:10:5:31 | base64. ... ncoded) |
|
||||
| js-base64b.js:10:10:10:31 | base64. ... ncoded) |
|
||||
test_Encode
|
||||
| Base64.js:4:17:4:33 | Base64.btoa(data) |
|
||||
| Buffer.js:3:10:3:35 | encoded ... ase64') |
|
||||
| base64-js.js:4:17:4:40 | base64. ... y(data) |
|
||||
| base-64.js:4:17:4:35 | base64.encode(data) |
|
||||
| dom.js:2:17:2:26 | btoa(data) |
|
||||
| js-base64.js:4:17:4:35 | base64.encode(data) |
|
||||
| js-base64.js:9:17:9:38 | base64. ... I(data) |
|
||||
| js-base64b.js:4:17:4:35 | base64.encode(data) |
|
||||
| js-base64b.js:9:17:9:38 | base64. ... I(data) |
|
||||
test_Decode_input_output
|
||||
| Base64.js:5:10:5:29 | Base64.atob(encoded) | Base64.js:5:22:5:28 | encoded | Base64.js:5:10:5:29 | Base64.atob(encoded) |
|
||||
| Buffer.js:2:17:2:43 | Buffer. ... ase64') | Buffer.js:2:29:2:32 | data | Buffer.js:2:17:2:43 | Buffer. ... ase64') |
|
||||
@@ -38,3 +28,13 @@ test_Decode_input_output
|
||||
| js-base64.js:10:10:10:31 | base64. ... ncoded) | js-base64.js:10:24:10:30 | encoded | js-base64.js:10:10:10:31 | base64. ... ncoded) |
|
||||
| js-base64b.js:5:10:5:31 | base64. ... ncoded) | js-base64b.js:5:24:5:30 | encoded | js-base64b.js:5:10:5:31 | base64. ... ncoded) |
|
||||
| js-base64b.js:10:10:10:31 | base64. ... ncoded) | js-base64b.js:10:24:10:30 | encoded | js-base64b.js:10:10:10:31 | base64. ... ncoded) |
|
||||
test_Encode_input_output
|
||||
| Base64.js:4:17:4:33 | Base64.btoa(data) | Base64.js:4:29:4:32 | data | Base64.js:4:17:4:33 | Base64.btoa(data) |
|
||||
| Buffer.js:3:10:3:35 | encoded ... ase64') | Buffer.js:3:10:3:16 | encoded | Buffer.js:3:10:3:35 | encoded ... ase64') |
|
||||
| base64-js.js:4:17:4:40 | base64. ... y(data) | base64-js.js:4:36:4:39 | data | base64-js.js:4:17:4:40 | base64. ... y(data) |
|
||||
| base-64.js:4:17:4:35 | base64.encode(data) | base-64.js:4:31:4:34 | data | base-64.js:4:17:4:35 | base64.encode(data) |
|
||||
| dom.js:2:17:2:26 | btoa(data) | dom.js:2:22:2:25 | data | dom.js:2:17:2:26 | btoa(data) |
|
||||
| js-base64.js:4:17:4:35 | base64.encode(data) | js-base64.js:4:31:4:34 | data | js-base64.js:4:17:4:35 | base64.encode(data) |
|
||||
| js-base64.js:9:17:9:38 | base64. ... I(data) | js-base64.js:9:34:9:37 | data | js-base64.js:9:17:9:38 | base64. ... I(data) |
|
||||
| js-base64b.js:4:17:4:35 | base64.encode(data) | js-base64b.js:4:31:4:34 | data | js-base64b.js:4:17:4:35 | base64.encode(data) |
|
||||
| js-base64b.js:9:17:9:38 | base64. ... I(data) | js-base64b.js:9:34:9:37 | data | js-base64b.js:9:17:9:38 | base64. ... I(data) |
|
||||
|
||||
@@ -67,3 +67,9 @@ app.get('/some/non-xss1', function(req, res) {
|
||||
res.send(req.params.foo)
|
||||
foo(res);
|
||||
});
|
||||
|
||||
app.get('/some/xss3', function(req, res) {
|
||||
res.header("Content-Type", "text/html");
|
||||
res.send(req.path)
|
||||
foo(res);
|
||||
});
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,45 +1,50 @@
|
||||
test_isCreateServer
|
||||
| createServer.js:2:1:2:42 | https.c ... es) {}) |
|
||||
| createServer.js:3:1:3:45 | https.c ... es) {}) |
|
||||
| createServer.js:4:1:4:47 | require ... => {}) |
|
||||
| createServer.js:31:17:31:58 | http.cr ... dler()) |
|
||||
| src/http.js:4:14:10:2 | http.cr ... foo;\\n}) |
|
||||
| src/http.js:12:1:16:2 | http.cr ... r");\\n}) |
|
||||
| src/http.js:57:1:57:31 | http.cr ... dler()) |
|
||||
| src/http.js:60:1:60:33 | createS ... res){}) |
|
||||
| src/http.js:62:1:65:2 | http.cr ... 2");\\n}) |
|
||||
| src/http.js:70:1:70:36 | http.cr ... dler()) |
|
||||
| src/http.js:72:1:76:2 | http.cr ... })\\n}) |
|
||||
| src/https.js:4:14:10:2 | https.c ... foo;\\n}) |
|
||||
| src/https.js:12:1:16:2 | https.c ... r");\\n}) |
|
||||
| src/indirect2.js:18:14:18:35 | http.cr ... er(get) |
|
||||
| src/indirect.js:34:14:34:58 | http.cr ... dler()) |
|
||||
test_RequestInputAccess
|
||||
| src/http.js:6:26:6:32 | req.url | url | src/http.js:4:32:10:1 | functio ... .foo;\\n} |
|
||||
| src/http.js:8:3:8:20 | req.headers.cookie | cookie | src/http.js:4:32:10:1 | functio ... .foo;\\n} |
|
||||
| src/http.js:9:3:9:17 | req.headers.foo | header | src/http.js:4:32:10:1 | functio ... .foo;\\n} |
|
||||
| src/https.js:6:26:6:32 | req.url | url | src/https.js:4:33:10:1 | functio ... .foo;\\n} |
|
||||
| src/https.js:8:3:8:20 | req.headers.cookie | cookie | src/https.js:4:33:10:1 | functio ... .foo;\\n} |
|
||||
| src/https.js:9:3:9:17 | req.headers.foo | header | src/https.js:4:33:10:1 | functio ... .foo;\\n} |
|
||||
| src/indirect.js:17:28:17:34 | req.url | url | src/indirect.js:16:12:20:5 | functio ... ;\\n } |
|
||||
test_RouteHandler_getAResponseHeader
|
||||
| src/http.js:4:32:10:1 | functio ... .foo;\\n} | location | src/http.js:7:3:7:42 | res.wri ... rget }) |
|
||||
| src/http.js:12:19:16:1 | functio ... ar");\\n} | content-type | src/http.js:13:3:13:44 | res.set ... /html') |
|
||||
| src/https.js:4:33:10:1 | functio ... .foo;\\n} | location | src/https.js:7:3:7:42 | res.wri ... rget }) |
|
||||
| src/https.js:12:20:16:1 | functio ... ar");\\n} | content-type | src/https.js:13:3:13:44 | res.set ... /html') |
|
||||
| src/indirect2.js:9:1:11:1 | functio ... res);\\n} | content-type | src/indirect2.js:14:3:14:51 | res.set ... /json') |
|
||||
| src/indirect2.js:13:1:16:1 | functio ... \\"");\\n} | content-type | src/indirect2.js:14:3:14:51 | res.set ... /json') |
|
||||
test_HeaderDefinition_defines
|
||||
| src/http.js:13:3:13:44 | res.set ... /html') | content-type | text/html |
|
||||
| src/https.js:13:3:13:44 | res.set ... /html') | content-type | text/html |
|
||||
| src/indirect2.js:14:3:14:51 | res.set ... /json') | content-type | application/json |
|
||||
test_SystemCommandExecution
|
||||
| es6-imported-exec.js:3:1:3:11 | exec("cmd") | es6-imported-exec.js:3:6:3:10 | "cmd" |
|
||||
| exec.js:3:1:3:38 | cp.exec ... "], cb) | exec.js:3:13:3:18 | "node" |
|
||||
| exec.js:4:1:4:47 | cp.exec ... sion"]) | exec.js:4:17:4:20 | "sh" |
|
||||
| exec.js:5:1:5:23 | cp.fork ... "arg"]) | exec.js:5:9:5:13 | "foo" |
|
||||
| exec.js:6:1:6:28 | cp.spaw ... "], cb) | exec.js:6:10:6:15 | "echo" |
|
||||
| exec.js:7:1:7:37 | cp.spaw ... here"]) | exec.js:7:14:7:19 | "echo" |
|
||||
test_Credentials
|
||||
| src/http.js:18:22:18:27 | "auth" | credentials |
|
||||
| src/https.js:18:23:18:28 | "auth" | credentials |
|
||||
test_RequestExpr
|
||||
| createServer.js:2:30:2:32 | req | createServer.js:2:20:2:41 | functio ... res) {} |
|
||||
| createServer.js:3:33:3:35 | req | createServer.js:3:23:3:44 | functio ... res) {} |
|
||||
| createServer.js:4:32:4:34 | req | createServer.js:4:31:4:46 | (req, res) => {} |
|
||||
| createServer.js:25:47:25:49 | req | createServer.js:25:37:27:5 | functio ... ;\\n } |
|
||||
| src/http.js:4:41:4:43 | req | src/http.js:4:32:10:1 | functio ... .foo;\\n} |
|
||||
| src/http.js:4:41:4:43 | req | src/http.js:4:32:10:1 | functio ... .foo;\\n} |
|
||||
| src/http.js:6:26:6:28 | req | src/http.js:4:32:10:1 | functio ... .foo;\\n} |
|
||||
| src/http.js:8:3:8:5 | req | src/http.js:4:32:10:1 | functio ... .foo;\\n} |
|
||||
| src/http.js:9:3:9:5 | req | src/http.js:4:32:10:1 | functio ... .foo;\\n} |
|
||||
| src/http.js:12:28:12:30 | req | src/http.js:12:19:16:1 | functio ... ar");\\n} |
|
||||
| src/http.js:55:21:55:23 | req | src/http.js:55:12:55:30 | function(req,res){} |
|
||||
| src/http.js:60:23:60:25 | req | src/http.js:60:14:60:32 | function(req,res){} |
|
||||
| src/http.js:62:28:62:30 | req | src/http.js:62:19:65:1 | functio ... r2");\\n} |
|
||||
| src/http.js:62:28:62:30 | req | src/http.js:62:19:65:1 | functio ... r2");\\n} |
|
||||
| src/http.js:63:17:63:19 | req | src/http.js:62:19:65:1 | functio ... r2");\\n} |
|
||||
| src/http.js:68:13:68:15 | req | src/http.js:68:12:68:27 | (req,res) => f() |
|
||||
| src/http.js:72:29:72:31 | req | src/http.js:72:19:76:1 | functio ... \\n })\\n} |
|
||||
| src/http.js:72:29:72:31 | req | src/http.js:72:19:76:1 | functio ... \\n })\\n} |
|
||||
| src/http.js:73:3:73:5 | req | src/http.js:72:19:76:1 | functio ... \\n })\\n} |
|
||||
| src/http.js:81:41:81:43 | req | src/http.js:81:22:86:1 | functio ... la");\\n} |
|
||||
| src/http.js:81:41:81:43 | req | src/http.js:81:22:86:1 | functio ... la");\\n} |
|
||||
| src/http.js:82:3:82:5 | req | src/http.js:81:22:86:1 | functio ... la");\\n} |
|
||||
| src/https.js:4:42:4:44 | req | src/https.js:4:33:10:1 | functio ... .foo;\\n} |
|
||||
| src/https.js:4:42:4:44 | req | src/https.js:4:33:10:1 | functio ... .foo;\\n} |
|
||||
| src/https.js:6:26:6:28 | req | src/https.js:4:33:10:1 | functio ... .foo;\\n} |
|
||||
| src/https.js:8:3:8:5 | req | src/https.js:4:33:10:1 | functio ... .foo;\\n} |
|
||||
| src/https.js:9:3:9:5 | req | src/https.js:4:33:10:1 | functio ... .foo;\\n} |
|
||||
| src/https.js:12:29:12:31 | req | src/https.js:12:20:16:1 | functio ... ar");\\n} |
|
||||
| src/indirect2.js:9:14:9:16 | req | src/indirect2.js:9:1:11:1 | functio ... res);\\n} |
|
||||
| src/indirect2.js:9:14:9:16 | req | src/indirect2.js:9:1:11:1 | functio ... res);\\n} |
|
||||
| src/indirect2.js:10:12:10:14 | req | src/indirect2.js:9:1:11:1 | functio ... res);\\n} |
|
||||
| src/indirect2.js:10:42:10:44 | req | src/indirect2.js:9:1:11:1 | functio ... res);\\n} |
|
||||
| src/indirect2.js:13:28:13:30 | req | src/indirect2.js:9:1:11:1 | functio ... res);\\n} |
|
||||
| src/indirect2.js:13:28:13:30 | req | src/indirect2.js:13:1:16:1 | functio ... \\"");\\n} |
|
||||
| src/indirect.js:16:21:16:23 | req | src/indirect.js:16:12:20:5 | functio ... ;\\n } |
|
||||
| src/indirect.js:16:21:16:23 | req | src/indirect.js:16:12:20:5 | functio ... ;\\n } |
|
||||
| src/indirect.js:17:28:17:30 | req | src/indirect.js:16:12:20:5 | functio ... ;\\n } |
|
||||
| src/indirect.js:19:33:19:35 | req | src/indirect.js:16:12:20:5 | functio ... ;\\n } |
|
||||
| src/indirect.js:25:25:25:27 | req | src/indirect.js:25:24:27:3 | (req, r ... ");\\n } |
|
||||
| src/indirect.js:28:24:28:26 | req | src/indirect.js:28:15:30:3 | functio ... ");\\n } |
|
||||
test_HeaderAccess
|
||||
| src/http.js:9:3:9:17 | req.headers.foo | foo |
|
||||
| src/https.js:9:3:9:17 | req.headers.foo | foo |
|
||||
test_ResponseExpr
|
||||
| createServer.js:2:35:2:37 | res | createServer.js:2:20:2:41 | functio ... res) {} |
|
||||
| createServer.js:3:38:3:40 | res | createServer.js:3:23:3:44 | functio ... res) {} |
|
||||
@@ -101,6 +106,47 @@ test_ResponseExpr
|
||||
| src/indirect.js:28:29:28:31 | res | src/indirect.js:28:15:30:3 | functio ... ");\\n } |
|
||||
| src/indirect.js:28:29:28:31 | res | src/indirect.js:28:15:30:3 | functio ... ");\\n } |
|
||||
| src/indirect.js:29:5:29:7 | res | src/indirect.js:28:15:30:3 | functio ... ");\\n } |
|
||||
test_RouteHandler
|
||||
| createServer.js:2:20:2:41 | functio ... res) {} | createServer.js:2:1:2:42 | https.c ... es) {}) |
|
||||
| createServer.js:3:23:3:44 | functio ... res) {} | createServer.js:3:1:3:45 | https.c ... es) {}) |
|
||||
| createServer.js:4:31:4:46 | (req, res) => {} | createServer.js:4:1:4:47 | require ... => {}) |
|
||||
| createServer.js:25:37:27:5 | functio ... ;\\n } | createServer.js:31:17:31:58 | http.cr ... dler()) |
|
||||
| src/http.js:4:32:10:1 | functio ... .foo;\\n} | src/http.js:4:14:10:2 | http.cr ... foo;\\n}) |
|
||||
| src/http.js:12:19:16:1 | functio ... ar");\\n} | src/http.js:12:1:16:2 | http.cr ... r");\\n}) |
|
||||
| src/http.js:55:12:55:30 | function(req,res){} | src/http.js:57:1:57:31 | http.cr ... dler()) |
|
||||
| src/http.js:60:14:60:32 | function(req,res){} | src/http.js:60:1:60:33 | createS ... res){}) |
|
||||
| src/http.js:62:19:65:1 | functio ... r2");\\n} | src/http.js:62:1:65:2 | http.cr ... 2");\\n}) |
|
||||
| src/http.js:68:12:68:27 | (req,res) => f() | src/http.js:70:1:70:36 | http.cr ... dler()) |
|
||||
| src/http.js:72:19:76:1 | functio ... \\n })\\n} | src/http.js:72:1:76:2 | http.cr ... })\\n}) |
|
||||
| src/https.js:4:33:10:1 | functio ... .foo;\\n} | src/https.js:4:14:10:2 | https.c ... foo;\\n}) |
|
||||
| src/https.js:12:20:16:1 | functio ... ar");\\n} | src/https.js:12:1:16:2 | https.c ... r");\\n}) |
|
||||
| src/indirect2.js:9:1:11:1 | functio ... res);\\n} | src/indirect2.js:18:14:18:35 | http.cr ... er(get) |
|
||||
| src/indirect2.js:13:1:16:1 | functio ... \\"");\\n} | src/indirect2.js:18:14:18:35 | http.cr ... er(get) |
|
||||
| src/indirect.js:16:12:20:5 | functio ... ;\\n } | src/indirect.js:34:14:34:58 | http.cr ... dler()) |
|
||||
| src/indirect.js:25:24:27:3 | (req, r ... ");\\n } | src/indirect.js:34:14:34:58 | http.cr ... dler()) |
|
||||
| src/indirect.js:28:15:30:3 | functio ... ");\\n } | src/indirect.js:34:14:34:58 | http.cr ... dler()) |
|
||||
test_ClientRequest
|
||||
| http.js:2:1:2:56 | http.re ... fined)) |
|
||||
| src/http.js:18:1:18:30 | http.re ... uth" }) |
|
||||
| src/http.js:21:15:26:6 | http.re ... \\n }) |
|
||||
| src/http.js:27:16:27:73 | http.re ... POST'}) |
|
||||
| src/https.js:18:1:18:31 | https.r ... uth" }) |
|
||||
test_isCreateServer
|
||||
| createServer.js:2:1:2:42 | https.c ... es) {}) |
|
||||
| createServer.js:3:1:3:45 | https.c ... es) {}) |
|
||||
| createServer.js:4:1:4:47 | require ... => {}) |
|
||||
| createServer.js:31:17:31:58 | http.cr ... dler()) |
|
||||
| src/http.js:4:14:10:2 | http.cr ... foo;\\n}) |
|
||||
| src/http.js:12:1:16:2 | http.cr ... r");\\n}) |
|
||||
| src/http.js:57:1:57:31 | http.cr ... dler()) |
|
||||
| src/http.js:60:1:60:33 | createS ... res){}) |
|
||||
| src/http.js:62:1:65:2 | http.cr ... 2");\\n}) |
|
||||
| src/http.js:70:1:70:36 | http.cr ... dler()) |
|
||||
| src/http.js:72:1:76:2 | http.cr ... })\\n}) |
|
||||
| src/https.js:4:14:10:2 | https.c ... foo;\\n}) |
|
||||
| src/https.js:12:1:16:2 | https.c ... r");\\n}) |
|
||||
| src/indirect2.js:18:14:18:35 | http.cr ... er(get) |
|
||||
| src/indirect.js:34:14:34:58 | http.cr ... dler()) |
|
||||
test_HeaderDefinition
|
||||
| src/http.js:7:3:7:42 | res.wri ... rget }) | src/http.js:4:32:10:1 | functio ... .foo;\\n} |
|
||||
| src/http.js:13:3:13:44 | res.set ... /html') | src/http.js:12:19:16:1 | functio ... ar");\\n} |
|
||||
@@ -109,34 +155,6 @@ test_HeaderDefinition
|
||||
| src/https.js:13:3:13:44 | res.set ... /html') | src/https.js:12:20:16:1 | functio ... ar");\\n} |
|
||||
| src/indirect2.js:14:3:14:51 | res.set ... /json') | src/indirect2.js:9:1:11:1 | functio ... res);\\n} |
|
||||
| src/indirect2.js:14:3:14:51 | res.set ... /json') | src/indirect2.js:13:1:16:1 | functio ... \\"");\\n} |
|
||||
test_RouteSetup_getServer
|
||||
| createServer.js:2:1:2:42 | https.c ... es) {}) | createServer.js:2:1:2:42 | https.c ... es) {}) |
|
||||
| createServer.js:3:1:3:45 | https.c ... es) {}) | createServer.js:3:1:3:45 | https.c ... es) {}) |
|
||||
| createServer.js:4:1:4:47 | require ... => {}) | createServer.js:4:1:4:47 | require ... => {}) |
|
||||
| createServer.js:31:17:31:58 | http.cr ... dler()) | createServer.js:31:17:31:58 | http.cr ... dler()) |
|
||||
| src/http.js:4:14:10:2 | http.cr ... foo;\\n}) | src/http.js:4:14:10:2 | http.cr ... foo;\\n}) |
|
||||
| src/http.js:12:1:16:2 | http.cr ... r");\\n}) | src/http.js:12:1:16:2 | http.cr ... r");\\n}) |
|
||||
| src/http.js:57:1:57:31 | http.cr ... dler()) | src/http.js:57:1:57:31 | http.cr ... dler()) |
|
||||
| src/http.js:60:1:60:33 | createS ... res){}) | src/http.js:60:1:60:33 | createS ... res){}) |
|
||||
| src/http.js:62:1:65:2 | http.cr ... 2");\\n}) | src/http.js:62:1:65:2 | http.cr ... 2");\\n}) |
|
||||
| src/http.js:70:1:70:36 | http.cr ... dler()) | src/http.js:70:1:70:36 | http.cr ... dler()) |
|
||||
| src/http.js:72:1:76:2 | http.cr ... })\\n}) | src/http.js:72:1:76:2 | http.cr ... })\\n}) |
|
||||
| src/https.js:4:14:10:2 | https.c ... foo;\\n}) | src/https.js:4:14:10:2 | https.c ... foo;\\n}) |
|
||||
| src/https.js:12:1:16:2 | https.c ... r");\\n}) | src/https.js:12:1:16:2 | https.c ... r");\\n}) |
|
||||
| src/indirect2.js:18:14:18:35 | http.cr ... er(get) | src/indirect2.js:18:14:18:35 | http.cr ... er(get) |
|
||||
| src/indirect.js:34:14:34:58 | http.cr ... dler()) | src/indirect.js:34:14:34:58 | http.cr ... dler()) |
|
||||
test_ClientRequest
|
||||
| http.js:2:1:2:56 | http.re ... fined)) |
|
||||
| src/http.js:18:1:18:30 | http.re ... uth" }) |
|
||||
| src/http.js:21:15:26:6 | http.re ... \\n }) |
|
||||
| src/http.js:27:16:27:73 | http.re ... POST'}) |
|
||||
| src/https.js:18:1:18:31 | https.r ... uth" }) |
|
||||
test_HeaderDefinition_getAHeaderName
|
||||
| src/http.js:7:3:7:42 | res.wri ... rget }) | location |
|
||||
| src/http.js:13:3:13:44 | res.set ... /html') | content-type |
|
||||
| src/https.js:7:3:7:42 | res.wri ... rget }) | location |
|
||||
| src/https.js:13:3:13:44 | res.set ... /html') | content-type |
|
||||
| src/indirect2.js:14:3:14:51 | res.set ... /json') | content-type |
|
||||
test_ServerDefinition
|
||||
| createServer.js:2:1:2:42 | https.c ... es) {}) |
|
||||
| createServer.js:3:1:3:45 | https.c ... es) {}) |
|
||||
@@ -153,9 +171,105 @@ test_ServerDefinition
|
||||
| src/https.js:12:1:16:2 | https.c ... r");\\n}) |
|
||||
| src/indirect2.js:18:14:18:35 | http.cr ... er(get) |
|
||||
| src/indirect.js:34:14:34:58 | http.cr ... dler()) |
|
||||
test_HeaderAccess
|
||||
| src/http.js:9:3:9:17 | req.headers.foo | foo |
|
||||
| src/https.js:9:3:9:17 | req.headers.foo | foo |
|
||||
test_RemoteFlowSources
|
||||
| createServer.js:7:24:7:27 | data |
|
||||
| createServer.js:14:24:14:27 | data |
|
||||
| src/http.js:6:26:6:32 | req.url |
|
||||
| src/http.js:8:3:8:20 | req.headers.cookie |
|
||||
| src/http.js:9:3:9:17 | req.headers.foo |
|
||||
| src/http.js:29:26:29:33 | response |
|
||||
| src/http.js:30:28:30:32 | chunk |
|
||||
| src/http.js:40:23:40:30 | authInfo |
|
||||
| src/http.js:45:23:45:27 | error |
|
||||
| src/http.js:63:17:63:33 | req.query.myParam |
|
||||
| src/http.js:73:18:73:22 | chunk |
|
||||
| src/http.js:82:18:82:22 | chunk |
|
||||
| src/https.js:6:26:6:32 | req.url |
|
||||
| src/https.js:8:3:8:20 | req.headers.cookie |
|
||||
| src/https.js:9:3:9:17 | req.headers.foo |
|
||||
| src/indirect2.js:10:12:10:25 | req.params.key |
|
||||
| src/indirect.js:17:28:17:34 | req.url |
|
||||
test_RequestInputAccess
|
||||
| src/http.js:6:26:6:32 | req.url | url | src/http.js:4:32:10:1 | functio ... .foo;\\n} |
|
||||
| src/http.js:8:3:8:20 | req.headers.cookie | cookie | src/http.js:4:32:10:1 | functio ... .foo;\\n} |
|
||||
| src/http.js:9:3:9:17 | req.headers.foo | header | src/http.js:4:32:10:1 | functio ... .foo;\\n} |
|
||||
| src/https.js:6:26:6:32 | req.url | url | src/https.js:4:33:10:1 | functio ... .foo;\\n} |
|
||||
| src/https.js:8:3:8:20 | req.headers.cookie | cookie | src/https.js:4:33:10:1 | functio ... .foo;\\n} |
|
||||
| src/https.js:9:3:9:17 | req.headers.foo | header | src/https.js:4:33:10:1 | functio ... .foo;\\n} |
|
||||
| src/indirect.js:17:28:17:34 | req.url | url | src/indirect.js:16:12:20:5 | functio ... ;\\n } |
|
||||
test_ResponseSendArgument
|
||||
| createServer.js:26:17:26:25 | this.data | createServer.js:25:37:27:5 | functio ... ;\\n } |
|
||||
| src/http.js:14:13:14:17 | "foo" | src/http.js:12:19:16:1 | functio ... ar");\\n} |
|
||||
| src/http.js:15:11:15:15 | "bar" | src/http.js:12:19:16:1 | functio ... ar");\\n} |
|
||||
| src/http.js:64:11:64:16 | "bar2" | src/http.js:62:19:65:1 | functio ... r2");\\n} |
|
||||
| src/http.js:85:11:85:15 | "bla" | src/http.js:81:22:86:1 | functio ... la");\\n} |
|
||||
| src/https.js:14:13:14:17 | "foo" | src/https.js:12:20:16:1 | functio ... ar");\\n} |
|
||||
| src/https.js:15:11:15:15 | "bar" | src/https.js:12:20:16:1 | functio ... ar");\\n} |
|
||||
| src/indirect.js:26:13:26:17 | "foo" | src/indirect.js:25:24:27:3 | (req, r ... ");\\n } |
|
||||
| src/indirect.js:29:13:29:17 | "bar" | src/indirect.js:28:15:30:3 | functio ... ");\\n } |
|
||||
test_RouteSetup_getServer
|
||||
| createServer.js:2:1:2:42 | https.c ... es) {}) | createServer.js:2:1:2:42 | https.c ... es) {}) |
|
||||
| createServer.js:3:1:3:45 | https.c ... es) {}) | createServer.js:3:1:3:45 | https.c ... es) {}) |
|
||||
| createServer.js:4:1:4:47 | require ... => {}) | createServer.js:4:1:4:47 | require ... => {}) |
|
||||
| createServer.js:31:17:31:58 | http.cr ... dler()) | createServer.js:31:17:31:58 | http.cr ... dler()) |
|
||||
| src/http.js:4:14:10:2 | http.cr ... foo;\\n}) | src/http.js:4:14:10:2 | http.cr ... foo;\\n}) |
|
||||
| src/http.js:12:1:16:2 | http.cr ... r");\\n}) | src/http.js:12:1:16:2 | http.cr ... r");\\n}) |
|
||||
| src/http.js:57:1:57:31 | http.cr ... dler()) | src/http.js:57:1:57:31 | http.cr ... dler()) |
|
||||
| src/http.js:60:1:60:33 | createS ... res){}) | src/http.js:60:1:60:33 | createS ... res){}) |
|
||||
| src/http.js:62:1:65:2 | http.cr ... 2");\\n}) | src/http.js:62:1:65:2 | http.cr ... 2");\\n}) |
|
||||
| src/http.js:70:1:70:36 | http.cr ... dler()) | src/http.js:70:1:70:36 | http.cr ... dler()) |
|
||||
| src/http.js:72:1:76:2 | http.cr ... })\\n}) | src/http.js:72:1:76:2 | http.cr ... })\\n}) |
|
||||
| src/https.js:4:14:10:2 | https.c ... foo;\\n}) | src/https.js:4:14:10:2 | https.c ... foo;\\n}) |
|
||||
| src/https.js:12:1:16:2 | https.c ... r");\\n}) | src/https.js:12:1:16:2 | https.c ... r");\\n}) |
|
||||
| src/indirect2.js:18:14:18:35 | http.cr ... er(get) | src/indirect2.js:18:14:18:35 | http.cr ... er(get) |
|
||||
| src/indirect.js:34:14:34:58 | http.cr ... dler()) | src/indirect.js:34:14:34:58 | http.cr ... dler()) |
|
||||
test_SystemCommandExecution
|
||||
| es6-imported-exec.js:3:1:3:11 | exec("cmd") | es6-imported-exec.js:3:6:3:10 | "cmd" |
|
||||
| exec.js:3:1:3:38 | cp.exec ... "], cb) | exec.js:3:13:3:18 | "node" |
|
||||
| exec.js:4:1:4:47 | cp.exec ... sion"]) | exec.js:4:17:4:20 | "sh" |
|
||||
| exec.js:5:1:5:23 | cp.fork ... "arg"]) | exec.js:5:9:5:13 | "foo" |
|
||||
| exec.js:6:1:6:28 | cp.spaw ... "], cb) | exec.js:6:10:6:15 | "echo" |
|
||||
| exec.js:7:1:7:37 | cp.spaw ... here"]) | exec.js:7:14:7:19 | "echo" |
|
||||
test_HeaderDefinition_defines
|
||||
| src/http.js:13:3:13:44 | res.set ... /html') | content-type | text/html |
|
||||
| src/https.js:13:3:13:44 | res.set ... /html') | content-type | text/html |
|
||||
| src/indirect2.js:14:3:14:51 | res.set ... /json') | content-type | application/json |
|
||||
test_ClientRequest_getADataNode
|
||||
| src/http.js:27:16:27:73 | http.re ... POST'}) | src/http.js:50:16:50:22 | 'stuff' |
|
||||
| src/http.js:27:16:27:73 | http.re ... POST'}) | src/http.js:51:14:51:25 | 'more stuff' |
|
||||
test_RouteSetup_getARouteHandler
|
||||
| createServer.js:2:1:2:42 | https.c ... es) {}) | createServer.js:2:20:2:41 | functio ... res) {} |
|
||||
| createServer.js:3:1:3:45 | https.c ... es) {}) | createServer.js:3:23:3:44 | functio ... res) {} |
|
||||
| createServer.js:4:1:4:47 | require ... => {}) | createServer.js:4:31:4:46 | (req, res) => {} |
|
||||
| createServer.js:31:17:31:58 | http.cr ... dler()) | createServer.js:22:41:24:5 | return of anonymous function |
|
||||
| createServer.js:31:17:31:58 | http.cr ... dler()) | createServer.js:23:16:23:33 | this.handleRequest |
|
||||
| createServer.js:31:17:31:58 | http.cr ... dler()) | createServer.js:23:16:23:44 | this.ha ... d(this) |
|
||||
| createServer.js:31:17:31:58 | http.cr ... dler()) | createServer.js:25:37:27:5 | functio ... ;\\n } |
|
||||
| createServer.js:31:17:31:58 | http.cr ... dler()) | createServer.js:31:35:31:57 | app.get ... ndler() |
|
||||
| src/http.js:4:14:10:2 | http.cr ... foo;\\n}) | src/http.js:4:32:10:1 | functio ... .foo;\\n} |
|
||||
| src/http.js:12:1:16:2 | http.cr ... r");\\n}) | src/http.js:12:19:16:1 | functio ... ar");\\n} |
|
||||
| src/http.js:57:1:57:31 | http.cr ... dler()) | src/http.js:54:1:56:1 | return of function getHandler |
|
||||
| src/http.js:57:1:57:31 | http.cr ... dler()) | src/http.js:55:12:55:30 | function(req,res){} |
|
||||
| src/http.js:57:1:57:31 | http.cr ... dler()) | src/http.js:57:19:57:30 | getHandler() |
|
||||
| src/http.js:60:1:60:33 | createS ... res){}) | src/http.js:60:14:60:32 | function(req,res){} |
|
||||
| src/http.js:62:1:65:2 | http.cr ... 2");\\n}) | src/http.js:62:19:65:1 | functio ... r2");\\n} |
|
||||
| src/http.js:70:1:70:36 | http.cr ... dler()) | src/http.js:67:1:69:1 | return of function getArrowHandler |
|
||||
| src/http.js:70:1:70:36 | http.cr ... dler()) | src/http.js:68:12:68:27 | (req,res) => f() |
|
||||
| src/http.js:70:1:70:36 | http.cr ... dler()) | src/http.js:70:19:70:35 | getArrowHandler() |
|
||||
| src/http.js:72:1:76:2 | http.cr ... })\\n}) | src/http.js:72:19:76:1 | functio ... \\n })\\n} |
|
||||
| src/https.js:4:14:10:2 | https.c ... foo;\\n}) | src/https.js:4:33:10:1 | functio ... .foo;\\n} |
|
||||
| src/https.js:12:1:16:2 | https.c ... r");\\n}) | src/https.js:12:20:16:1 | functio ... ar");\\n} |
|
||||
| src/indirect2.js:18:14:18:35 | http.cr ... er(get) | src/indirect2.js:9:1:11:1 | functio ... res);\\n} |
|
||||
| src/indirect2.js:18:14:18:35 | http.cr ... er(get) | src/indirect2.js:10:3:10:40 | handler ... Case()] |
|
||||
| src/indirect2.js:18:14:18:35 | http.cr ... er(get) | src/indirect2.js:13:1:16:1 | functio ... \\"");\\n} |
|
||||
| src/indirect.js:34:14:34:58 | http.cr ... dler()) | src/indirect.js:14:19:21:3 | return of method requestHandler |
|
||||
| src/indirect.js:34:14:34:58 | http.cr ... dler()) | src/indirect.js:16:12:20:5 | functio ... ;\\n } |
|
||||
| src/indirect.js:34:14:34:58 | http.cr ... dler()) | src/indirect.js:16:12:20:16 | functio ... d(this) |
|
||||
| src/indirect.js:34:14:34:58 | http.cr ... dler()) | src/indirect.js:17:21:17:35 | routes[req.url] |
|
||||
| src/indirect.js:34:14:34:58 | http.cr ... dler()) | src/indirect.js:17:40:17:50 | routes['*'] |
|
||||
| src/indirect.js:34:14:34:58 | http.cr ... dler()) | src/indirect.js:25:24:27:3 | (req, r ... ");\\n } |
|
||||
| src/indirect.js:34:14:34:58 | http.cr ... dler()) | src/indirect.js:28:15:30:3 | functio ... ");\\n } |
|
||||
| src/indirect.js:34:14:34:58 | http.cr ... dler()) | src/indirect.js:34:32:34:57 | appServ ... ndler() |
|
||||
test_HeaderDefinition_getNameExpr
|
||||
| src/http.js:7:3:7:42 | res.wri ... rget }) | src/http.js:7:17:7:19 | 302 |
|
||||
| src/http.js:13:3:13:44 | res.set ... /html') | src/http.js:13:17:13:30 | 'Content-Type' |
|
||||
@@ -163,6 +277,47 @@ test_HeaderDefinition_getNameExpr
|
||||
| src/https.js:7:3:7:42 | res.wri ... rget }) | src/https.js:7:17:7:19 | 302 |
|
||||
| src/https.js:13:3:13:44 | res.set ... /html') | src/https.js:13:17:13:30 | 'Content-Type' |
|
||||
| src/indirect2.js:14:3:14:51 | res.set ... /json') | src/indirect2.js:14:17:14:30 | 'Content-Type' |
|
||||
test_RouteHandler_getARequestExpr
|
||||
| createServer.js:2:20:2:41 | functio ... res) {} | createServer.js:2:30:2:32 | req |
|
||||
| createServer.js:3:23:3:44 | functio ... res) {} | createServer.js:3:33:3:35 | req |
|
||||
| createServer.js:4:31:4:46 | (req, res) => {} | createServer.js:4:32:4:34 | req |
|
||||
| createServer.js:25:37:27:5 | functio ... ;\\n } | createServer.js:25:47:25:49 | req |
|
||||
| src/http.js:4:32:10:1 | functio ... .foo;\\n} | src/http.js:4:41:4:43 | req |
|
||||
| src/http.js:4:32:10:1 | functio ... .foo;\\n} | src/http.js:4:41:4:43 | req |
|
||||
| src/http.js:4:32:10:1 | functio ... .foo;\\n} | src/http.js:6:26:6:28 | req |
|
||||
| src/http.js:4:32:10:1 | functio ... .foo;\\n} | src/http.js:8:3:8:5 | req |
|
||||
| src/http.js:4:32:10:1 | functio ... .foo;\\n} | src/http.js:9:3:9:5 | req |
|
||||
| src/http.js:12:19:16:1 | functio ... ar");\\n} | src/http.js:12:28:12:30 | req |
|
||||
| src/http.js:55:12:55:30 | function(req,res){} | src/http.js:55:21:55:23 | req |
|
||||
| src/http.js:60:14:60:32 | function(req,res){} | src/http.js:60:23:60:25 | req |
|
||||
| src/http.js:62:19:65:1 | functio ... r2");\\n} | src/http.js:62:28:62:30 | req |
|
||||
| src/http.js:62:19:65:1 | functio ... r2");\\n} | src/http.js:62:28:62:30 | req |
|
||||
| src/http.js:62:19:65:1 | functio ... r2");\\n} | src/http.js:63:17:63:19 | req |
|
||||
| src/http.js:68:12:68:27 | (req,res) => f() | src/http.js:68:13:68:15 | req |
|
||||
| src/http.js:72:19:76:1 | functio ... \\n })\\n} | src/http.js:72:29:72:31 | req |
|
||||
| src/http.js:72:19:76:1 | functio ... \\n })\\n} | src/http.js:72:29:72:31 | req |
|
||||
| src/http.js:72:19:76:1 | functio ... \\n })\\n} | src/http.js:73:3:73:5 | req |
|
||||
| src/http.js:81:22:86:1 | functio ... la");\\n} | src/http.js:81:41:81:43 | req |
|
||||
| src/http.js:81:22:86:1 | functio ... la");\\n} | src/http.js:81:41:81:43 | req |
|
||||
| src/http.js:81:22:86:1 | functio ... la");\\n} | src/http.js:82:3:82:5 | req |
|
||||
| src/https.js:4:33:10:1 | functio ... .foo;\\n} | src/https.js:4:42:4:44 | req |
|
||||
| src/https.js:4:33:10:1 | functio ... .foo;\\n} | src/https.js:4:42:4:44 | req |
|
||||
| src/https.js:4:33:10:1 | functio ... .foo;\\n} | src/https.js:6:26:6:28 | req |
|
||||
| src/https.js:4:33:10:1 | functio ... .foo;\\n} | src/https.js:8:3:8:5 | req |
|
||||
| src/https.js:4:33:10:1 | functio ... .foo;\\n} | src/https.js:9:3:9:5 | req |
|
||||
| src/https.js:12:20:16:1 | functio ... ar");\\n} | src/https.js:12:29:12:31 | req |
|
||||
| src/indirect2.js:9:1:11:1 | functio ... res);\\n} | src/indirect2.js:9:14:9:16 | req |
|
||||
| src/indirect2.js:9:1:11:1 | functio ... res);\\n} | src/indirect2.js:9:14:9:16 | req |
|
||||
| src/indirect2.js:9:1:11:1 | functio ... res);\\n} | src/indirect2.js:10:12:10:14 | req |
|
||||
| src/indirect2.js:9:1:11:1 | functio ... res);\\n} | src/indirect2.js:10:42:10:44 | req |
|
||||
| src/indirect2.js:9:1:11:1 | functio ... res);\\n} | src/indirect2.js:13:28:13:30 | req |
|
||||
| src/indirect2.js:13:1:16:1 | functio ... \\"");\\n} | src/indirect2.js:13:28:13:30 | req |
|
||||
| src/indirect.js:16:12:20:5 | functio ... ;\\n } | src/indirect.js:16:21:16:23 | req |
|
||||
| src/indirect.js:16:12:20:5 | functio ... ;\\n } | src/indirect.js:16:21:16:23 | req |
|
||||
| src/indirect.js:16:12:20:5 | functio ... ;\\n } | src/indirect.js:17:28:17:30 | req |
|
||||
| src/indirect.js:16:12:20:5 | functio ... ;\\n } | src/indirect.js:19:33:19:35 | req |
|
||||
| src/indirect.js:25:24:27:3 | (req, r ... ");\\n } | src/indirect.js:25:25:25:27 | req |
|
||||
| src/indirect.js:28:15:30:3 | functio ... ");\\n } | src/indirect.js:28:24:28:26 | req |
|
||||
test_RouteHandler_getAResponseExpr
|
||||
| createServer.js:2:20:2:41 | functio ... res) {} | createServer.js:2:35:2:37 | res |
|
||||
| createServer.js:3:23:3:44 | functio ... res) {} | createServer.js:3:38:3:40 | res |
|
||||
@@ -224,6 +379,19 @@ test_RouteHandler_getAResponseExpr
|
||||
| src/indirect.js:28:15:30:3 | functio ... ");\\n } | src/indirect.js:28:29:28:31 | res |
|
||||
| src/indirect.js:28:15:30:3 | functio ... ");\\n } | src/indirect.js:28:29:28:31 | res |
|
||||
| src/indirect.js:28:15:30:3 | functio ... ");\\n } | src/indirect.js:29:5:29:7 | res |
|
||||
test_HeaderDefinition_getAHeaderName
|
||||
| src/http.js:7:3:7:42 | res.wri ... rget }) | location |
|
||||
| src/http.js:13:3:13:44 | res.set ... /html') | content-type |
|
||||
| src/https.js:7:3:7:42 | res.wri ... rget }) | location |
|
||||
| src/https.js:13:3:13:44 | res.set ... /html') | content-type |
|
||||
| src/indirect2.js:14:3:14:51 | res.set ... /json') | content-type |
|
||||
test_RouteHandler_getAResponseHeader
|
||||
| src/http.js:4:32:10:1 | functio ... .foo;\\n} | location | src/http.js:7:3:7:42 | res.wri ... rget }) |
|
||||
| src/http.js:12:19:16:1 | functio ... ar");\\n} | content-type | src/http.js:13:3:13:44 | res.set ... /html') |
|
||||
| src/https.js:4:33:10:1 | functio ... .foo;\\n} | location | src/https.js:7:3:7:42 | res.wri ... rget }) |
|
||||
| src/https.js:12:20:16:1 | functio ... ar");\\n} | content-type | src/https.js:13:3:13:44 | res.set ... /html') |
|
||||
| src/indirect2.js:9:1:11:1 | functio ... res);\\n} | content-type | src/indirect2.js:14:3:14:51 | res.set ... /json') |
|
||||
| src/indirect2.js:13:1:16:1 | functio ... \\"");\\n} | content-type | src/indirect2.js:14:3:14:51 | res.set ... /json') |
|
||||
test_ServerDefinition_getARouteHandler
|
||||
| createServer.js:2:1:2:42 | https.c ... es) {}) | createServer.js:2:20:2:41 | functio ... res) {} |
|
||||
| createServer.js:3:1:3:45 | https.c ... es) {}) | createServer.js:3:23:3:44 | functio ... res) {} |
|
||||
@@ -243,177 +411,9 @@ test_ServerDefinition_getARouteHandler
|
||||
| src/indirect.js:34:14:34:58 | http.cr ... dler()) | src/indirect.js:16:12:20:5 | functio ... ;\\n } |
|
||||
| src/indirect.js:34:14:34:58 | http.cr ... dler()) | src/indirect.js:25:24:27:3 | (req, r ... ");\\n } |
|
||||
| src/indirect.js:34:14:34:58 | http.cr ... dler()) | src/indirect.js:28:15:30:3 | functio ... ");\\n } |
|
||||
test_ResponseSendArgument
|
||||
| createServer.js:26:17:26:25 | this.data | createServer.js:25:37:27:5 | functio ... ;\\n } |
|
||||
| src/http.js:14:13:14:17 | "foo" | src/http.js:12:19:16:1 | functio ... ar");\\n} |
|
||||
| src/http.js:15:11:15:15 | "bar" | src/http.js:12:19:16:1 | functio ... ar");\\n} |
|
||||
| src/http.js:64:11:64:16 | "bar2" | src/http.js:62:19:65:1 | functio ... r2");\\n} |
|
||||
| src/http.js:85:11:85:15 | "bla" | src/http.js:81:22:86:1 | functio ... la");\\n} |
|
||||
| src/https.js:14:13:14:17 | "foo" | src/https.js:12:20:16:1 | functio ... ar");\\n} |
|
||||
| src/https.js:15:11:15:15 | "bar" | src/https.js:12:20:16:1 | functio ... ar");\\n} |
|
||||
| src/indirect.js:26:13:26:17 | "foo" | src/indirect.js:25:24:27:3 | (req, r ... ");\\n } |
|
||||
| src/indirect.js:29:13:29:17 | "bar" | src/indirect.js:28:15:30:3 | functio ... ");\\n } |
|
||||
test_RouteSetup_getARouteHandler
|
||||
| createServer.js:2:1:2:42 | https.c ... es) {}) | createServer.js:2:20:2:41 | functio ... res) {} |
|
||||
| createServer.js:3:1:3:45 | https.c ... es) {}) | createServer.js:3:23:3:44 | functio ... res) {} |
|
||||
| createServer.js:4:1:4:47 | require ... => {}) | createServer.js:4:31:4:46 | (req, res) => {} |
|
||||
| createServer.js:31:17:31:58 | http.cr ... dler()) | createServer.js:22:41:24:5 | return of anonymous function |
|
||||
| createServer.js:31:17:31:58 | http.cr ... dler()) | createServer.js:23:16:23:33 | this.handleRequest |
|
||||
| createServer.js:31:17:31:58 | http.cr ... dler()) | createServer.js:23:16:23:44 | this.ha ... d(this) |
|
||||
| createServer.js:31:17:31:58 | http.cr ... dler()) | createServer.js:25:37:27:5 | functio ... ;\\n } |
|
||||
| createServer.js:31:17:31:58 | http.cr ... dler()) | createServer.js:31:35:31:57 | app.get ... ndler() |
|
||||
| src/http.js:4:14:10:2 | http.cr ... foo;\\n}) | src/http.js:4:32:10:1 | functio ... .foo;\\n} |
|
||||
| src/http.js:12:1:16:2 | http.cr ... r");\\n}) | src/http.js:12:19:16:1 | functio ... ar");\\n} |
|
||||
| src/http.js:57:1:57:31 | http.cr ... dler()) | src/http.js:54:1:56:1 | return of function getHandler |
|
||||
| src/http.js:57:1:57:31 | http.cr ... dler()) | src/http.js:55:12:55:30 | function(req,res){} |
|
||||
| src/http.js:57:1:57:31 | http.cr ... dler()) | src/http.js:57:19:57:30 | getHandler() |
|
||||
| src/http.js:60:1:60:33 | createS ... res){}) | src/http.js:60:14:60:32 | function(req,res){} |
|
||||
| src/http.js:62:1:65:2 | http.cr ... 2");\\n}) | src/http.js:62:19:65:1 | functio ... r2");\\n} |
|
||||
| src/http.js:70:1:70:36 | http.cr ... dler()) | src/http.js:67:1:69:1 | return of function getArrowHandler |
|
||||
| src/http.js:70:1:70:36 | http.cr ... dler()) | src/http.js:68:12:68:27 | (req,res) => f() |
|
||||
| src/http.js:70:1:70:36 | http.cr ... dler()) | src/http.js:70:19:70:35 | getArrowHandler() |
|
||||
| src/http.js:72:1:76:2 | http.cr ... })\\n}) | src/http.js:72:19:76:1 | functio ... \\n })\\n} |
|
||||
| src/https.js:4:14:10:2 | https.c ... foo;\\n}) | src/https.js:4:33:10:1 | functio ... .foo;\\n} |
|
||||
| src/https.js:12:1:16:2 | https.c ... r");\\n}) | src/https.js:12:20:16:1 | functio ... ar");\\n} |
|
||||
| src/indirect2.js:18:14:18:35 | http.cr ... er(get) | src/indirect2.js:9:1:11:1 | functio ... res);\\n} |
|
||||
| src/indirect2.js:18:14:18:35 | http.cr ... er(get) | src/indirect2.js:10:3:10:40 | handler ... Case()] |
|
||||
| src/indirect2.js:18:14:18:35 | http.cr ... er(get) | src/indirect2.js:13:1:16:1 | functio ... \\"");\\n} |
|
||||
| src/indirect.js:34:14:34:58 | http.cr ... dler()) | src/indirect.js:14:19:21:3 | return of method requestHandler |
|
||||
| src/indirect.js:34:14:34:58 | http.cr ... dler()) | src/indirect.js:16:12:20:5 | functio ... ;\\n } |
|
||||
| src/indirect.js:34:14:34:58 | http.cr ... dler()) | src/indirect.js:16:12:20:16 | functio ... d(this) |
|
||||
| src/indirect.js:34:14:34:58 | http.cr ... dler()) | src/indirect.js:17:21:17:35 | routes[req.url] |
|
||||
| src/indirect.js:34:14:34:58 | http.cr ... dler()) | src/indirect.js:17:40:17:50 | routes['*'] |
|
||||
| src/indirect.js:34:14:34:58 | http.cr ... dler()) | src/indirect.js:25:24:27:3 | (req, r ... ");\\n } |
|
||||
| src/indirect.js:34:14:34:58 | http.cr ... dler()) | src/indirect.js:28:15:30:3 | functio ... ");\\n } |
|
||||
| src/indirect.js:34:14:34:58 | http.cr ... dler()) | src/indirect.js:34:32:34:57 | appServ ... ndler() |
|
||||
test_ClientRequest_getADataNode
|
||||
| src/http.js:27:16:27:73 | http.re ... POST'}) | src/http.js:50:16:50:22 | 'stuff' |
|
||||
| src/http.js:27:16:27:73 | http.re ... POST'}) | src/http.js:51:14:51:25 | 'more stuff' |
|
||||
test_RemoteFlowSources
|
||||
| createServer.js:7:24:7:27 | data |
|
||||
| createServer.js:14:24:14:27 | data |
|
||||
| src/http.js:6:26:6:32 | req.url |
|
||||
| src/http.js:8:3:8:20 | req.headers.cookie |
|
||||
| src/http.js:9:3:9:17 | req.headers.foo |
|
||||
| src/http.js:29:26:29:33 | response |
|
||||
| src/http.js:30:28:30:32 | chunk |
|
||||
| src/http.js:40:23:40:30 | authInfo |
|
||||
| src/http.js:45:23:45:27 | error |
|
||||
| src/http.js:63:17:63:33 | req.query.myParam |
|
||||
| src/http.js:73:18:73:22 | chunk |
|
||||
| src/http.js:82:18:82:22 | chunk |
|
||||
| src/https.js:6:26:6:32 | req.url |
|
||||
| src/https.js:8:3:8:20 | req.headers.cookie |
|
||||
| src/https.js:9:3:9:17 | req.headers.foo |
|
||||
| src/indirect2.js:10:12:10:25 | req.params.key |
|
||||
| src/indirect.js:17:28:17:34 | req.url |
|
||||
test_RouteHandler
|
||||
| createServer.js:2:20:2:41 | functio ... res) {} | createServer.js:2:1:2:42 | https.c ... es) {}) |
|
||||
| createServer.js:3:23:3:44 | functio ... res) {} | createServer.js:3:1:3:45 | https.c ... es) {}) |
|
||||
| createServer.js:4:31:4:46 | (req, res) => {} | createServer.js:4:1:4:47 | require ... => {}) |
|
||||
| createServer.js:25:37:27:5 | functio ... ;\\n } | createServer.js:31:17:31:58 | http.cr ... dler()) |
|
||||
| src/http.js:4:32:10:1 | functio ... .foo;\\n} | src/http.js:4:14:10:2 | http.cr ... foo;\\n}) |
|
||||
| src/http.js:12:19:16:1 | functio ... ar");\\n} | src/http.js:12:1:16:2 | http.cr ... r");\\n}) |
|
||||
| src/http.js:55:12:55:30 | function(req,res){} | src/http.js:57:1:57:31 | http.cr ... dler()) |
|
||||
| src/http.js:60:14:60:32 | function(req,res){} | src/http.js:60:1:60:33 | createS ... res){}) |
|
||||
| src/http.js:62:19:65:1 | functio ... r2");\\n} | src/http.js:62:1:65:2 | http.cr ... 2");\\n}) |
|
||||
| src/http.js:68:12:68:27 | (req,res) => f() | src/http.js:70:1:70:36 | http.cr ... dler()) |
|
||||
| src/http.js:72:19:76:1 | functio ... \\n })\\n} | src/http.js:72:1:76:2 | http.cr ... })\\n}) |
|
||||
| src/https.js:4:33:10:1 | functio ... .foo;\\n} | src/https.js:4:14:10:2 | https.c ... foo;\\n}) |
|
||||
| src/https.js:12:20:16:1 | functio ... ar");\\n} | src/https.js:12:1:16:2 | https.c ... r");\\n}) |
|
||||
| src/indirect2.js:9:1:11:1 | functio ... res);\\n} | src/indirect2.js:18:14:18:35 | http.cr ... er(get) |
|
||||
| src/indirect2.js:13:1:16:1 | functio ... \\"");\\n} | src/indirect2.js:18:14:18:35 | http.cr ... er(get) |
|
||||
| src/indirect.js:16:12:20:5 | functio ... ;\\n } | src/indirect.js:34:14:34:58 | http.cr ... dler()) |
|
||||
| src/indirect.js:25:24:27:3 | (req, r ... ");\\n } | src/indirect.js:34:14:34:58 | http.cr ... dler()) |
|
||||
| src/indirect.js:28:15:30:3 | functio ... ");\\n } | src/indirect.js:34:14:34:58 | http.cr ... dler()) |
|
||||
test_RequestExpr
|
||||
| createServer.js:2:30:2:32 | req | createServer.js:2:20:2:41 | functio ... res) {} |
|
||||
| createServer.js:3:33:3:35 | req | createServer.js:3:23:3:44 | functio ... res) {} |
|
||||
| createServer.js:4:32:4:34 | req | createServer.js:4:31:4:46 | (req, res) => {} |
|
||||
| createServer.js:25:47:25:49 | req | createServer.js:25:37:27:5 | functio ... ;\\n } |
|
||||
| src/http.js:4:41:4:43 | req | src/http.js:4:32:10:1 | functio ... .foo;\\n} |
|
||||
| src/http.js:4:41:4:43 | req | src/http.js:4:32:10:1 | functio ... .foo;\\n} |
|
||||
| src/http.js:6:26:6:28 | req | src/http.js:4:32:10:1 | functio ... .foo;\\n} |
|
||||
| src/http.js:8:3:8:5 | req | src/http.js:4:32:10:1 | functio ... .foo;\\n} |
|
||||
| src/http.js:9:3:9:5 | req | src/http.js:4:32:10:1 | functio ... .foo;\\n} |
|
||||
| src/http.js:12:28:12:30 | req | src/http.js:12:19:16:1 | functio ... ar");\\n} |
|
||||
| src/http.js:55:21:55:23 | req | src/http.js:55:12:55:30 | function(req,res){} |
|
||||
| src/http.js:60:23:60:25 | req | src/http.js:60:14:60:32 | function(req,res){} |
|
||||
| src/http.js:62:28:62:30 | req | src/http.js:62:19:65:1 | functio ... r2");\\n} |
|
||||
| src/http.js:62:28:62:30 | req | src/http.js:62:19:65:1 | functio ... r2");\\n} |
|
||||
| src/http.js:63:17:63:19 | req | src/http.js:62:19:65:1 | functio ... r2");\\n} |
|
||||
| src/http.js:68:13:68:15 | req | src/http.js:68:12:68:27 | (req,res) => f() |
|
||||
| src/http.js:72:29:72:31 | req | src/http.js:72:19:76:1 | functio ... \\n })\\n} |
|
||||
| src/http.js:72:29:72:31 | req | src/http.js:72:19:76:1 | functio ... \\n })\\n} |
|
||||
| src/http.js:73:3:73:5 | req | src/http.js:72:19:76:1 | functio ... \\n })\\n} |
|
||||
| src/http.js:81:41:81:43 | req | src/http.js:81:22:86:1 | functio ... la");\\n} |
|
||||
| src/http.js:81:41:81:43 | req | src/http.js:81:22:86:1 | functio ... la");\\n} |
|
||||
| src/http.js:82:3:82:5 | req | src/http.js:81:22:86:1 | functio ... la");\\n} |
|
||||
| src/https.js:4:42:4:44 | req | src/https.js:4:33:10:1 | functio ... .foo;\\n} |
|
||||
| src/https.js:4:42:4:44 | req | src/https.js:4:33:10:1 | functio ... .foo;\\n} |
|
||||
| src/https.js:6:26:6:28 | req | src/https.js:4:33:10:1 | functio ... .foo;\\n} |
|
||||
| src/https.js:8:3:8:5 | req | src/https.js:4:33:10:1 | functio ... .foo;\\n} |
|
||||
| src/https.js:9:3:9:5 | req | src/https.js:4:33:10:1 | functio ... .foo;\\n} |
|
||||
| src/https.js:12:29:12:31 | req | src/https.js:12:20:16:1 | functio ... ar");\\n} |
|
||||
| src/indirect2.js:9:14:9:16 | req | src/indirect2.js:9:1:11:1 | functio ... res);\\n} |
|
||||
| src/indirect2.js:9:14:9:16 | req | src/indirect2.js:9:1:11:1 | functio ... res);\\n} |
|
||||
| src/indirect2.js:10:12:10:14 | req | src/indirect2.js:9:1:11:1 | functio ... res);\\n} |
|
||||
| src/indirect2.js:10:42:10:44 | req | src/indirect2.js:9:1:11:1 | functio ... res);\\n} |
|
||||
| src/indirect2.js:13:28:13:30 | req | src/indirect2.js:9:1:11:1 | functio ... res);\\n} |
|
||||
| src/indirect2.js:13:28:13:30 | req | src/indirect2.js:13:1:16:1 | functio ... \\"");\\n} |
|
||||
| src/indirect.js:16:21:16:23 | req | src/indirect.js:16:12:20:5 | functio ... ;\\n } |
|
||||
| src/indirect.js:16:21:16:23 | req | src/indirect.js:16:12:20:5 | functio ... ;\\n } |
|
||||
| src/indirect.js:17:28:17:30 | req | src/indirect.js:16:12:20:5 | functio ... ;\\n } |
|
||||
| src/indirect.js:19:33:19:35 | req | src/indirect.js:16:12:20:5 | functio ... ;\\n } |
|
||||
| src/indirect.js:25:25:25:27 | req | src/indirect.js:25:24:27:3 | (req, r ... ");\\n } |
|
||||
| src/indirect.js:28:24:28:26 | req | src/indirect.js:28:15:30:3 | functio ... ");\\n } |
|
||||
test_SystemCommandExecution_getAnArgumentForCommand
|
||||
| exec.js:3:1:3:38 | cp.exec ... "], cb) | exec.js:3:21:3:33 | ["--version"] |
|
||||
| exec.js:4:1:4:47 | cp.exec ... sion"]) | exec.js:4:23:4:46 | ["-c", ... rsion"] |
|
||||
| exec.js:5:1:5:23 | cp.fork ... "arg"]) | exec.js:5:16:5:22 | ["arg"] |
|
||||
| exec.js:6:1:6:28 | cp.spaw ... "], cb) | exec.js:6:18:6:23 | ["Hi"] |
|
||||
| exec.js:7:1:7:37 | cp.spaw ... here"]) | exec.js:7:22:7:36 | ["Hi", "there"] |
|
||||
test_Credentials
|
||||
| src/http.js:18:22:18:27 | "auth" | credentials |
|
||||
| src/https.js:18:23:18:28 | "auth" | credentials |
|
||||
test_RouteHandler_getARequestExpr
|
||||
| createServer.js:2:20:2:41 | functio ... res) {} | createServer.js:2:30:2:32 | req |
|
||||
| createServer.js:3:23:3:44 | functio ... res) {} | createServer.js:3:33:3:35 | req |
|
||||
| createServer.js:4:31:4:46 | (req, res) => {} | createServer.js:4:32:4:34 | req |
|
||||
| createServer.js:25:37:27:5 | functio ... ;\\n } | createServer.js:25:47:25:49 | req |
|
||||
| src/http.js:4:32:10:1 | functio ... .foo;\\n} | src/http.js:4:41:4:43 | req |
|
||||
| src/http.js:4:32:10:1 | functio ... .foo;\\n} | src/http.js:4:41:4:43 | req |
|
||||
| src/http.js:4:32:10:1 | functio ... .foo;\\n} | src/http.js:6:26:6:28 | req |
|
||||
| src/http.js:4:32:10:1 | functio ... .foo;\\n} | src/http.js:8:3:8:5 | req |
|
||||
| src/http.js:4:32:10:1 | functio ... .foo;\\n} | src/http.js:9:3:9:5 | req |
|
||||
| src/http.js:12:19:16:1 | functio ... ar");\\n} | src/http.js:12:28:12:30 | req |
|
||||
| src/http.js:55:12:55:30 | function(req,res){} | src/http.js:55:21:55:23 | req |
|
||||
| src/http.js:60:14:60:32 | function(req,res){} | src/http.js:60:23:60:25 | req |
|
||||
| src/http.js:62:19:65:1 | functio ... r2");\\n} | src/http.js:62:28:62:30 | req |
|
||||
| src/http.js:62:19:65:1 | functio ... r2");\\n} | src/http.js:62:28:62:30 | req |
|
||||
| src/http.js:62:19:65:1 | functio ... r2");\\n} | src/http.js:63:17:63:19 | req |
|
||||
| src/http.js:68:12:68:27 | (req,res) => f() | src/http.js:68:13:68:15 | req |
|
||||
| src/http.js:72:19:76:1 | functio ... \\n })\\n} | src/http.js:72:29:72:31 | req |
|
||||
| src/http.js:72:19:76:1 | functio ... \\n })\\n} | src/http.js:72:29:72:31 | req |
|
||||
| src/http.js:72:19:76:1 | functio ... \\n })\\n} | src/http.js:73:3:73:5 | req |
|
||||
| src/http.js:81:22:86:1 | functio ... la");\\n} | src/http.js:81:41:81:43 | req |
|
||||
| src/http.js:81:22:86:1 | functio ... la");\\n} | src/http.js:81:41:81:43 | req |
|
||||
| src/http.js:81:22:86:1 | functio ... la");\\n} | src/http.js:82:3:82:5 | req |
|
||||
| src/https.js:4:33:10:1 | functio ... .foo;\\n} | src/https.js:4:42:4:44 | req |
|
||||
| src/https.js:4:33:10:1 | functio ... .foo;\\n} | src/https.js:4:42:4:44 | req |
|
||||
| src/https.js:4:33:10:1 | functio ... .foo;\\n} | src/https.js:6:26:6:28 | req |
|
||||
| src/https.js:4:33:10:1 | functio ... .foo;\\n} | src/https.js:8:3:8:5 | req |
|
||||
| src/https.js:4:33:10:1 | functio ... .foo;\\n} | src/https.js:9:3:9:5 | req |
|
||||
| src/https.js:12:20:16:1 | functio ... ar");\\n} | src/https.js:12:29:12:31 | req |
|
||||
| src/indirect2.js:9:1:11:1 | functio ... res);\\n} | src/indirect2.js:9:14:9:16 | req |
|
||||
| src/indirect2.js:9:1:11:1 | functio ... res);\\n} | src/indirect2.js:9:14:9:16 | req |
|
||||
| src/indirect2.js:9:1:11:1 | functio ... res);\\n} | src/indirect2.js:10:12:10:14 | req |
|
||||
| src/indirect2.js:9:1:11:1 | functio ... res);\\n} | src/indirect2.js:10:42:10:44 | req |
|
||||
| src/indirect2.js:9:1:11:1 | functio ... res);\\n} | src/indirect2.js:13:28:13:30 | req |
|
||||
| src/indirect2.js:13:1:16:1 | functio ... \\"");\\n} | src/indirect2.js:13:28:13:30 | req |
|
||||
| src/indirect.js:16:12:20:5 | functio ... ;\\n } | src/indirect.js:16:21:16:23 | req |
|
||||
| src/indirect.js:16:12:20:5 | functio ... ;\\n } | src/indirect.js:16:21:16:23 | req |
|
||||
| src/indirect.js:16:12:20:5 | functio ... ;\\n } | src/indirect.js:17:28:17:30 | req |
|
||||
| src/indirect.js:16:12:20:5 | functio ... ;\\n } | src/indirect.js:19:33:19:35 | req |
|
||||
| src/indirect.js:25:24:27:3 | (req, r ... ");\\n } | src/indirect.js:25:25:25:27 | req |
|
||||
| src/indirect.js:28:15:30:3 | functio ... ");\\n } | src/indirect.js:28:24:28:26 | req |
|
||||
|
||||
@@ -1,43 +1,3 @@
|
||||
test_getADirectStateAccess
|
||||
| es6.js:14:1:20:1 | class H ... }\\n} | es6.js:16:9:16:18 | this.state |
|
||||
| es6.js:14:1:20:1 | class H ... }\\n} | es6.js:17:9:17:18 | this.state |
|
||||
| es6.js:14:1:20:1 | class H ... }\\n} | es6.js:18:9:18:18 | this.state |
|
||||
| preact.js:1:1:7:1 | class H ... }\\n} | preact.js:2:19:2:23 | state |
|
||||
| statePropertyReads.js:1:1:13:1 | class R ... }\\n} | statePropertyReads.js:3:9:3:18 | this.state |
|
||||
| statePropertyReads.js:1:1:13:1 | class R ... }\\n} | statePropertyReads.js:5:9:5:18 | this.state |
|
||||
| statePropertyWrites.js:1:1:34:1 | class W ... };\\n} | statePropertyWrites.js:4:9:4:17 | cmp.state |
|
||||
| statePropertyWrites.js:1:1:34:1 | class W ... };\\n} | statePropertyWrites.js:6:9:6:17 | cmp.state |
|
||||
| statePropertyWrites.js:1:1:34:1 | class W ... };\\n} | statePropertyWrites.js:10:9:10:17 | cmp.state |
|
||||
| thisAccesses.js:47:1:52:1 | class C ... }\\n} | thisAccesses.js:49:9:49:18 | this.state |
|
||||
| thisAccesses.js:47:1:52:1 | class C ... }\\n} | thisAccesses.js:50:9:50:18 | this.state |
|
||||
test_ReactComponent_getInstanceMethod
|
||||
| es5.js:1:31:11:1 | {\\n dis ... ;\\n }\\n} | getDefaultProps | es5.js:6:20:10:3 | functio ... };\\n } |
|
||||
| es5.js:1:31:11:1 | {\\n dis ... ;\\n }\\n} | render | es5.js:3:11:5:3 | functio ... v>;\\n } |
|
||||
| es5.js:18:33:22:1 | {\\n ren ... ;\\n }\\n} | render | es5.js:19:11:21:3 | functio ... 1>;\\n } |
|
||||
| es6.js:1:1:8:1 | class H ... ;\\n }\\n} | render | es6.js:2:9:4:3 | () {\\n ... v>;\\n } |
|
||||
| exportedComponent.jsx:1:8:3:1 | functio ... r}}/>\\n} | render | exportedComponent.jsx:1:8:3:1 | functio ... r}}/>\\n} |
|
||||
| importedComponent.jsx:3:8:5:1 | functio ... or}/>\\n} | render | importedComponent.jsx:3:8:5:1 | functio ... or}/>\\n} |
|
||||
| plainfn.js:1:1:3:1 | functio ... div>;\\n} | render | plainfn.js:1:1:3:1 | functio ... div>;\\n} |
|
||||
| plainfn.js:5:1:7:1 | functio ... iv");\\n} | render | plainfn.js:5:1:7:1 | functio ... iv");\\n} |
|
||||
| plainfn.js:9:1:12:1 | functio ... rn x;\\n} | render | plainfn.js:9:1:12:1 | functio ... rn x;\\n} |
|
||||
| plainfn.js:20:1:24:1 | functio ... n 42;\\n} | render | plainfn.js:20:1:24:1 | functio ... n 42;\\n} |
|
||||
| preact.js:1:1:7:1 | class H ... }\\n} | render | preact.js:2:11:6:5 | (props, ... ;\\n } |
|
||||
| probably-a-component.js:1:1:6:1 | class H ... }\\n} | render | probably-a-component.js:2:11:5:5 | () {\\n ... ;\\n } |
|
||||
| props.js:13:31:17:5 | {\\n ... }\\n } | getDefaultProps | props.js:14:24:16:9 | () {\\n ... } |
|
||||
| props.js:26:5:28:5 | functio ... ;\\n } | render | props.js:26:5:28:5 | functio ... ;\\n } |
|
||||
| rare-lifecycle-methods.js:1:1:11:1 | class C ... }\\n} | getSnapshotBeforeUpdate | rare-lifecycle-methods.js:8:28:10:5 | (prevPr ... ;\\n } |
|
||||
| rare-lifecycle-methods.js:1:1:11:1 | class C ... }\\n} | shouldComponentUpdate | rare-lifecycle-methods.js:5:26:7:5 | (nextPr ... ;\\n } |
|
||||
| statePropertyReads.js:1:1:13:1 | class R ... }\\n} | componentDidUpdate | statePropertyReads.js:10:23:12:5 | (prevPr ... ;\\n } |
|
||||
| statePropertyWrites.js:1:1:34:1 | class W ... };\\n} | getInitialState | statePropertyWrites.js:25:20:29:5 | () { // ... ;\\n } |
|
||||
| statePropertyWrites.js:36:19:45:1 | {\\n ren ... ;\\n }\\n} | getInitialState | statePropertyWrites.js:40:20:44:3 | functio ... };\\n } |
|
||||
| statePropertyWrites.js:36:19:45:1 | {\\n ren ... ;\\n }\\n} | render | statePropertyWrites.js:37:11:39:3 | functio ... v>;\\n } |
|
||||
| thisAccesses.js:1:1:16:1 | class C ... }\\n} | someInstanceMethod | thisAccesses.js:13:23:15:5 | () {\\n ... ;\\n } |
|
||||
| thisAccesses.js:18:19:29:1 | {\\n r ... }\\n} | render | thisAccesses.js:19:13:24:5 | functio ... ;\\n } |
|
||||
| thisAccesses.js:18:19:29:1 | {\\n r ... }\\n} | someInstanceMethod | thisAccesses.js:26:25:28:5 | functio ... ;\\n } |
|
||||
| thisAccesses.js:31:2:36:1 | functio ... iv/>;\\n} | render | thisAccesses.js:31:2:36:1 | functio ... iv/>;\\n} |
|
||||
| thisAccesses.js:38:19:45:1 | {\\n r ... },\\n} | render | thisAccesses.js:39:13:44:5 | functio ... ;\\n } |
|
||||
| thisAccesses.js:54:1:63:1 | class C ... }\\n} | render | thisAccesses.js:59:11:62:5 | () {\\n ... ;\\n } |
|
||||
| thisAccesses_importedMappers.js:4:19:15:1 | {\\n r ... },\\n} | render | thisAccesses_importedMappers.js:5:13:14:5 | functio ... ;\\n } |
|
||||
test_react
|
||||
| es5.js:1:13:1:17 | React |
|
||||
| es6.js:1:21:1:25 | React |
|
||||
@@ -76,11 +36,62 @@ test_react
|
||||
| thisAccesses_importedMappers.js:1:8:1:12 | React |
|
||||
| thisAccesses_importedMappers.js:4:1:4:5 | React |
|
||||
| thisAccesses_importedMappers.js:6:9:6:13 | React |
|
||||
test_ReactComponent_getAPreviousStateSource
|
||||
| rare-lifecycle-methods.js:1:1:11:1 | class C ... }\\n} | rare-lifecycle-methods.js:2:44:2:48 | state |
|
||||
| rare-lifecycle-methods.js:1:1:11:1 | class C ... }\\n} | rare-lifecycle-methods.js:8:40:8:48 | prevState |
|
||||
| statePropertyReads.js:1:1:13:1 | class R ... }\\n} | statePropertyReads.js:7:24:7:32 | prevState |
|
||||
| statePropertyReads.js:1:1:13:1 | class R ... }\\n} | statePropertyReads.js:10:35:10:43 | prevState |
|
||||
test_JSXname
|
||||
| es5.js:4:12:4:45 | <div>He ... }</div> | es5.js:4:13:4:15 | div | div | Identifier |
|
||||
| es5.js:20:12:20:44 | <h1>Hel ... e}</h1> | es5.js:20:13:20:14 | h1 | h1 | Identifier |
|
||||
| es6.js:3:12:3:45 | <div>He ... }</div> | es6.js:3:13:3:15 | div | div | Identifier |
|
||||
| exportedComponent.jsx:2:12:2:46 | <div st ... lor}}/> | exportedComponent.jsx:2:13:2:15 | div | div | Identifier |
|
||||
| importedComponent.jsx:4:12:4:39 | <MyComp ... olor}/> | importedComponent.jsx:4:13:4:23 | MyComponent | MyComponent | Identifier |
|
||||
| plainfn.js:2:10:2:38 | <div>He ... }</div> | plainfn.js:2:11:2:13 | div | div | Identifier |
|
||||
| preact.js:5:16:5:21 | <div/> | preact.js:5:17:5:19 | div | div | Identifier |
|
||||
| probably-a-component.js:4:16:4:21 | <div/> | probably-a-component.js:4:17:4:19 | div | div | Identifier |
|
||||
| props.js:7:6:7:37 | <C prop ... JSX"}/> | props.js:7:7:7:7 | C | C | Identifier |
|
||||
| props.js:19:6:19:37 | <C prop ... JSX"}/> | props.js:19:7:19:7 | C | C | Identifier |
|
||||
| props.js:27:16:27:21 | <div/> | props.js:27:17:27:19 | div | div | Identifier |
|
||||
| props.js:32:6:32:37 | <C prop ... JSX"}/> | props.js:32:7:32:7 | C | C | Identifier |
|
||||
| statePropertyWrites.js:38:12:38:45 | <div>He ... }</div> | statePropertyWrites.js:38:13:38:15 | div | div | Identifier |
|
||||
| thisAccesses.js:23:16:23:21 | <div/> | thisAccesses.js:23:17:23:19 | div | div | Identifier |
|
||||
| thisAccesses.js:35:12:35:17 | <div/> | thisAccesses.js:35:13:35:15 | div | div | Identifier |
|
||||
| thisAccesses.js:43:16:43:21 | <div/> | thisAccesses.js:43:17:43:19 | div | div | Identifier |
|
||||
| thisAccesses.js:60:19:60:41 | <this.n ... s.name> | thisAccesses.js:60:20:60:28 | this.name | this.name | dot |
|
||||
| thisAccesses.js:61:19:61:41 | <this.t ... s.this> | thisAccesses.js:61:20:61:28 | this.this | this.this | dot |
|
||||
| thisAccesses_importedMappers.js:13:16:13:21 | <div/> | thisAccesses_importedMappers.js:13:17:13:19 | div | div | Identifier |
|
||||
| use-react-router.jsx:5:17:5:87 | <Router ... Router> | use-react-router.jsx:5:18:5:23 | Router | Router | Identifier |
|
||||
| use-react-router.jsx:5:25:5:78 | <Route> ... /Route> | use-react-router.jsx:5:26:5:30 | Route | Route | Identifier |
|
||||
| use-react-router.jsx:5:32:5:70 | <Import ... ponent> | use-react-router.jsx:5:33:5:49 | ImportedComponent | ImportedComponent | Identifier |
|
||||
| useHigherOrderComponent.jsx:5:12:5:39 | <SomeCo ... "red"/> | useHigherOrderComponent.jsx:5:13:5:25 | SomeComponent | SomeComponent | Identifier |
|
||||
| useHigherOrderComponent.jsx:11:12:11:46 | <LazyLo ... lazy"/> | useHigherOrderComponent.jsx:11:13:11:31 | LazyLoadedComponent | LazyLoadedComponent | Identifier |
|
||||
| useHigherOrderComponent.jsx:17:12:17:48 | <LazyLo ... azy2"/> | useHigherOrderComponent.jsx:17:13:17:32 | LazyLoadedComponent2 | LazyLoadedComponent2 | Identifier |
|
||||
test_ReactComponent
|
||||
| es5.js:1:31:11:1 | {\\n dis ... ;\\n }\\n} |
|
||||
| es5.js:18:33:22:1 | {\\n ren ... ;\\n }\\n} |
|
||||
| es6.js:1:1:8:1 | class H ... ;\\n }\\n} |
|
||||
| es6.js:14:1:20:1 | class H ... }\\n} |
|
||||
| exportedComponent.jsx:1:8:3:1 | functio ... r}}/>\\n} |
|
||||
| importedComponent.jsx:3:8:5:1 | functio ... or}/>\\n} |
|
||||
| namedImport.js:3:1:3:28 | class C ... nent {} |
|
||||
| namedImport.js:5:1:5:20 | class D extends C {} |
|
||||
| plainfn.js:1:1:3:1 | functio ... div>;\\n} |
|
||||
| plainfn.js:5:1:7:1 | functio ... iv");\\n} |
|
||||
| plainfn.js:9:1:12:1 | functio ... rn x;\\n} |
|
||||
| plainfn.js:20:1:24:1 | functio ... n 42;\\n} |
|
||||
| preact.js:1:1:7:1 | class H ... }\\n} |
|
||||
| preact.js:9:1:11:1 | class H ... nt {\\n\\n} |
|
||||
| probably-a-component.js:1:1:6:1 | class H ... }\\n} |
|
||||
| props.js:2:5:3:5 | class C ... {\\n } |
|
||||
| props.js:13:31:17:5 | {\\n ... }\\n } |
|
||||
| props.js:26:5:28:5 | functio ... ;\\n } |
|
||||
| rare-lifecycle-methods.js:1:1:11:1 | class C ... }\\n} |
|
||||
| statePropertyReads.js:1:1:13:1 | class R ... }\\n} |
|
||||
| statePropertyWrites.js:1:1:34:1 | class W ... };\\n} |
|
||||
| statePropertyWrites.js:36:19:45:1 | {\\n ren ... ;\\n }\\n} |
|
||||
| thisAccesses.js:1:1:16:1 | class C ... }\\n} |
|
||||
| thisAccesses.js:18:19:29:1 | {\\n r ... }\\n} |
|
||||
| thisAccesses.js:31:2:36:1 | functio ... iv/>;\\n} |
|
||||
| thisAccesses.js:38:19:45:1 | {\\n r ... },\\n} |
|
||||
| thisAccesses.js:47:1:52:1 | class C ... }\\n} |
|
||||
| thisAccesses.js:54:1:63:1 | class C ... }\\n} |
|
||||
| thisAccesses_importedMappers.js:4:19:15:1 | {\\n r ... },\\n} |
|
||||
test_ReactComponent_ref
|
||||
| es5.js:1:31:11:1 | {\\n dis ... ;\\n }\\n} | es5.js:1:31:11:1 | {\\n dis ... ;\\n }\\n} |
|
||||
| es5.js:1:31:11:1 | {\\n dis ... ;\\n }\\n} | es5.js:3:11:3:10 | this |
|
||||
@@ -181,19 +192,57 @@ test_ReactComponent_ref
|
||||
| thisAccesses_importedMappers.js:4:19:15:1 | {\\n r ... },\\n} | thisAccesses_importedMappers.js:9:25:9:24 | this |
|
||||
| thisAccesses_importedMappers.js:4:19:15:1 | {\\n r ... },\\n} | thisAccesses_importedMappers.js:10:13:10:16 | this |
|
||||
| thisAccesses_importedMappers.js:4:19:15:1 | {\\n r ... },\\n} | thisAccesses_importedMappers.js:11:12:11:15 | this |
|
||||
test_ReactComponent_getACandidateStateSource
|
||||
| es6.js:14:1:20:1 | class H ... }\\n} | es6.js:18:22:18:31 | { baz: 42} |
|
||||
| rare-lifecycle-methods.js:1:1:11:1 | class C ... }\\n} | rare-lifecycle-methods.js:3:16:3:17 | {} |
|
||||
| rare-lifecycle-methods.js:1:1:11:1 | class C ... }\\n} | rare-lifecycle-methods.js:5:38:5:46 | nextState |
|
||||
| statePropertyReads.js:1:1:13:1 | class R ... }\\n} | statePropertyReads.js:7:45:7:56 | prevState.p3 |
|
||||
| statePropertyWrites.js:1:1:34:1 | class W ... };\\n} | statePropertyWrites.js:8:18:8:19 | {} |
|
||||
| statePropertyWrites.js:1:1:34:1 | class W ... };\\n} | statePropertyWrites.js:12:18:12:19 | {} |
|
||||
| statePropertyWrites.js:1:1:34:1 | class W ... };\\n} | statePropertyWrites.js:16:18:16:19 | {} |
|
||||
| statePropertyWrites.js:1:1:34:1 | class W ... };\\n} | statePropertyWrites.js:20:18:20:19 | {} |
|
||||
| statePropertyWrites.js:1:1:34:1 | class W ... };\\n} | statePropertyWrites.js:31:13:33:5 | {\\n ... 2\\n } |
|
||||
| statePropertyWrites.js:36:19:45:1 | {\\n ren ... ;\\n }\\n} | statePropertyWrites.js:41:12:43:5 | {\\n p8: 42\\n } |
|
||||
| thisAccesses.js:47:1:52:1 | class C ... }\\n} | thisAccesses.js:48:18:48:18 | y |
|
||||
| thisAccesses.js:47:1:52:1 | class C ... }\\n} | thisAccesses.js:49:22:49:22 | x |
|
||||
test_getADirectStateAccess
|
||||
| es6.js:14:1:20:1 | class H ... }\\n} | es6.js:16:9:16:18 | this.state |
|
||||
| es6.js:14:1:20:1 | class H ... }\\n} | es6.js:17:9:17:18 | this.state |
|
||||
| es6.js:14:1:20:1 | class H ... }\\n} | es6.js:18:9:18:18 | this.state |
|
||||
| preact.js:1:1:7:1 | class H ... }\\n} | preact.js:2:19:2:23 | state |
|
||||
| statePropertyReads.js:1:1:13:1 | class R ... }\\n} | statePropertyReads.js:3:9:3:18 | this.state |
|
||||
| statePropertyReads.js:1:1:13:1 | class R ... }\\n} | statePropertyReads.js:5:9:5:18 | this.state |
|
||||
| statePropertyWrites.js:1:1:34:1 | class W ... };\\n} | statePropertyWrites.js:4:9:4:17 | cmp.state |
|
||||
| statePropertyWrites.js:1:1:34:1 | class W ... };\\n} | statePropertyWrites.js:6:9:6:17 | cmp.state |
|
||||
| statePropertyWrites.js:1:1:34:1 | class W ... };\\n} | statePropertyWrites.js:10:9:10:17 | cmp.state |
|
||||
| thisAccesses.js:47:1:52:1 | class C ... }\\n} | thisAccesses.js:49:9:49:18 | this.state |
|
||||
| thisAccesses.js:47:1:52:1 | class C ... }\\n} | thisAccesses.js:50:9:50:18 | this.state |
|
||||
test_ReactComponent_getAPropRead
|
||||
| es5.js:1:31:11:1 | {\\n dis ... ;\\n }\\n} | name | es5.js:4:24:4:38 | this.props.name |
|
||||
| es5.js:18:33:22:1 | {\\n ren ... ;\\n }\\n} | name | es5.js:20:24:20:38 | this.props.name |
|
||||
| es6.js:1:1:8:1 | class H ... ;\\n }\\n} | name | es6.js:3:24:3:38 | this.props.name |
|
||||
| exportedComponent.jsx:1:8:3:1 | functio ... r}}/>\\n} | color | exportedComponent.jsx:2:32:2:42 | props.color |
|
||||
| importedComponent.jsx:3:8:5:1 | functio ... or}/>\\n} | color | importedComponent.jsx:3:25:3:29 | color |
|
||||
| importedComponent.jsx:3:8:5:1 | functio ... or}/>\\n} | location | importedComponent.jsx:3:32:3:39 | location |
|
||||
| plainfn.js:1:1:3:1 | functio ... div>;\\n} | name | plainfn.js:2:22:2:31 | props.name |
|
||||
| preact.js:1:1:7:1 | class H ... }\\n} | name | preact.js:3:9:3:18 | props.name |
|
||||
| probably-a-component.js:1:1:6:1 | class H ... }\\n} | name | probably-a-component.js:3:9:3:23 | this.props.name |
|
||||
| statePropertyWrites.js:36:19:45:1 | {\\n ren ... ;\\n }\\n} | name | statePropertyWrites.js:38:24:38:38 | this.props.name |
|
||||
test_ReactComponent_getInstanceMethod
|
||||
| es5.js:1:31:11:1 | {\\n dis ... ;\\n }\\n} | getDefaultProps | es5.js:6:20:10:3 | functio ... };\\n } |
|
||||
| es5.js:1:31:11:1 | {\\n dis ... ;\\n }\\n} | render | es5.js:3:11:5:3 | functio ... v>;\\n } |
|
||||
| es5.js:18:33:22:1 | {\\n ren ... ;\\n }\\n} | render | es5.js:19:11:21:3 | functio ... 1>;\\n } |
|
||||
| es6.js:1:1:8:1 | class H ... ;\\n }\\n} | render | es6.js:2:9:4:3 | () {\\n ... v>;\\n } |
|
||||
| exportedComponent.jsx:1:8:3:1 | functio ... r}}/>\\n} | render | exportedComponent.jsx:1:8:3:1 | functio ... r}}/>\\n} |
|
||||
| importedComponent.jsx:3:8:5:1 | functio ... or}/>\\n} | render | importedComponent.jsx:3:8:5:1 | functio ... or}/>\\n} |
|
||||
| plainfn.js:1:1:3:1 | functio ... div>;\\n} | render | plainfn.js:1:1:3:1 | functio ... div>;\\n} |
|
||||
| plainfn.js:5:1:7:1 | functio ... iv");\\n} | render | plainfn.js:5:1:7:1 | functio ... iv");\\n} |
|
||||
| plainfn.js:9:1:12:1 | functio ... rn x;\\n} | render | plainfn.js:9:1:12:1 | functio ... rn x;\\n} |
|
||||
| plainfn.js:20:1:24:1 | functio ... n 42;\\n} | render | plainfn.js:20:1:24:1 | functio ... n 42;\\n} |
|
||||
| preact.js:1:1:7:1 | class H ... }\\n} | render | preact.js:2:11:6:5 | (props, ... ;\\n } |
|
||||
| probably-a-component.js:1:1:6:1 | class H ... }\\n} | render | probably-a-component.js:2:11:5:5 | () {\\n ... ;\\n } |
|
||||
| props.js:13:31:17:5 | {\\n ... }\\n } | getDefaultProps | props.js:14:24:16:9 | () {\\n ... } |
|
||||
| props.js:26:5:28:5 | functio ... ;\\n } | render | props.js:26:5:28:5 | functio ... ;\\n } |
|
||||
| rare-lifecycle-methods.js:1:1:11:1 | class C ... }\\n} | getSnapshotBeforeUpdate | rare-lifecycle-methods.js:8:28:10:5 | (prevPr ... ;\\n } |
|
||||
| rare-lifecycle-methods.js:1:1:11:1 | class C ... }\\n} | shouldComponentUpdate | rare-lifecycle-methods.js:5:26:7:5 | (nextPr ... ;\\n } |
|
||||
| statePropertyReads.js:1:1:13:1 | class R ... }\\n} | componentDidUpdate | statePropertyReads.js:10:23:12:5 | (prevPr ... ;\\n } |
|
||||
| statePropertyWrites.js:1:1:34:1 | class W ... };\\n} | getInitialState | statePropertyWrites.js:25:20:29:5 | () { // ... ;\\n } |
|
||||
| statePropertyWrites.js:36:19:45:1 | {\\n ren ... ;\\n }\\n} | getInitialState | statePropertyWrites.js:40:20:44:3 | functio ... };\\n } |
|
||||
| statePropertyWrites.js:36:19:45:1 | {\\n ren ... ;\\n }\\n} | render | statePropertyWrites.js:37:11:39:3 | functio ... v>;\\n } |
|
||||
| thisAccesses.js:1:1:16:1 | class C ... }\\n} | someInstanceMethod | thisAccesses.js:13:23:15:5 | () {\\n ... ;\\n } |
|
||||
| thisAccesses.js:18:19:29:1 | {\\n r ... }\\n} | render | thisAccesses.js:19:13:24:5 | functio ... ;\\n } |
|
||||
| thisAccesses.js:18:19:29:1 | {\\n r ... }\\n} | someInstanceMethod | thisAccesses.js:26:25:28:5 | functio ... ;\\n } |
|
||||
| thisAccesses.js:31:2:36:1 | functio ... iv/>;\\n} | render | thisAccesses.js:31:2:36:1 | functio ... iv/>;\\n} |
|
||||
| thisAccesses.js:38:19:45:1 | {\\n r ... },\\n} | render | thisAccesses.js:39:13:44:5 | functio ... ;\\n } |
|
||||
| thisAccesses.js:54:1:63:1 | class C ... }\\n} | render | thisAccesses.js:59:11:62:5 | () {\\n ... ;\\n } |
|
||||
| thisAccesses_importedMappers.js:4:19:15:1 | {\\n r ... },\\n} | render | thisAccesses_importedMappers.js:5:13:14:5 | functio ... ;\\n } |
|
||||
test_ReactComponent_getADirectPropsSource
|
||||
| es5.js:1:31:11:1 | {\\n dis ... ;\\n }\\n} | es5.js:4:24:4:33 | this.props |
|
||||
| es5.js:18:33:22:1 | {\\n ren ... ;\\n }\\n} | es5.js:20:24:20:33 | this.props |
|
||||
@@ -233,73 +282,24 @@ test_ReactComponent_getACandidatePropsValue
|
||||
| useHigherOrderComponent.jsx:5:33:5:37 | "red" |
|
||||
| useHigherOrderComponent.jsx:11:39:11:44 | "lazy" |
|
||||
| useHigherOrderComponent.jsx:17:40:17:46 | "lazy2" |
|
||||
test_ReactComponent
|
||||
| es5.js:1:31:11:1 | {\\n dis ... ;\\n }\\n} |
|
||||
| es5.js:18:33:22:1 | {\\n ren ... ;\\n }\\n} |
|
||||
| es6.js:1:1:8:1 | class H ... ;\\n }\\n} |
|
||||
| es6.js:14:1:20:1 | class H ... }\\n} |
|
||||
| exportedComponent.jsx:1:8:3:1 | functio ... r}}/>\\n} |
|
||||
| importedComponent.jsx:3:8:5:1 | functio ... or}/>\\n} |
|
||||
| namedImport.js:3:1:3:28 | class C ... nent {} |
|
||||
| namedImport.js:5:1:5:20 | class D extends C {} |
|
||||
| plainfn.js:1:1:3:1 | functio ... div>;\\n} |
|
||||
| plainfn.js:5:1:7:1 | functio ... iv");\\n} |
|
||||
| plainfn.js:9:1:12:1 | functio ... rn x;\\n} |
|
||||
| plainfn.js:20:1:24:1 | functio ... n 42;\\n} |
|
||||
| preact.js:1:1:7:1 | class H ... }\\n} |
|
||||
| preact.js:9:1:11:1 | class H ... nt {\\n\\n} |
|
||||
| probably-a-component.js:1:1:6:1 | class H ... }\\n} |
|
||||
| props.js:2:5:3:5 | class C ... {\\n } |
|
||||
| props.js:13:31:17:5 | {\\n ... }\\n } |
|
||||
| props.js:26:5:28:5 | functio ... ;\\n } |
|
||||
| rare-lifecycle-methods.js:1:1:11:1 | class C ... }\\n} |
|
||||
| statePropertyReads.js:1:1:13:1 | class R ... }\\n} |
|
||||
| statePropertyWrites.js:1:1:34:1 | class W ... };\\n} |
|
||||
| statePropertyWrites.js:36:19:45:1 | {\\n ren ... ;\\n }\\n} |
|
||||
| thisAccesses.js:1:1:16:1 | class C ... }\\n} |
|
||||
| thisAccesses.js:18:19:29:1 | {\\n r ... }\\n} |
|
||||
| thisAccesses.js:31:2:36:1 | functio ... iv/>;\\n} |
|
||||
| thisAccesses.js:38:19:45:1 | {\\n r ... },\\n} |
|
||||
| thisAccesses.js:47:1:52:1 | class C ... }\\n} |
|
||||
| thisAccesses.js:54:1:63:1 | class C ... }\\n} |
|
||||
| thisAccesses_importedMappers.js:4:19:15:1 | {\\n r ... },\\n} |
|
||||
test_ReactComponent_getAPropRead
|
||||
| es5.js:1:31:11:1 | {\\n dis ... ;\\n }\\n} | name | es5.js:4:24:4:38 | this.props.name |
|
||||
| es5.js:18:33:22:1 | {\\n ren ... ;\\n }\\n} | name | es5.js:20:24:20:38 | this.props.name |
|
||||
| es6.js:1:1:8:1 | class H ... ;\\n }\\n} | name | es6.js:3:24:3:38 | this.props.name |
|
||||
| exportedComponent.jsx:1:8:3:1 | functio ... r}}/>\\n} | color | exportedComponent.jsx:2:32:2:42 | props.color |
|
||||
| importedComponent.jsx:3:8:5:1 | functio ... or}/>\\n} | color | importedComponent.jsx:3:25:3:29 | color |
|
||||
| importedComponent.jsx:3:8:5:1 | functio ... or}/>\\n} | location | importedComponent.jsx:3:32:3:39 | location |
|
||||
| plainfn.js:1:1:3:1 | functio ... div>;\\n} | name | plainfn.js:2:22:2:31 | props.name |
|
||||
| preact.js:1:1:7:1 | class H ... }\\n} | name | preact.js:3:9:3:18 | props.name |
|
||||
| probably-a-component.js:1:1:6:1 | class H ... }\\n} | name | probably-a-component.js:3:9:3:23 | this.props.name |
|
||||
| statePropertyWrites.js:36:19:45:1 | {\\n ren ... ;\\n }\\n} | name | statePropertyWrites.js:38:24:38:38 | this.props.name |
|
||||
test_JSXname
|
||||
| es5.js:4:12:4:45 | <div>He ... }</div> | es5.js:4:13:4:15 | div | div | Identifier |
|
||||
| es5.js:20:12:20:44 | <h1>Hel ... e}</h1> | es5.js:20:13:20:14 | h1 | h1 | Identifier |
|
||||
| es6.js:3:12:3:45 | <div>He ... }</div> | es6.js:3:13:3:15 | div | div | Identifier |
|
||||
| exportedComponent.jsx:2:12:2:46 | <div st ... lor}}/> | exportedComponent.jsx:2:13:2:15 | div | div | Identifier |
|
||||
| importedComponent.jsx:4:12:4:39 | <MyComp ... olor}/> | importedComponent.jsx:4:13:4:23 | MyComponent | MyComponent | Identifier |
|
||||
| plainfn.js:2:10:2:38 | <div>He ... }</div> | plainfn.js:2:11:2:13 | div | div | Identifier |
|
||||
| preact.js:5:16:5:21 | <div/> | preact.js:5:17:5:19 | div | div | Identifier |
|
||||
| probably-a-component.js:4:16:4:21 | <div/> | probably-a-component.js:4:17:4:19 | div | div | Identifier |
|
||||
| props.js:7:6:7:37 | <C prop ... JSX"}/> | props.js:7:7:7:7 | C | C | Identifier |
|
||||
| props.js:19:6:19:37 | <C prop ... JSX"}/> | props.js:19:7:19:7 | C | C | Identifier |
|
||||
| props.js:27:16:27:21 | <div/> | props.js:27:17:27:19 | div | div | Identifier |
|
||||
| props.js:32:6:32:37 | <C prop ... JSX"}/> | props.js:32:7:32:7 | C | C | Identifier |
|
||||
| statePropertyWrites.js:38:12:38:45 | <div>He ... }</div> | statePropertyWrites.js:38:13:38:15 | div | div | Identifier |
|
||||
| thisAccesses.js:23:16:23:21 | <div/> | thisAccesses.js:23:17:23:19 | div | div | Identifier |
|
||||
| thisAccesses.js:35:12:35:17 | <div/> | thisAccesses.js:35:13:35:15 | div | div | Identifier |
|
||||
| thisAccesses.js:43:16:43:21 | <div/> | thisAccesses.js:43:17:43:19 | div | div | Identifier |
|
||||
| thisAccesses.js:60:19:60:41 | <this.n ... s.name> | thisAccesses.js:60:20:60:28 | this.name | this.name | dot |
|
||||
| thisAccesses.js:61:19:61:41 | <this.t ... s.this> | thisAccesses.js:61:20:61:28 | this.this | this.this | dot |
|
||||
| thisAccesses_importedMappers.js:13:16:13:21 | <div/> | thisAccesses_importedMappers.js:13:17:13:19 | div | div | Identifier |
|
||||
| use-react-router.jsx:5:17:5:87 | <Router ... Router> | use-react-router.jsx:5:18:5:23 | Router | Router | Identifier |
|
||||
| use-react-router.jsx:5:25:5:78 | <Route> ... /Route> | use-react-router.jsx:5:26:5:30 | Route | Route | Identifier |
|
||||
| use-react-router.jsx:5:32:5:70 | <Import ... ponent> | use-react-router.jsx:5:33:5:49 | ImportedComponent | ImportedComponent | Identifier |
|
||||
| useHigherOrderComponent.jsx:5:12:5:39 | <SomeCo ... "red"/> | useHigherOrderComponent.jsx:5:13:5:25 | SomeComponent | SomeComponent | Identifier |
|
||||
| useHigherOrderComponent.jsx:11:12:11:46 | <LazyLo ... lazy"/> | useHigherOrderComponent.jsx:11:13:11:31 | LazyLoadedComponent | LazyLoadedComponent | Identifier |
|
||||
| useHigherOrderComponent.jsx:17:12:17:48 | <LazyLo ... azy2"/> | useHigherOrderComponent.jsx:17:13:17:32 | LazyLoadedComponent2 | LazyLoadedComponent2 | Identifier |
|
||||
test_ReactComponent_getAPreviousStateSource
|
||||
| rare-lifecycle-methods.js:1:1:11:1 | class C ... }\\n} | rare-lifecycle-methods.js:2:44:2:48 | state |
|
||||
| rare-lifecycle-methods.js:1:1:11:1 | class C ... }\\n} | rare-lifecycle-methods.js:8:40:8:48 | prevState |
|
||||
| statePropertyReads.js:1:1:13:1 | class R ... }\\n} | statePropertyReads.js:7:24:7:32 | prevState |
|
||||
| statePropertyReads.js:1:1:13:1 | class R ... }\\n} | statePropertyReads.js:10:35:10:43 | prevState |
|
||||
test_ReactComponent_getACandidateStateSource
|
||||
| es6.js:14:1:20:1 | class H ... }\\n} | es6.js:18:22:18:31 | { baz: 42} |
|
||||
| rare-lifecycle-methods.js:1:1:11:1 | class C ... }\\n} | rare-lifecycle-methods.js:3:16:3:17 | {} |
|
||||
| rare-lifecycle-methods.js:1:1:11:1 | class C ... }\\n} | rare-lifecycle-methods.js:5:38:5:46 | nextState |
|
||||
| statePropertyReads.js:1:1:13:1 | class R ... }\\n} | statePropertyReads.js:7:45:7:56 | prevState.p3 |
|
||||
| statePropertyWrites.js:1:1:34:1 | class W ... };\\n} | statePropertyWrites.js:8:18:8:19 | {} |
|
||||
| statePropertyWrites.js:1:1:34:1 | class W ... };\\n} | statePropertyWrites.js:12:18:12:19 | {} |
|
||||
| statePropertyWrites.js:1:1:34:1 | class W ... };\\n} | statePropertyWrites.js:16:18:16:19 | {} |
|
||||
| statePropertyWrites.js:1:1:34:1 | class W ... };\\n} | statePropertyWrites.js:20:18:20:19 | {} |
|
||||
| statePropertyWrites.js:1:1:34:1 | class W ... };\\n} | statePropertyWrites.js:31:13:33:5 | {\\n ... 2\\n } |
|
||||
| statePropertyWrites.js:36:19:45:1 | {\\n ren ... ;\\n }\\n} | statePropertyWrites.js:41:12:43:5 | {\\n p8: 42\\n } |
|
||||
| thisAccesses.js:47:1:52:1 | class C ... }\\n} | thisAccesses.js:48:18:48:18 | y |
|
||||
| thisAccesses.js:47:1:52:1 | class C ... }\\n} | thisAccesses.js:49:22:49:22 | x |
|
||||
test_JsxName_this
|
||||
| es5.js:4:12:4:45 | <div>He ... }</div> | es5.js:4:24:4:27 | this |
|
||||
| es5.js:20:12:20:44 | <h1>Hel ... e}</h1> | es5.js:20:24:20:27 | this |
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
| postgres2.js:12:13:12:20 | 'secret' | password |
|
||||
| postgres4.js:4:9:4:16 | 'dbuser' | user name |
|
||||
| postgres4.js:7:13:7:28 | 'secretpassword' | password |
|
||||
| postgres6.js:8:11:8:20 | 'postgres' | user name |
|
||||
| sequelize2.js:4:45:9:1 | {\\n dia ... word'\\n} | user name |
|
||||
| sequelize2.js:7:13:7:22 | 'username' | user name |
|
||||
| sequelize2.js:8:13:8:22 | 'password' | password |
|
||||
|
||||
@@ -1,3 +1,9 @@
|
||||
| better-sqlite3.js:6:23:6:25 | sql |
|
||||
| better-sqlite3.js:7:20:7:22 | sql |
|
||||
| better-sqlite3.js:8:14:8:16 | sql |
|
||||
| better-sqlite3.js:12:20:12:22 | sql |
|
||||
| better-sqlite3.js:13:17:13:19 | sql |
|
||||
| better-sqlite3.js:14:14:14:16 | sql |
|
||||
| mssql1.js:7:40:7:72 | select ... e id = |
|
||||
| mssql1.js:7:75:7:79 | value |
|
||||
| mssql1.js:10:19:10:30 | 'SELECT 123' |
|
||||
@@ -32,6 +38,9 @@
|
||||
| postgres2.js:46:26:46:46 | 'SELECT ... users' |
|
||||
| postgres3.js:15:16:15:40 | 'SELECT ... s name' |
|
||||
| postgres5.js:8:21:8:25 | query |
|
||||
| postgres6.js:13:11:13:44 | 'SELECT ... E id=6' |
|
||||
| postgres6.js:16:20:16:27 | queryObj |
|
||||
| postgres6.js:18:11:18:44 | 'SELECT ... E id=7' |
|
||||
| postgres-types.ts:4:18:4:29 | 'SELECT 123' |
|
||||
| postgresImport.js:4:18:4:43 | 'SELECT ... number' |
|
||||
| sequelize2.js:10:17:10:118 | 'SELECT ... Y name' |
|
||||
@@ -70,8 +79,12 @@
|
||||
| spanner.js:26:12:26:38 | 'UPDATE ... = @baz' |
|
||||
| spanner.js:31:18:31:24 | queries |
|
||||
| spannerImport.js:4:8:4:17 | "SQL code" |
|
||||
| sqlite3.js:7:8:7:45 | "UPDATE ... id = ?" |
|
||||
| sqlite3.js:8:8:8:45 | "UPDATE ... id = ?" |
|
||||
| sqlite-types.ts:4:12:4:49 | "UPDATE ... id = ?" |
|
||||
| sqlite.js:7:8:7:45 | "UPDATE ... id = ?" |
|
||||
| sqlite.js:8:8:8:45 | "UPDATE ... id = ?" |
|
||||
| sqlite.js:8:10:8:65 | 'SELECT ... id = 1" |
|
||||
| sqlite.js:11:10:11:65 | 'SELECT ... id = 1" |
|
||||
| sqlite.js:14:10:14:50 | 'SELECT ... id > 5' |
|
||||
| sqlite.js:17:14:18:18 | 'SELECT ... id = 1" |
|
||||
| sqlite.js:24:19:24:74 | 'SELECT ... id = 1" |
|
||||
| sqliteArray.js:6:12:6:49 | "UPDATE ... id = ?" |
|
||||
| sqliteImport.js:2:8:2:44 | "UPDATE ... id = ?" |
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
import Database from 'better-sqlite3';
|
||||
|
||||
const db = new Database('BetterSqlite.db', { verbose: console.log });
|
||||
|
||||
let sql = 'SELECT name, id FROM table1'
|
||||
let stmt = db.prepare(sql);
|
||||
let exec = db.exec(sql);
|
||||
exec.prepare(sql)
|
||||
const db2 = Database('BetterSqlite.db', { verbose: console.log });
|
||||
|
||||
sql = 'SELECT name, id FROM table1'
|
||||
stmt = db2.prepare(sql);
|
||||
exec = db2.exec(sql);
|
||||
exec.prepare(sql)
|
||||
18
javascript/ql/test/library-tests/frameworks/SQL/postgres6.js
Normal file
18
javascript/ql/test/library-tests/frameworks/SQL/postgres6.js
Normal file
@@ -0,0 +1,18 @@
|
||||
import pkg from 'pg';
|
||||
|
||||
const { Query, Client } = pkg;
|
||||
const client = new Client({
|
||||
host: '127.0.0.1',
|
||||
port: 5432,
|
||||
database: 'testsqli',
|
||||
user: 'postgres'
|
||||
})
|
||||
|
||||
const queryObj = {
|
||||
name: 'get-name',
|
||||
text: 'SELECT * FROM "user" WHERE id=6'
|
||||
}
|
||||
|
||||
await client.query(queryObj) // Already Implemented
|
||||
|
||||
new Query('SELECT * FROM "user" WHERE id=7')
|
||||
@@ -1,10 +1,33 @@
|
||||
// Adapted from https://github.com/mapbox/node-sqlite3/wiki/API, which is
|
||||
// part of the node-sqlite3 project, which is licensed under the BSD 3-Clause
|
||||
// License; see file node-sqlite3-LICENSE.
|
||||
var sqlite = require('sqlite3');
|
||||
import sqlite3 from 'sqlite3'
|
||||
import { open } from 'sqlite'
|
||||
|
||||
open({
|
||||
filename: 'database.sqlite',
|
||||
driver: sqlite3.Database
|
||||
}).then(async (db) => {
|
||||
db.get('SELECT name,id FROM table1 WHERE id > 5' + " OR id = 1").then(results => {
|
||||
console.log(results)
|
||||
})
|
||||
db.all('SELECT name,id FROM table1 WHERE id > 5' + " OR id = 1").then(results => {
|
||||
console.log(results)
|
||||
})
|
||||
db.run('SELECT name,id FROM table1 WHERE id > 5').then(results => {
|
||||
console.log(results)
|
||||
})
|
||||
db.prepare('SELECT name,id FROM table1 WHERE id > 5'
|
||||
+ " OR id = 1").then(results => {
|
||||
results.all().then(result => {
|
||||
console.log(result)
|
||||
})
|
||||
})
|
||||
try {
|
||||
await db.each('SELECT name,id FROM table1 WHERE id > 5' + " OR id = 1", (err, row) => {
|
||||
console.log(row)
|
||||
})
|
||||
|
||||
} catch (e) {
|
||||
throw e
|
||||
}
|
||||
})
|
||||
|
||||
var db = new sqlite.Database(":memory:");
|
||||
db.run("UPDATE tbl SET name = ? WHERE id = ?", "bar", 2)
|
||||
.run("UPDATE tbl SET name = ? WHERE id = ?", "foo", 3);
|
||||
|
||||
exports.db = db;
|
||||
|
||||
10
javascript/ql/test/library-tests/frameworks/SQL/sqlite3.js
Normal file
10
javascript/ql/test/library-tests/frameworks/SQL/sqlite3.js
Normal file
@@ -0,0 +1,10 @@
|
||||
// Adapted from https://github.com/mapbox/node-sqlite3/wiki/API, which is
|
||||
// part of the node-sqlite3 project, which is licensed under the BSD 3-Clause
|
||||
// License; see file node-sqlite3-LICENSE.
|
||||
var sqlite = require('sqlite3');
|
||||
|
||||
var db = new sqlite.Database(":memory:");
|
||||
db.run("UPDATE tbl SET name = ? WHERE id = ?", "bar", 2)
|
||||
.run("UPDATE tbl SET name = ? WHERE id = ?", "foo", 3);
|
||||
|
||||
exports.db = db;
|
||||
@@ -1,7 +1,65 @@
|
||||
test_ClientReceiveNode_getEventName
|
||||
| client2.js:4:1:6:2 | sock.on ... y);\\n}) | message |
|
||||
| client2.js:10:1:12:2 | sock.on ... d");\\n}) | event |
|
||||
| client2.js:18:1:18:41 | sock2.o ... dler')) | message |
|
||||
test_SendNode
|
||||
| tst.js:30:1:30:28 | ns.emit ... event') | socket.io namespace with path '/' |
|
||||
| tst.js:31:1:31:20 | ns.send('a message') | socket.io namespace with path '/' |
|
||||
| tst.js:32:1:32:22 | ns2.wri ... ssage') | socket.io namespace with path '/foo/bar' |
|
||||
| tst.js:39:1:39:31 | io.emit ... ssage') | socket.io namespace with path '/' |
|
||||
| tst.js:40:1:40:20 | io.send('a message') | socket.io namespace with path '/' |
|
||||
| tst.js:41:1:41:21 | io.writ ... ssage') | socket.io namespace with path '/' |
|
||||
| tst.js:51:3:51:22 | socket.emit('event') | socket.io namespace with path '/' |
|
||||
| tst.js:54:3:54:43 | socket. ... => {}) | socket.io namespace with path '/' |
|
||||
| tst.js:55:3:55:27 | socket. ... ssage') | socket.io namespace with path '/' |
|
||||
| tst.js:66:3:66:36 | socket. ... dcast') | socket.io namespace with path '/' |
|
||||
test_ServerNode
|
||||
| tst.js:1:12:1:33 | require ... .io')() | tst.js:1:12:1:33 | require ... .io')() |
|
||||
| tst.js:4:13:4:24 | new Server() | tst.js:4:13:4:24 | new Server() |
|
||||
| tst.js:6:13:6:27 | Server.listen() | tst.js:6:13:6:27 | Server.listen() |
|
||||
| tst.js:9:1:9:21 | io.serv ... (false) | tst.js:1:12:1:33 | require ... .io')() |
|
||||
| tst.js:10:1:10:21 | io.set( ... s', []) | tst.js:1:12:1:33 | require ... .io')() |
|
||||
| tst.js:11:1:11:21 | io.path ... npath') | tst.js:1:12:1:33 | require ... .io')() |
|
||||
| tst.js:12:1:12:15 | io.adapter(foo) | tst.js:1:12:1:33 | require ... .io')() |
|
||||
| tst.js:13:1:13:14 | io.origins([]) | tst.js:1:12:1:33 | require ... .io')() |
|
||||
| tst.js:14:1:14:15 | io.listen(http) | tst.js:1:12:1:33 | require ... .io')() |
|
||||
| tst.js:15:1:15:15 | io.attach(http) | tst.js:1:12:1:33 | require ... .io')() |
|
||||
| tst.js:16:1:16:15 | io.bind(engine) | tst.js:1:12:1:33 | require ... .io')() |
|
||||
| tst.js:17:1:17:23 | io.onco ... socket) | tst.js:1:12:1:33 | require ... .io')() |
|
||||
| tst.js:50:1:67:2 | io.on(' ... t');\\n}) | tst.js:1:12:1:33 | require ... .io')() |
|
||||
| tst.js:68:1:68:35 | io.on(' ... => {}) | tst.js:1:12:1:33 | require ... .io')() |
|
||||
| tst.js:80:1:80:10 | obj.server | tst.js:1:12:1:33 | require ... .io')() |
|
||||
| tst.js:85:1:85:37 | io.on(' ... , "x")) | tst.js:1:12:1:33 | require ... .io')() |
|
||||
test_SocketNode
|
||||
| tst.js:50:19:50:24 | socket | socket.io namespace with path '/' |
|
||||
| tst.js:51:3:51:22 | socket.emit('event') | socket.io namespace with path '/' |
|
||||
| tst.js:52:3:52:17 | socket.to(room) | socket.io namespace with path '/' |
|
||||
| tst.js:53:3:53:17 | socket.in(room) | socket.io namespace with path '/' |
|
||||
| tst.js:54:3:54:43 | socket. ... => {}) | socket.io namespace with path '/' |
|
||||
| tst.js:55:3:55:27 | socket. ... ssage') | socket.io namespace with path '/' |
|
||||
| tst.js:56:3:56:19 | socket.join(room) | socket.io namespace with path '/' |
|
||||
| tst.js:57:3:57:20 | socket.leave(room) | socket.io namespace with path '/' |
|
||||
| tst.js:58:3:58:16 | socket.use(cb) | socket.io namespace with path '/' |
|
||||
| tst.js:59:3:59:23 | socket. ... s(true) | socket.io namespace with path '/' |
|
||||
| tst.js:60:3:60:22 | socket.binary(false) | socket.io namespace with path '/' |
|
||||
| tst.js:61:3:61:25 | socket. ... t(true) | socket.io namespace with path '/' |
|
||||
| tst.js:62:3:62:13 | socket.json | socket.io namespace with path '/' |
|
||||
| tst.js:63:3:63:17 | socket.volatile | socket.io namespace with path '/' |
|
||||
| tst.js:64:3:64:18 | socket.broadcast | socket.io namespace with path '/' |
|
||||
| tst.js:65:3:65:14 | socket.local | socket.io namespace with path '/' |
|
||||
| tst.js:66:3:66:18 | socket.broadcast | socket.io namespace with path '/' |
|
||||
| tst.js:66:3:66:36 | socket. ... dcast') | socket.io namespace with path '/' |
|
||||
| tst.js:68:22:68:27 | socket | socket.io namespace with path '/' |
|
||||
| tst.js:69:19:69:24 | socket | socket.io namespace with path '/' |
|
||||
| tst.js:70:22:70:27 | socket | socket.io namespace with path '/' |
|
||||
| tst.js:71:3:71:35 | socket. ... => {}) | socket.io namespace with path '/' |
|
||||
| tst.js:72:3:72:46 | socket. ... => {}) | socket.io namespace with path '/' |
|
||||
| tst.js:73:3:73:43 | socket. ... => {}) | socket.io namespace with path '/' |
|
||||
| tst.js:84:16:84:21 | socket | socket.io namespace with path '/' |
|
||||
test_ReceiveNode
|
||||
| tst.js:71:3:71:35 | socket. ... => {}) | tst.js:70:22:70:27 | socket |
|
||||
| tst.js:72:3:72:46 | socket. ... => {}) | tst.js:70:22:70:27 | socket |
|
||||
| tst.js:73:3:73:43 | socket. ... => {}) | tst.js:70:22:70:27 | socket |
|
||||
test_ServerObject
|
||||
| tst.js:1:12:1:33 | require ... .io')() | tst.js:1:12:1:33 | require ... .io')() | socket.io namespace with path '/' |
|
||||
| tst.js:4:13:4:24 | new Server() | tst.js:4:13:4:24 | new Server() | socket.io namespace with path '/' |
|
||||
| tst.js:6:13:6:27 | Server.listen() | tst.js:6:13:6:27 | Server.listen() | socket.io namespace with path '/' |
|
||||
test_NamespaceNode
|
||||
| tst.js:25:10:25:19 | io.sockets | socket.io namespace with path '/' |
|
||||
| tst.js:26:11:26:27 | io.of("/foo/bar") | socket.io namespace with path '/foo/bar' |
|
||||
@@ -31,49 +89,29 @@ test_NamespaceNode
|
||||
| tst.js:69:1:69:32 | ns.on(' ... => {}) | socket.io namespace with path '/' |
|
||||
| tst.js:70:1:74:2 | ns.on(' ... {});\\n}) | socket.io namespace with path '/' |
|
||||
| tst.js:85:1:85:37 | io.on(' ... , "x")) | socket.io namespace with path '/' |
|
||||
test_ClientReceiveNode_getASender
|
||||
| client2.js:4:1:6:2 | sock.on ... y);\\n}) | tst.js:30:1:30:28 | ns.emit ... event') |
|
||||
| client2.js:4:1:6:2 | sock.on ... y);\\n}) | tst.js:31:1:31:20 | ns.send('a message') |
|
||||
| client2.js:4:1:6:2 | sock.on ... y);\\n}) | tst.js:39:1:39:31 | io.emit ... ssage') |
|
||||
| client2.js:4:1:6:2 | sock.on ... y);\\n}) | tst.js:40:1:40:20 | io.send('a message') |
|
||||
| client2.js:4:1:6:2 | sock.on ... y);\\n}) | tst.js:41:1:41:21 | io.writ ... ssage') |
|
||||
| client2.js:4:1:6:2 | sock.on ... y);\\n}) | tst.js:51:3:51:22 | socket.emit('event') |
|
||||
| client2.js:4:1:6:2 | sock.on ... y);\\n}) | tst.js:54:3:54:43 | socket. ... => {}) |
|
||||
| client2.js:4:1:6:2 | sock.on ... y);\\n}) | tst.js:55:3:55:27 | socket. ... ssage') |
|
||||
| client2.js:4:1:6:2 | sock.on ... y);\\n}) | tst.js:66:3:66:36 | socket. ... dcast') |
|
||||
| client2.js:8:1:8:33 | sock.on ... => {}) | tst.js:30:1:30:28 | ns.emit ... event') |
|
||||
| client2.js:8:1:8:33 | sock.on ... => {}) | tst.js:31:1:31:20 | ns.send('a message') |
|
||||
| client2.js:8:1:8:33 | sock.on ... => {}) | tst.js:39:1:39:31 | io.emit ... ssage') |
|
||||
| client2.js:8:1:8:33 | sock.on ... => {}) | tst.js:40:1:40:20 | io.send('a message') |
|
||||
| client2.js:8:1:8:33 | sock.on ... => {}) | tst.js:41:1:41:21 | io.writ ... ssage') |
|
||||
| client2.js:8:1:8:33 | sock.on ... => {}) | tst.js:51:3:51:22 | socket.emit('event') |
|
||||
| client2.js:8:1:8:33 | sock.on ... => {}) | tst.js:54:3:54:43 | socket. ... => {}) |
|
||||
| client2.js:8:1:8:33 | sock.on ... => {}) | tst.js:55:3:55:27 | socket. ... ssage') |
|
||||
| client2.js:8:1:8:33 | sock.on ... => {}) | tst.js:66:3:66:36 | socket. ... dcast') |
|
||||
| client2.js:10:1:12:2 | sock.on ... d");\\n}) | tst.js:30:1:30:28 | ns.emit ... event') |
|
||||
| client2.js:10:1:12:2 | sock.on ... d");\\n}) | tst.js:31:1:31:20 | ns.send('a message') |
|
||||
| client2.js:10:1:12:2 | sock.on ... d");\\n}) | tst.js:39:1:39:31 | io.emit ... ssage') |
|
||||
| client2.js:10:1:12:2 | sock.on ... d");\\n}) | tst.js:40:1:40:20 | io.send('a message') |
|
||||
| client2.js:10:1:12:2 | sock.on ... d");\\n}) | tst.js:41:1:41:21 | io.writ ... ssage') |
|
||||
| client2.js:10:1:12:2 | sock.on ... d");\\n}) | tst.js:51:3:51:22 | socket.emit('event') |
|
||||
| client2.js:10:1:12:2 | sock.on ... d");\\n}) | tst.js:54:3:54:43 | socket. ... => {}) |
|
||||
| client2.js:10:1:12:2 | sock.on ... d");\\n}) | tst.js:55:3:55:27 | socket. ... ssage') |
|
||||
| client2.js:10:1:12:2 | sock.on ... d");\\n}) | tst.js:66:3:66:36 | socket. ... dcast') |
|
||||
| client2.js:18:1:18:41 | sock2.o ... dler')) | tst.js:32:1:32:22 | ns2.wri ... ssage') |
|
||||
test_ReceiveNode
|
||||
| tst.js:71:3:71:35 | socket. ... => {}) | tst.js:70:22:70:27 | socket |
|
||||
| tst.js:72:3:72:46 | socket. ... => {}) | tst.js:70:22:70:27 | socket |
|
||||
| tst.js:73:3:73:43 | socket. ... => {}) | tst.js:70:22:70:27 | socket |
|
||||
test_SendNode_getSentItem
|
||||
| tst.js:30:1:30:28 | ns.emit ... event') | 0 | tst.js:30:18:30:27 | 'an event' |
|
||||
| tst.js:31:1:31:20 | ns.send('a message') | 0 | tst.js:31:9:31:19 | 'a message' |
|
||||
| tst.js:32:1:32:22 | ns2.wri ... ssage') | 0 | tst.js:32:11:32:21 | 'a message' |
|
||||
| tst.js:39:1:39:31 | io.emit ... ssage') | 0 | tst.js:39:20:39:30 | 'a message' |
|
||||
| tst.js:40:1:40:20 | io.send('a message') | 0 | tst.js:40:9:40:19 | 'a message' |
|
||||
| tst.js:41:1:41:21 | io.writ ... ssage') | 0 | tst.js:41:10:41:20 | 'a message' |
|
||||
| tst.js:54:3:54:43 | socket. ... => {}) | 0 | tst.js:54:15:54:17 | 'a' |
|
||||
| tst.js:54:3:54:43 | socket. ... => {}) | 1 | tst.js:54:20:54:28 | 'message' |
|
||||
| tst.js:55:3:55:27 | socket. ... ssage') | 0 | tst.js:55:16:55:26 | 'a message' |
|
||||
test_ClientSendNode
|
||||
| client2.js:14:1:14:32 | sock.em ... there") | client2.js:1:12:1:56 | require ... lhost") | / |
|
||||
| client2.js:16:1:16:36 | sock.wr ... => {}) | client2.js:1:12:1:56 | require ... lhost") | / |
|
||||
test_NamespaceObject
|
||||
| socket.io namespace with path '/' | tst.js:1:12:1:33 | require ... .io')() | / |
|
||||
| socket.io namespace with path '/' | tst.js:4:13:4:24 | new Server() | / |
|
||||
| socket.io namespace with path '/' | tst.js:6:13:6:27 | Server.listen() | / |
|
||||
| socket.io namespace with path '/foo/bar' | tst.js:1:12:1:33 | require ... .io')() | /foo/bar |
|
||||
test_SendNode_getAck
|
||||
| tst.js:54:3:54:43 | socket. ... => {}) | tst.js:54:31:54:42 | (data) => {} |
|
||||
test_ClientSocketNode
|
||||
| client1.js:1:1:1:4 | io() | / |
|
||||
| client1.js:2:1:2:23 | io.conn ... sages") | /messages |
|
||||
| client2.js:1:12:1:56 | require ... lhost") | / |
|
||||
| client2.js:2:13:2:85 | require ... v#abc") | /foo/bar |
|
||||
| client3.js:3:1:3:4 | io() | / |
|
||||
| client4.js:3:1:3:4 | io() | / |
|
||||
| client4.js:4:1:4:23 | io.conn ... sages") | /messages |
|
||||
test_ClientReceiveNode
|
||||
| client2.js:4:1:6:2 | sock.on ... y);\\n}) | client2.js:1:12:1:56 | require ... lhost") |
|
||||
| client2.js:8:1:8:33 | sock.on ... => {}) | client2.js:1:12:1:56 | require ... lhost") |
|
||||
| client2.js:10:1:12:2 | sock.on ... d");\\n}) | client2.js:1:12:1:56 | require ... lhost") |
|
||||
| client2.js:18:1:18:41 | sock2.o ... dler')) | client2.js:2:13:2:85 | require ... v#abc") |
|
||||
test_AdditionalFlowStep
|
||||
| client2.js:16:12:16:25 | "do you copy?" | tst.js:71:25:71:27 | msg |
|
||||
| client2.js:16:12:16:25 | "do you copy?" | tst.js:72:27:72:31 | data1 |
|
||||
@@ -95,126 +133,23 @@ test_AdditionalFlowStep
|
||||
| tst.js:54:20:54:28 | 'message' | client2.js:4:24:4:24 | y |
|
||||
| tst.js:55:16:55:26 | 'a message' | client2.js:4:21:4:21 | x |
|
||||
| tst.js:55:16:55:26 | 'a message' | client2.js:8:23:8:25 | msg |
|
||||
test_ClientSendNode_getAck
|
||||
| client2.js:16:1:16:36 | sock.wr ... => {}) | client2.js:16:28:16:35 | () => {} |
|
||||
test_SocketNode
|
||||
| tst.js:50:19:50:24 | socket | socket.io namespace with path '/' |
|
||||
| tst.js:51:3:51:22 | socket.emit('event') | socket.io namespace with path '/' |
|
||||
| tst.js:52:3:52:17 | socket.to(room) | socket.io namespace with path '/' |
|
||||
| tst.js:53:3:53:17 | socket.in(room) | socket.io namespace with path '/' |
|
||||
| tst.js:54:3:54:43 | socket. ... => {}) | socket.io namespace with path '/' |
|
||||
| tst.js:55:3:55:27 | socket. ... ssage') | socket.io namespace with path '/' |
|
||||
| tst.js:56:3:56:19 | socket.join(room) | socket.io namespace with path '/' |
|
||||
| tst.js:57:3:57:20 | socket.leave(room) | socket.io namespace with path '/' |
|
||||
| tst.js:58:3:58:16 | socket.use(cb) | socket.io namespace with path '/' |
|
||||
| tst.js:59:3:59:23 | socket. ... s(true) | socket.io namespace with path '/' |
|
||||
| tst.js:60:3:60:22 | socket.binary(false) | socket.io namespace with path '/' |
|
||||
| tst.js:61:3:61:25 | socket. ... t(true) | socket.io namespace with path '/' |
|
||||
| tst.js:62:3:62:13 | socket.json | socket.io namespace with path '/' |
|
||||
| tst.js:63:3:63:17 | socket.volatile | socket.io namespace with path '/' |
|
||||
| tst.js:64:3:64:18 | socket.broadcast | socket.io namespace with path '/' |
|
||||
| tst.js:65:3:65:14 | socket.local | socket.io namespace with path '/' |
|
||||
| tst.js:66:3:66:18 | socket.broadcast | socket.io namespace with path '/' |
|
||||
| tst.js:66:3:66:36 | socket. ... dcast') | socket.io namespace with path '/' |
|
||||
| tst.js:68:22:68:27 | socket | socket.io namespace with path '/' |
|
||||
| tst.js:69:19:69:24 | socket | socket.io namespace with path '/' |
|
||||
| tst.js:70:22:70:27 | socket | socket.io namespace with path '/' |
|
||||
| tst.js:71:3:71:35 | socket. ... => {}) | socket.io namespace with path '/' |
|
||||
| tst.js:72:3:72:46 | socket. ... => {}) | socket.io namespace with path '/' |
|
||||
| tst.js:73:3:73:43 | socket. ... => {}) | socket.io namespace with path '/' |
|
||||
| tst.js:84:16:84:21 | socket | socket.io namespace with path '/' |
|
||||
test_ClientSendNode_getEventName
|
||||
| client2.js:14:1:14:32 | sock.em ... there") | data |
|
||||
| client2.js:16:1:16:36 | sock.wr ... => {}) | message |
|
||||
test_ClientSendNode_getSentItem
|
||||
| client2.js:14:1:14:32 | sock.em ... there") | 0 | client2.js:14:19:14:22 | "hi" |
|
||||
| client2.js:14:1:14:32 | sock.em ... there") | 1 | client2.js:14:25:14:31 | "there" |
|
||||
| client2.js:16:1:16:36 | sock.wr ... => {}) | 0 | client2.js:16:12:16:25 | "do you copy?" |
|
||||
test_ReceiveNode_getEventName
|
||||
| tst.js:71:3:71:35 | socket. ... => {}) | message |
|
||||
| tst.js:72:3:72:46 | socket. ... => {}) | message |
|
||||
test_ClientSocketNode
|
||||
| client1.js:1:1:1:4 | io() | / |
|
||||
| client1.js:2:1:2:23 | io.conn ... sages") | /messages |
|
||||
| client2.js:1:12:1:56 | require ... lhost") | / |
|
||||
| client2.js:2:13:2:85 | require ... v#abc") | /foo/bar |
|
||||
| client3.js:3:1:3:4 | io() | / |
|
||||
| client4.js:3:1:3:4 | io() | / |
|
||||
| client4.js:4:1:4:23 | io.conn ... sages") | /messages |
|
||||
test_ReceiveNode_getASender
|
||||
| tst.js:71:3:71:35 | socket. ... => {}) | client2.js:14:1:14:32 | sock.em ... there") |
|
||||
| tst.js:71:3:71:35 | socket. ... => {}) | client2.js:16:1:16:36 | sock.wr ... => {}) |
|
||||
| tst.js:72:3:72:46 | socket. ... => {}) | client2.js:14:1:14:32 | sock.em ... there") |
|
||||
| tst.js:72:3:72:46 | socket. ... => {}) | client2.js:16:1:16:36 | sock.wr ... => {}) |
|
||||
| tst.js:73:3:73:43 | socket. ... => {}) | client2.js:14:1:14:32 | sock.em ... there") |
|
||||
| tst.js:73:3:73:43 | socket. ... => {}) | client2.js:16:1:16:36 | sock.wr ... => {}) |
|
||||
test_ReceiveNode_getReceivedItem
|
||||
| tst.js:71:3:71:35 | socket. ... => {}) | 0 | tst.js:71:25:71:27 | msg |
|
||||
| tst.js:72:3:72:46 | socket. ... => {}) | 0 | tst.js:72:27:72:31 | data1 |
|
||||
| tst.js:72:3:72:46 | socket. ... => {}) | 1 | tst.js:72:34:72:38 | data2 |
|
||||
test_SendNode_getSocket
|
||||
| tst.js:51:3:51:22 | socket.emit('event') | tst.js:50:19:50:24 | socket |
|
||||
| tst.js:54:3:54:43 | socket. ... => {}) | tst.js:50:19:50:24 | socket |
|
||||
| tst.js:55:3:55:27 | socket. ... ssage') | tst.js:50:19:50:24 | socket |
|
||||
| tst.js:66:3:66:36 | socket. ... dcast') | tst.js:50:19:50:24 | socket |
|
||||
test_ServerNode
|
||||
| tst.js:1:12:1:33 | require ... .io')() | tst.js:1:12:1:33 | require ... .io')() |
|
||||
| tst.js:4:13:4:24 | new Server() | tst.js:4:13:4:24 | new Server() |
|
||||
| tst.js:6:13:6:27 | Server.listen() | tst.js:6:13:6:27 | Server.listen() |
|
||||
| tst.js:9:1:9:21 | io.serv ... (false) | tst.js:1:12:1:33 | require ... .io')() |
|
||||
| tst.js:10:1:10:21 | io.set( ... s', []) | tst.js:1:12:1:33 | require ... .io')() |
|
||||
| tst.js:11:1:11:21 | io.path ... npath') | tst.js:1:12:1:33 | require ... .io')() |
|
||||
| tst.js:12:1:12:15 | io.adapter(foo) | tst.js:1:12:1:33 | require ... .io')() |
|
||||
| tst.js:13:1:13:14 | io.origins([]) | tst.js:1:12:1:33 | require ... .io')() |
|
||||
| tst.js:14:1:14:15 | io.listen(http) | tst.js:1:12:1:33 | require ... .io')() |
|
||||
| tst.js:15:1:15:15 | io.attach(http) | tst.js:1:12:1:33 | require ... .io')() |
|
||||
| tst.js:16:1:16:15 | io.bind(engine) | tst.js:1:12:1:33 | require ... .io')() |
|
||||
| tst.js:17:1:17:23 | io.onco ... socket) | tst.js:1:12:1:33 | require ... .io')() |
|
||||
| tst.js:50:1:67:2 | io.on(' ... t');\\n}) | tst.js:1:12:1:33 | require ... .io')() |
|
||||
| tst.js:68:1:68:35 | io.on(' ... => {}) | tst.js:1:12:1:33 | require ... .io')() |
|
||||
| tst.js:80:1:80:10 | obj.server | tst.js:1:12:1:33 | require ... .io')() |
|
||||
| tst.js:85:1:85:37 | io.on(' ... , "x")) | tst.js:1:12:1:33 | require ... .io')() |
|
||||
test_ClientSendNode_getAReceiver
|
||||
| client2.js:14:1:14:32 | sock.em ... there") | tst.js:71:3:71:35 | socket. ... => {}) |
|
||||
| client2.js:14:1:14:32 | sock.em ... there") | tst.js:72:3:72:46 | socket. ... => {}) |
|
||||
| client2.js:14:1:14:32 | sock.em ... there") | tst.js:73:3:73:43 | socket. ... => {}) |
|
||||
| client2.js:16:1:16:36 | sock.wr ... => {}) | tst.js:71:3:71:35 | socket. ... => {}) |
|
||||
| client2.js:16:1:16:36 | sock.wr ... => {}) | tst.js:72:3:72:46 | socket. ... => {}) |
|
||||
| client2.js:16:1:16:36 | sock.wr ... => {}) | tst.js:73:3:73:43 | socket. ... => {}) |
|
||||
test_ClientReceiveNode_getAck
|
||||
| client2.js:10:1:12:2 | sock.on ... d");\\n}) | client2.js:10:22:10:23 | cb |
|
||||
test_ClientReceiveNode_getReceivedItem
|
||||
| client2.js:4:1:6:2 | sock.on ... y);\\n}) | 0 | client2.js:4:21:4:21 | x |
|
||||
| client2.js:4:1:6:2 | sock.on ... y);\\n}) | 1 | client2.js:4:24:4:24 | y |
|
||||
| client2.js:8:1:8:33 | sock.on ... => {}) | 0 | client2.js:8:23:8:25 | msg |
|
||||
| client2.js:10:1:12:2 | sock.on ... d");\\n}) | 0 | client2.js:10:19:10:19 | x |
|
||||
| client2.js:18:1:18:41 | sock2.o ... dler')) | 0 | handler.js:1:19:1:19 | x |
|
||||
test_NamespaceObject
|
||||
| socket.io namespace with path '/' | tst.js:1:12:1:33 | require ... .io')() | / |
|
||||
| socket.io namespace with path '/' | tst.js:4:13:4:24 | new Server() | / |
|
||||
| socket.io namespace with path '/' | tst.js:6:13:6:27 | Server.listen() | / |
|
||||
| socket.io namespace with path '/foo/bar' | tst.js:1:12:1:33 | require ... .io')() | /foo/bar |
|
||||
test_ClientReceiveNode
|
||||
| client2.js:4:1:6:2 | sock.on ... y);\\n}) | client2.js:1:12:1:56 | require ... lhost") |
|
||||
| client2.js:8:1:8:33 | sock.on ... => {}) | client2.js:1:12:1:56 | require ... lhost") |
|
||||
| client2.js:10:1:12:2 | sock.on ... d");\\n}) | client2.js:1:12:1:56 | require ... lhost") |
|
||||
| client2.js:18:1:18:41 | sock2.o ... dler')) | client2.js:2:13:2:85 | require ... v#abc") |
|
||||
test_ClientSendNode
|
||||
| client2.js:14:1:14:32 | sock.em ... there") | client2.js:1:12:1:56 | require ... lhost") | / |
|
||||
| client2.js:16:1:16:36 | sock.wr ... => {}) | client2.js:1:12:1:56 | require ... lhost") | / |
|
||||
test_SendNode_getAck
|
||||
| tst.js:54:3:54:43 | socket. ... => {}) | tst.js:54:31:54:42 | (data) => {} |
|
||||
test_SendNode
|
||||
| tst.js:30:1:30:28 | ns.emit ... event') | socket.io namespace with path '/' |
|
||||
| tst.js:31:1:31:20 | ns.send('a message') | socket.io namespace with path '/' |
|
||||
| tst.js:32:1:32:22 | ns2.wri ... ssage') | socket.io namespace with path '/foo/bar' |
|
||||
| tst.js:39:1:39:31 | io.emit ... ssage') | socket.io namespace with path '/' |
|
||||
| tst.js:40:1:40:20 | io.send('a message') | socket.io namespace with path '/' |
|
||||
| tst.js:41:1:41:21 | io.writ ... ssage') | socket.io namespace with path '/' |
|
||||
| tst.js:51:3:51:22 | socket.emit('event') | socket.io namespace with path '/' |
|
||||
| tst.js:54:3:54:43 | socket. ... => {}) | socket.io namespace with path '/' |
|
||||
| tst.js:55:3:55:27 | socket. ... ssage') | socket.io namespace with path '/' |
|
||||
| tst.js:66:3:66:36 | socket. ... dcast') | socket.io namespace with path '/' |
|
||||
test_SendNode_getSentItem
|
||||
| tst.js:30:1:30:28 | ns.emit ... event') | 0 | tst.js:30:18:30:27 | 'an event' |
|
||||
| tst.js:31:1:31:20 | ns.send('a message') | 0 | tst.js:31:9:31:19 | 'a message' |
|
||||
| tst.js:32:1:32:22 | ns2.wri ... ssage') | 0 | tst.js:32:11:32:21 | 'a message' |
|
||||
| tst.js:39:1:39:31 | io.emit ... ssage') | 0 | tst.js:39:20:39:30 | 'a message' |
|
||||
| tst.js:40:1:40:20 | io.send('a message') | 0 | tst.js:40:9:40:19 | 'a message' |
|
||||
| tst.js:41:1:41:21 | io.writ ... ssage') | 0 | tst.js:41:10:41:20 | 'a message' |
|
||||
| tst.js:54:3:54:43 | socket. ... => {}) | 0 | tst.js:54:15:54:17 | 'a' |
|
||||
| tst.js:54:3:54:43 | socket. ... => {}) | 1 | tst.js:54:20:54:28 | 'message' |
|
||||
| tst.js:55:3:55:27 | socket. ... ssage') | 0 | tst.js:55:16:55:26 | 'a message' |
|
||||
test_ClientSendNode_getAck
|
||||
| client2.js:16:1:16:36 | sock.wr ... => {}) | client2.js:16:28:16:35 | () => {} |
|
||||
test_SendNode_getAReceiver
|
||||
| tst.js:30:1:30:28 | ns.emit ... event') | client2.js:4:1:6:2 | sock.on ... y);\\n}) |
|
||||
| tst.js:30:1:30:28 | ns.emit ... event') | client2.js:8:1:8:33 | sock.on ... => {}) |
|
||||
@@ -244,7 +179,72 @@ test_SendNode_getAReceiver
|
||||
| tst.js:66:3:66:36 | socket. ... dcast') | client2.js:4:1:6:2 | sock.on ... y);\\n}) |
|
||||
| tst.js:66:3:66:36 | socket. ... dcast') | client2.js:8:1:8:33 | sock.on ... => {}) |
|
||||
| tst.js:66:3:66:36 | socket. ... dcast') | client2.js:10:1:12:2 | sock.on ... d");\\n}) |
|
||||
test_ServerObject
|
||||
| tst.js:1:12:1:33 | require ... .io')() | tst.js:1:12:1:33 | require ... .io')() | socket.io namespace with path '/' |
|
||||
| tst.js:4:13:4:24 | new Server() | tst.js:4:13:4:24 | new Server() | socket.io namespace with path '/' |
|
||||
| tst.js:6:13:6:27 | Server.listen() | tst.js:6:13:6:27 | Server.listen() | socket.io namespace with path '/' |
|
||||
test_ReceiveNode_getASender
|
||||
| tst.js:71:3:71:35 | socket. ... => {}) | client2.js:14:1:14:32 | sock.em ... there") |
|
||||
| tst.js:71:3:71:35 | socket. ... => {}) | client2.js:16:1:16:36 | sock.wr ... => {}) |
|
||||
| tst.js:72:3:72:46 | socket. ... => {}) | client2.js:14:1:14:32 | sock.em ... there") |
|
||||
| tst.js:72:3:72:46 | socket. ... => {}) | client2.js:16:1:16:36 | sock.wr ... => {}) |
|
||||
| tst.js:73:3:73:43 | socket. ... => {}) | client2.js:14:1:14:32 | sock.em ... there") |
|
||||
| tst.js:73:3:73:43 | socket. ... => {}) | client2.js:16:1:16:36 | sock.wr ... => {}) |
|
||||
test_ClientReceiveNode_getAck
|
||||
| client2.js:10:1:12:2 | sock.on ... d");\\n}) | client2.js:10:22:10:23 | cb |
|
||||
test_ReceiveNode_getEventName
|
||||
| tst.js:71:3:71:35 | socket. ... => {}) | message |
|
||||
| tst.js:72:3:72:46 | socket. ... => {}) | message |
|
||||
test_ClientSendNode_getSentItem
|
||||
| client2.js:14:1:14:32 | sock.em ... there") | 0 | client2.js:14:19:14:22 | "hi" |
|
||||
| client2.js:14:1:14:32 | sock.em ... there") | 1 | client2.js:14:25:14:31 | "there" |
|
||||
| client2.js:16:1:16:36 | sock.wr ... => {}) | 0 | client2.js:16:12:16:25 | "do you copy?" |
|
||||
test_ClientSendNode_getAReceiver
|
||||
| client2.js:14:1:14:32 | sock.em ... there") | tst.js:71:3:71:35 | socket. ... => {}) |
|
||||
| client2.js:14:1:14:32 | sock.em ... there") | tst.js:72:3:72:46 | socket. ... => {}) |
|
||||
| client2.js:14:1:14:32 | sock.em ... there") | tst.js:73:3:73:43 | socket. ... => {}) |
|
||||
| client2.js:16:1:16:36 | sock.wr ... => {}) | tst.js:71:3:71:35 | socket. ... => {}) |
|
||||
| client2.js:16:1:16:36 | sock.wr ... => {}) | tst.js:72:3:72:46 | socket. ... => {}) |
|
||||
| client2.js:16:1:16:36 | sock.wr ... => {}) | tst.js:73:3:73:43 | socket. ... => {}) |
|
||||
test_ClientSendNode_getEventName
|
||||
| client2.js:14:1:14:32 | sock.em ... there") | data |
|
||||
| client2.js:16:1:16:36 | sock.wr ... => {}) | message |
|
||||
test_ReceiveNode_getReceivedItem
|
||||
| tst.js:71:3:71:35 | socket. ... => {}) | 0 | tst.js:71:25:71:27 | msg |
|
||||
| tst.js:72:3:72:46 | socket. ... => {}) | 0 | tst.js:72:27:72:31 | data1 |
|
||||
| tst.js:72:3:72:46 | socket. ... => {}) | 1 | tst.js:72:34:72:38 | data2 |
|
||||
test_ClientReceiveNode_getASender
|
||||
| client2.js:4:1:6:2 | sock.on ... y);\\n}) | tst.js:30:1:30:28 | ns.emit ... event') |
|
||||
| client2.js:4:1:6:2 | sock.on ... y);\\n}) | tst.js:31:1:31:20 | ns.send('a message') |
|
||||
| client2.js:4:1:6:2 | sock.on ... y);\\n}) | tst.js:39:1:39:31 | io.emit ... ssage') |
|
||||
| client2.js:4:1:6:2 | sock.on ... y);\\n}) | tst.js:40:1:40:20 | io.send('a message') |
|
||||
| client2.js:4:1:6:2 | sock.on ... y);\\n}) | tst.js:41:1:41:21 | io.writ ... ssage') |
|
||||
| client2.js:4:1:6:2 | sock.on ... y);\\n}) | tst.js:51:3:51:22 | socket.emit('event') |
|
||||
| client2.js:4:1:6:2 | sock.on ... y);\\n}) | tst.js:54:3:54:43 | socket. ... => {}) |
|
||||
| client2.js:4:1:6:2 | sock.on ... y);\\n}) | tst.js:55:3:55:27 | socket. ... ssage') |
|
||||
| client2.js:4:1:6:2 | sock.on ... y);\\n}) | tst.js:66:3:66:36 | socket. ... dcast') |
|
||||
| client2.js:8:1:8:33 | sock.on ... => {}) | tst.js:30:1:30:28 | ns.emit ... event') |
|
||||
| client2.js:8:1:8:33 | sock.on ... => {}) | tst.js:31:1:31:20 | ns.send('a message') |
|
||||
| client2.js:8:1:8:33 | sock.on ... => {}) | tst.js:39:1:39:31 | io.emit ... ssage') |
|
||||
| client2.js:8:1:8:33 | sock.on ... => {}) | tst.js:40:1:40:20 | io.send('a message') |
|
||||
| client2.js:8:1:8:33 | sock.on ... => {}) | tst.js:41:1:41:21 | io.writ ... ssage') |
|
||||
| client2.js:8:1:8:33 | sock.on ... => {}) | tst.js:51:3:51:22 | socket.emit('event') |
|
||||
| client2.js:8:1:8:33 | sock.on ... => {}) | tst.js:54:3:54:43 | socket. ... => {}) |
|
||||
| client2.js:8:1:8:33 | sock.on ... => {}) | tst.js:55:3:55:27 | socket. ... ssage') |
|
||||
| client2.js:8:1:8:33 | sock.on ... => {}) | tst.js:66:3:66:36 | socket. ... dcast') |
|
||||
| client2.js:10:1:12:2 | sock.on ... d");\\n}) | tst.js:30:1:30:28 | ns.emit ... event') |
|
||||
| client2.js:10:1:12:2 | sock.on ... d");\\n}) | tst.js:31:1:31:20 | ns.send('a message') |
|
||||
| client2.js:10:1:12:2 | sock.on ... d");\\n}) | tst.js:39:1:39:31 | io.emit ... ssage') |
|
||||
| client2.js:10:1:12:2 | sock.on ... d");\\n}) | tst.js:40:1:40:20 | io.send('a message') |
|
||||
| client2.js:10:1:12:2 | sock.on ... d");\\n}) | tst.js:41:1:41:21 | io.writ ... ssage') |
|
||||
| client2.js:10:1:12:2 | sock.on ... d");\\n}) | tst.js:51:3:51:22 | socket.emit('event') |
|
||||
| client2.js:10:1:12:2 | sock.on ... d");\\n}) | tst.js:54:3:54:43 | socket. ... => {}) |
|
||||
| client2.js:10:1:12:2 | sock.on ... d");\\n}) | tst.js:55:3:55:27 | socket. ... ssage') |
|
||||
| client2.js:10:1:12:2 | sock.on ... d");\\n}) | tst.js:66:3:66:36 | socket. ... dcast') |
|
||||
| client2.js:18:1:18:41 | sock2.o ... dler')) | tst.js:32:1:32:22 | ns2.wri ... ssage') |
|
||||
test_ClientReceiveNode_getEventName
|
||||
| client2.js:4:1:6:2 | sock.on ... y);\\n}) | message |
|
||||
| client2.js:10:1:12:2 | sock.on ... d");\\n}) | event |
|
||||
| client2.js:18:1:18:41 | sock2.o ... dler')) | message |
|
||||
test_ClientReceiveNode_getReceivedItem
|
||||
| client2.js:4:1:6:2 | sock.on ... y);\\n}) | 0 | client2.js:4:21:4:21 | x |
|
||||
| client2.js:4:1:6:2 | sock.on ... y);\\n}) | 1 | client2.js:4:24:4:24 | y |
|
||||
| client2.js:8:1:8:33 | sock.on ... => {}) | 0 | client2.js:8:23:8:25 | msg |
|
||||
| client2.js:10:1:12:2 | sock.on ... d");\\n}) | 0 | client2.js:10:19:10:19 | x |
|
||||
| client2.js:18:1:18:41 | sock2.o ... dler')) | 0 | handler.js:1:19:1:19 | x |
|
||||
|
||||
@@ -50,6 +50,9 @@ nodes
|
||||
| app.js:66:18:66:34 | req.query.rawHtml |
|
||||
| app.js:66:18:66:34 | req.query.rawHtml |
|
||||
| app.js:66:18:66:34 | req.query.rawHtml |
|
||||
| app.js:73:18:73:30 | req.query.foo |
|
||||
| app.js:73:18:73:30 | req.query.foo |
|
||||
| app.js:73:18:73:30 | req.query.foo |
|
||||
| projectA/src/index.js:6:38:6:53 | req.query.taintA |
|
||||
| projectA/src/index.js:6:38:6:53 | req.query.taintA |
|
||||
| projectA/src/index.js:6:38:6:53 | req.query.taintA |
|
||||
@@ -144,6 +147,11 @@ nodes
|
||||
| views/angularjs_sinks.ejs:4:9:4:22 | <%- rawHtml %> |
|
||||
| views/angularjs_sinks.ejs:4:13:4:19 | rawHtml |
|
||||
| views/angularjs_sinks.ejs:4:13:4:19 | rawHtml |
|
||||
| views/dot_sinks.html.dot:3:9:3:22 | {{! tainted }} |
|
||||
| views/dot_sinks.html.dot:3:9:3:22 | {{! tainted }} |
|
||||
| views/dot_sinks.html.dot:3:9:3:22 | {{! tainted }} |
|
||||
| views/dot_sinks.html.dot:3:13:3:19 | tainted |
|
||||
| views/dot_sinks.html.dot:3:13:3:19 | tainted |
|
||||
| views/ejs_include1.ejs:1:1:1:10 | <%- foo %> |
|
||||
| views/ejs_include1.ejs:1:1:1:10 | <%- foo %> |
|
||||
| views/ejs_include1.ejs:1:1:1:10 | <%- foo %> |
|
||||
@@ -367,6 +375,10 @@ edges
|
||||
| app.js:66:18:66:34 | req.query.rawHtml | views/angularjs_sinks.ejs:4:13:4:19 | rawHtml |
|
||||
| app.js:66:18:66:34 | req.query.rawHtml | views/angularjs_sinks.ejs:4:13:4:19 | rawHtml |
|
||||
| app.js:66:18:66:34 | req.query.rawHtml | views/angularjs_sinks.ejs:4:13:4:19 | rawHtml |
|
||||
| app.js:73:18:73:30 | req.query.foo | views/dot_sinks.html.dot:3:13:3:19 | tainted |
|
||||
| app.js:73:18:73:30 | req.query.foo | views/dot_sinks.html.dot:3:13:3:19 | tainted |
|
||||
| app.js:73:18:73:30 | req.query.foo | views/dot_sinks.html.dot:3:13:3:19 | tainted |
|
||||
| app.js:73:18:73:30 | req.query.foo | views/dot_sinks.html.dot:3:13:3:19 | tainted |
|
||||
| projectA/src/index.js:6:38:6:53 | req.query.taintA | projectA/views/main.ejs:5:5:5:23 | taintedInMiddleware |
|
||||
| projectA/src/index.js:6:38:6:53 | req.query.taintA | projectA/views/main.ejs:5:5:5:23 | taintedInMiddleware |
|
||||
| projectA/src/index.js:6:38:6:53 | req.query.taintA | projectA/views/main.ejs:5:5:5:23 | taintedInMiddleware |
|
||||
@@ -463,6 +475,10 @@ edges
|
||||
| views/angularjs_sinks.ejs:4:13:4:19 | rawHtml | views/angularjs_sinks.ejs:4:9:4:22 | <%- rawHtml %> |
|
||||
| views/angularjs_sinks.ejs:4:13:4:19 | rawHtml | views/angularjs_sinks.ejs:4:9:4:22 | <%- rawHtml %> |
|
||||
| views/angularjs_sinks.ejs:4:13:4:19 | rawHtml | views/angularjs_sinks.ejs:4:9:4:22 | <%- rawHtml %> |
|
||||
| views/dot_sinks.html.dot:3:13:3:19 | tainted | views/dot_sinks.html.dot:3:9:3:22 | {{! tainted }} |
|
||||
| views/dot_sinks.html.dot:3:13:3:19 | tainted | views/dot_sinks.html.dot:3:9:3:22 | {{! tainted }} |
|
||||
| views/dot_sinks.html.dot:3:13:3:19 | tainted | views/dot_sinks.html.dot:3:9:3:22 | {{! tainted }} |
|
||||
| views/dot_sinks.html.dot:3:13:3:19 | tainted | views/dot_sinks.html.dot:3:9:3:22 | {{! tainted }} |
|
||||
| views/ejs_include1.ejs:1:5:1:7 | foo | views/ejs_include1.ejs:1:1:1:10 | <%- foo %> |
|
||||
| views/ejs_include1.ejs:1:5:1:7 | foo | views/ejs_include1.ejs:1:1:1:10 | <%- foo %> |
|
||||
| views/ejs_include1.ejs:1:5:1:7 | foo | views/ejs_include1.ejs:1:1:1:10 | <%- foo %> |
|
||||
@@ -553,6 +569,7 @@ edges
|
||||
| projectB/views/subfolder/other.ejs:3:1:3:12 | <%- sinkB %> | projectB/src/index.js:43:16:43:30 | req.query.sinkB | projectB/views/subfolder/other.ejs:3:1:3:12 | <%- sinkB %> | Cross-site scripting vulnerability due to $@. | projectB/src/index.js:43:16:43:30 | req.query.sinkB | user-provided value |
|
||||
| views/angularjs_include.ejs:3:5:3:18 | <%- rawHtml %> | app.js:66:18:66:34 | req.query.rawHtml | views/angularjs_include.ejs:3:5:3:18 | <%- rawHtml %> | Cross-site scripting vulnerability due to $@. | app.js:66:18:66:34 | req.query.rawHtml | user-provided value |
|
||||
| views/angularjs_sinks.ejs:4:9:4:22 | <%- rawHtml %> | app.js:66:18:66:34 | req.query.rawHtml | views/angularjs_sinks.ejs:4:9:4:22 | <%- rawHtml %> | Cross-site scripting vulnerability due to $@. | app.js:66:18:66:34 | req.query.rawHtml | user-provided value |
|
||||
| views/dot_sinks.html.dot:3:9:3:22 | {{! tainted }} | app.js:73:18:73:30 | req.query.foo | views/dot_sinks.html.dot:3:9:3:22 | {{! tainted }} | Cross-site scripting vulnerability due to $@. | app.js:73:18:73:30 | req.query.foo | user-provided value |
|
||||
| views/ejs_include1.ejs:1:1:1:10 | <%- foo %> | app.js:8:18:8:34 | req.query.rawHtml | views/ejs_include1.ejs:1:1:1:10 | <%- foo %> | Cross-site scripting vulnerability due to $@. | app.js:8:18:8:34 | req.query.rawHtml | user-provided value |
|
||||
| views/ejs_include2.ejs:1:1:1:14 | <%- rawHtml %> | app.js:8:18:8:34 | req.query.rawHtml | views/ejs_include2.ejs:1:1:1:14 | <%- rawHtml %> | Cross-site scripting vulnerability due to $@. | app.js:8:18:8:34 | req.query.rawHtml | user-provided value |
|
||||
| views/ejs_sinks.ejs:4:9:4:22 | <%- rawHtml %> | app.js:8:18:8:34 | req.query.rawHtml | views/ejs_sinks.ejs:4:9:4:22 | <%- rawHtml %> | Cross-site scripting vulnerability due to $@. | app.js:8:18:8:34 | req.query.rawHtml | user-provided value |
|
||||
|
||||
@@ -66,3 +66,16 @@ app.get('/angularjs', (req, res) => {
|
||||
rawHtml: req.query.rawHtml,
|
||||
});
|
||||
});
|
||||
|
||||
app.get('/dotjs', (req, res) => {
|
||||
// Currently we don't auto-insert the full .html.dot extension. Test all variations.
|
||||
res.render('dot_sinks.html.dot', {
|
||||
tainted: req.query.foo,
|
||||
});
|
||||
res.render('dot_sinks.html', {
|
||||
tainted: req.query.foo,
|
||||
});
|
||||
res.render('dot_sinks', {
|
||||
tainted: req.query.foo,
|
||||
});
|
||||
});
|
||||
|
||||
@@ -12,6 +12,7 @@ getLikelyTemplateSyntax
|
||||
| projectB/views/subfolder/other.ejs:0:0:0:0 | projectB/views/subfolder/other.ejs | ejs |
|
||||
| views/angularjs_include.ejs:0:0:0:0 | views/angularjs_include.ejs | ejs |
|
||||
| views/angularjs_sinks.ejs:0:0:0:0 | views/angularjs_sinks.ejs | ejs |
|
||||
| views/dot_sinks.html.dot:0:0:0:0 | views/dot_sinks.html.dot | dot |
|
||||
| views/ejs_include1.ejs:0:0:0:0 | views/ejs_include1.ejs | ejs |
|
||||
| views/ejs_include2.ejs:0:0:0:0 | views/ejs_include2.ejs | ejs |
|
||||
| views/ejs_sinks.ejs:0:0:0:0 | views/ejs_sinks.ejs | ejs |
|
||||
@@ -24,6 +25,7 @@ getTargetFile
|
||||
| app.js:25:5:40:6 | res.ren ... \\n }) | views/hbs_sinks.hbs:0:0:0:0 | views/hbs_sinks.hbs |
|
||||
| app.js:44:5:60:6 | res.ren ... \\n }) | views/njk_sinks.njk:0:0:0:0 | views/njk_sinks.njk |
|
||||
| app.js:64:5:67:6 | res.ren ... \\n }) | views/angularjs_sinks.ejs:0:0:0:0 | views/angularjs_sinks.ejs |
|
||||
| app.js:72:5:74:6 | res.ren ... \\n }) | views/dot_sinks.html.dot:0:0:0:0 | views/dot_sinks.html.dot |
|
||||
| consolidate.js:3:1:3:83 | consoli ... => {}) | views/instantiated_as_ejs.html:0:0:0:0 | views/instantiated_as_ejs.html |
|
||||
| consolidate.js:4:1:4:90 | consoli ... => {}) | views/instantiated_as_hbs.html:0:0:0:0 | views/instantiated_as_hbs.html |
|
||||
| projectA/src/index.js:11:5:14:6 | res.ren ... \\n }) | projectA/views/main.ejs:0:0:0:0 | projectA/views/main.ejs |
|
||||
@@ -50,6 +52,7 @@ xssSink
|
||||
| projectB/views/subfolder/other.ejs:3:1:3:12 | <%- sinkB %> |
|
||||
| views/angularjs_include.ejs:3:5:3:18 | <%- rawHtml %> |
|
||||
| views/angularjs_sinks.ejs:4:9:4:22 | <%- rawHtml %> |
|
||||
| views/dot_sinks.html.dot:3:9:3:22 | {{! tainted }} |
|
||||
| views/ejs_include1.ejs:1:1:1:10 | <%- foo %> |
|
||||
| views/ejs_include2.ejs:1:1:1:14 | <%- rawHtml %> |
|
||||
| views/ejs_sinks.ejs:4:9:4:22 | <%- rawHtml %> |
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
<html>
|
||||
<body>
|
||||
{{! tainted }}
|
||||
{{= tainted }}
|
||||
</body>
|
||||
</html>
|
||||
@@ -66,6 +66,14 @@ taintFlow
|
||||
| test.js:231:59:231:66 | source() | test.js:231:59:231:66 | source() |
|
||||
| test.js:232:59:232:66 | source() | test.js:232:59:232:66 | source() |
|
||||
| test.js:233:59:233:66 | source() | test.js:233:59:233:66 | source() |
|
||||
| test.js:237:21:237:28 | source() | test.js:237:21:237:28 | source() |
|
||||
| test.js:238:25:238:32 | source() | test.js:238:25:238:32 | source() |
|
||||
| test.js:239:27:239:34 | source() | test.js:239:27:239:34 | source() |
|
||||
| test.js:241:17:241:24 | source() | test.js:241:17:241:24 | source() |
|
||||
| test.js:244:33:244:40 | source() | test.js:244:33:244:40 | source() |
|
||||
| test.js:249:28:249:35 | source() | test.js:249:28:249:35 | source() |
|
||||
| test.js:252:15:252:22 | source() | test.js:252:15:252:22 | source() |
|
||||
| test.js:254:32:254:39 | source() | test.js:254:32:254:39 | source() |
|
||||
isSink
|
||||
| test.js:54:18:54:25 | source() | test-sink |
|
||||
| test.js:55:22:55:29 | source() | test-sink |
|
||||
@@ -136,6 +144,14 @@ isSink
|
||||
| test.js:231:59:231:66 | source() | test-sink |
|
||||
| test.js:232:59:232:66 | source() | test-sink |
|
||||
| test.js:233:59:233:66 | source() | test-sink |
|
||||
| test.js:237:21:237:28 | source() | test-sink |
|
||||
| test.js:238:25:238:32 | source() | test-sink |
|
||||
| test.js:239:27:239:34 | source() | test-sink |
|
||||
| test.js:241:17:241:24 | source() | test-sink |
|
||||
| test.js:244:33:244:40 | source() | test-sink |
|
||||
| test.js:249:28:249:35 | source() | test-sink |
|
||||
| test.js:252:15:252:22 | source() | test-sink |
|
||||
| test.js:254:32:254:39 | source() | test-sink |
|
||||
syntaxErrors
|
||||
| Member[foo |
|
||||
| Member[foo] .Member[bar] |
|
||||
|
||||
@@ -232,3 +232,27 @@ function typeVars() {
|
||||
testlib.typevar.left.x.getThis().getThis().right.mySink(source()); // NOT OK
|
||||
testlib.typevar.left.x.right.getThis().getThis().mySink(source()); // NOT OK
|
||||
}
|
||||
|
||||
function fuzzy() {
|
||||
testlib.fuzzyCall(source()); // NOT OK
|
||||
testlib.foo.fuzzyCall(source()); // NOT OK
|
||||
testlib.foo().fuzzyCall(source()); // NOT OK
|
||||
new testlib.Blah().foo.bar(async p => {
|
||||
p.fuzzyCall(source()); // NOT OK
|
||||
p.otherCall(source()); // OK
|
||||
p.fuzzyCall().laterMethod(source()); // OK
|
||||
(await p.promise).fuzzyCall(source()); // NOT OK
|
||||
});
|
||||
|
||||
const wrapped = _.partial(testlib.foo, [123]);
|
||||
wrapped().fuzzyCall(source()); // NOT OK [INCONSISTENCY] - API graphs do not currently propagate return values through partial invocation
|
||||
wrapped(p => p.fuzzyCall(source())); // NOT OK
|
||||
|
||||
const wrappedSink = _.partial(testlib.fuzzyCall);
|
||||
wrappedSink(source()); // NOT OK
|
||||
|
||||
_.partial(testlib.fuzzyCall, source()); // NOT OK
|
||||
|
||||
fuzzyCall(source()); // OK - does not come from 'testlib'
|
||||
require('blah').fuzzyCall(source()); // OK - does not come from 'testlib'
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import javascript
|
||||
import testUtilities.ConsistencyChecking
|
||||
import semmle.javascript.frameworks.data.internal.AccessPathSyntax as AccessPathSyntax
|
||||
import semmle.javascript.frameworks.data.internal.ApiGraphModels as ApiGraphModels
|
||||
|
||||
class Steps extends ModelInput::SummaryModelCsv {
|
||||
override predicate row(string row) {
|
||||
@@ -54,6 +54,7 @@ class Sinks extends ModelInput::SinkModelCsv {
|
||||
"testlib;Member[typevar].TypeVar[ABC].Member[mySink].Argument[0];test-sink",
|
||||
"testlib;Member[typevar].TypeVar[ABC].TypeVar[ABC].Member[mySink].Argument[1];test-sink",
|
||||
"testlib;Member[typevar].TypeVar[LeftRight].Member[mySink].Argument[0];test-sink",
|
||||
"testlib;Fuzzy.Member[fuzzyCall].Argument[0];test-sink"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -125,6 +126,6 @@ class SyntaxErrorTest extends ModelInput::SinkModelCsv {
|
||||
}
|
||||
}
|
||||
|
||||
query predicate syntaxErrors(AccessPathSyntax::AccessPath path) { path.hasSyntaxError() }
|
||||
query predicate syntaxErrors(ApiGraphModels::AccessPath path) { path.hasSyntaxError() }
|
||||
|
||||
query predicate warning = ModelOutput::getAWarning/0;
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
import javascript
|
||||
import semmle.javascript.frameworks.data.internal.AccessPathSyntax as AccessPathSyntax
|
||||
import semmle.javascript.frameworks.data.internal.ApiGraphModels as ApiGraphModels
|
||||
|
||||
private class InvalidTypeModel extends ModelInput::TypeModelCsv {
|
||||
|
||||
@@ -7,6 +7,35 @@ test_RouteSetup
|
||||
| src/fastify.js:63:1:70:1 | fastify ... ;\\n }\\n) |
|
||||
| src/fastify.js:74:1:81:1 | fastify ... ;\\n }\\n) |
|
||||
| src/fastify.js:85:1:92:1 | fastify ... ;\\n }\\n) |
|
||||
test_HeaderAccess
|
||||
| src/fastify.js:39:5:39:24 | request.headers.name | name |
|
||||
test_RouteHandler
|
||||
| src/fastify.js:5:17:7:3 | async ( ... nse\\n } | src/fastify.js:1:15:1:34 | require("fastify")() |
|
||||
| src/fastify.js:13:28:13:55 | (reques ... ) => {} | src/fastify.js:1:15:1:34 | require("fastify")() |
|
||||
| src/fastify.js:14:29:14:56 | (reques ... ) => {} | src/fastify.js:1:15:1:34 | require("fastify")() |
|
||||
| src/fastify.js:15:32:15:59 | (reques ... ) => {} | src/fastify.js:1:15:1:34 | require("fastify")() |
|
||||
| src/fastify.js:16:29:16:56 | (reques ... ) => {} | src/fastify.js:1:15:1:34 | require("fastify")() |
|
||||
| src/fastify.js:17:35:17:71 | (reques ... ) => {} | src/fastify.js:1:15:1:34 | require("fastify")() |
|
||||
| src/fastify.js:18:25:18:61 | (reques ... ) => {} | src/fastify.js:1:15:1:34 | require("fastify")() |
|
||||
| src/fastify.js:19:29:19:56 | (reques ... ) => {} | src/fastify.js:1:15:1:34 | require("fastify")() |
|
||||
| src/fastify.js:20:26:20:47 | (reques ... ) => {} | src/fastify.js:1:15:1:34 | require("fastify")() |
|
||||
| src/fastify.js:26:17:28:3 | (reques ... nse\\n } | src/fastify.js:1:15:1:34 | require("fastify")() |
|
||||
| src/fastify.js:34:17:46:3 | functio ... eam\\n } | src/fastify.js:1:15:1:34 | require("fastify")() |
|
||||
| src/fastify.js:54:17:58:3 | functio ... ms;\\n } | src/fastify.js:50:27:50:46 | require("fastify")() |
|
||||
| src/fastify.js:65:17:69:3 | functio ... ms;\\n } | src/fastify.js:61:27:61:46 | require("fastify")() |
|
||||
| src/fastify.js:76:17:80:3 | functio ... ms;\\n } | src/fastify.js:72:27:72:46 | require("fastify")() |
|
||||
| src/fastify.js:87:17:91:3 | functio ... ms;\\n } | src/fastify.js:83:27:83:46 | require("fastify")() |
|
||||
test_HeaderDefinition
|
||||
| src/fastify.js:42:5:42:33 | reply.h ... value") | src/fastify.js:34:17:46:3 | functio ... eam\\n } |
|
||||
| src/fastify.js:43:5:43:36 | reply.h ... lue" }) | src/fastify.js:34:17:46:3 | functio ... eam\\n } |
|
||||
test_ServerDefinition
|
||||
| src/fastify.js:1:15:1:34 | require("fastify")() |
|
||||
| src/fastify.js:50:27:50:46 | require("fastify")() |
|
||||
| src/fastify.js:61:27:61:46 | require("fastify")() |
|
||||
| src/fastify.js:72:27:72:46 | require("fastify")() |
|
||||
| src/fastify.js:83:27:83:46 | require("fastify")() |
|
||||
test_RedirectInvocation
|
||||
| src/fastify.js:44:5:44:29 | reply.r ... e, url) | src/fastify.js:34:17:46:3 | functio ... eam\\n } |
|
||||
test_RequestInputAccess
|
||||
| src/fastify.js:36:5:36:17 | request.query | parameter | src/fastify.js:34:17:46:3 | functio ... eam\\n } | false |
|
||||
| src/fastify.js:37:5:37:16 | request.body | body | src/fastify.js:34:17:46:3 | functio ... eam\\n } | false |
|
||||
@@ -24,15 +53,10 @@ test_RequestInputAccess
|
||||
| src/fastify.js:88:5:88:17 | request.query | parameter | src/fastify.js:87:17:91:3 | functio ... ms;\\n } | false |
|
||||
| src/fastify.js:89:5:89:16 | request.body | body | src/fastify.js:87:17:91:3 | functio ... ms;\\n } | true |
|
||||
| src/fastify.js:90:5:90:18 | request.params | parameter | src/fastify.js:87:17:91:3 | functio ... ms;\\n } | false |
|
||||
test_RouteHandler_getAResponseHeader
|
||||
| src/fastify.js:34:17:46:3 | functio ... eam\\n } | name | src/fastify.js:42:5:42:33 | reply.h ... value") |
|
||||
| src/fastify.js:34:17:46:3 | functio ... eam\\n } | name | src/fastify.js:43:5:43:36 | reply.h ... lue" }) |
|
||||
test_HeaderDefinition_defines
|
||||
| src/fastify.js:42:5:42:33 | reply.h ... value") | name | value |
|
||||
| src/fastify.js:43:5:43:36 | reply.h ... lue" }) | name | value |
|
||||
test_HeaderDefinition
|
||||
| src/fastify.js:42:5:42:33 | reply.h ... value") | src/fastify.js:34:17:46:3 | functio ... eam\\n } |
|
||||
| src/fastify.js:43:5:43:36 | reply.h ... lue" }) | src/fastify.js:34:17:46:3 | functio ... eam\\n } |
|
||||
test_ResponseSendArgument
|
||||
| src/fastify.js:6:12:6:29 | { hello: "world" } | src/fastify.js:5:17:7:3 | async ( ... nse\\n } |
|
||||
| src/fastify.js:27:16:27:33 | { hello: "world" } | src/fastify.js:26:17:28:3 | (reques ... nse\\n } |
|
||||
| src/fastify.js:45:16:45:22 | payload | src/fastify.js:34:17:46:3 | functio ... eam\\n } |
|
||||
test_RouteSetup_getServer
|
||||
| src/fastify.js:3:1:8:1 | fastify ... e\\n }\\n) | src/fastify.js:1:15:1:34 | require("fastify")() |
|
||||
| src/fastify.js:10:1:21:2 | fastify ... > {}\\n}) | src/fastify.js:1:15:1:34 | require("fastify")() |
|
||||
@@ -42,17 +66,9 @@ test_RouteSetup_getServer
|
||||
| src/fastify.js:63:1:70:1 | fastify ... ;\\n }\\n) | src/fastify.js:61:27:61:46 | require("fastify")() |
|
||||
| src/fastify.js:74:1:81:1 | fastify ... ;\\n }\\n) | src/fastify.js:72:27:72:46 | require("fastify")() |
|
||||
| src/fastify.js:85:1:92:1 | fastify ... ;\\n }\\n) | src/fastify.js:83:27:83:46 | require("fastify")() |
|
||||
test_HeaderDefinition_getAHeaderName
|
||||
| src/fastify.js:42:5:42:33 | reply.h ... value") | name |
|
||||
| src/fastify.js:43:5:43:36 | reply.h ... lue" }) | name |
|
||||
test_ServerDefinition
|
||||
| src/fastify.js:1:15:1:34 | require("fastify")() |
|
||||
| src/fastify.js:50:27:50:46 | require("fastify")() |
|
||||
| src/fastify.js:61:27:61:46 | require("fastify")() |
|
||||
| src/fastify.js:72:27:72:46 | require("fastify")() |
|
||||
| src/fastify.js:83:27:83:46 | require("fastify")() |
|
||||
test_HeaderAccess
|
||||
| src/fastify.js:39:5:39:24 | request.headers.name | name |
|
||||
test_HeaderDefinition_defines
|
||||
| src/fastify.js:42:5:42:33 | reply.h ... value") | name | value |
|
||||
| src/fastify.js:43:5:43:36 | reply.h ... lue" }) | name | value |
|
||||
test_RouteSetup_getARouteHandler
|
||||
| src/fastify.js:3:1:8:1 | fastify ... e\\n }\\n) | src/fastify.js:5:17:7:3 | async ( ... nse\\n } |
|
||||
| src/fastify.js:10:1:21:2 | fastify ... > {}\\n}) | src/fastify.js:13:28:13:55 | (reques ... ) => {} |
|
||||
@@ -69,22 +85,6 @@ test_RouteSetup_getARouteHandler
|
||||
| src/fastify.js:63:1:70:1 | fastify ... ;\\n }\\n) | src/fastify.js:65:17:69:3 | functio ... ms;\\n } |
|
||||
| src/fastify.js:74:1:81:1 | fastify ... ;\\n }\\n) | src/fastify.js:76:17:80:3 | functio ... ms;\\n } |
|
||||
| src/fastify.js:85:1:92:1 | fastify ... ;\\n }\\n) | src/fastify.js:87:17:91:3 | functio ... ms;\\n } |
|
||||
test_RouteHandler
|
||||
| src/fastify.js:5:17:7:3 | async ( ... nse\\n } | src/fastify.js:1:15:1:34 | require("fastify")() |
|
||||
| src/fastify.js:13:28:13:55 | (reques ... ) => {} | src/fastify.js:1:15:1:34 | require("fastify")() |
|
||||
| src/fastify.js:14:29:14:56 | (reques ... ) => {} | src/fastify.js:1:15:1:34 | require("fastify")() |
|
||||
| src/fastify.js:15:32:15:59 | (reques ... ) => {} | src/fastify.js:1:15:1:34 | require("fastify")() |
|
||||
| src/fastify.js:16:29:16:56 | (reques ... ) => {} | src/fastify.js:1:15:1:34 | require("fastify")() |
|
||||
| src/fastify.js:17:35:17:71 | (reques ... ) => {} | src/fastify.js:1:15:1:34 | require("fastify")() |
|
||||
| src/fastify.js:18:25:18:61 | (reques ... ) => {} | src/fastify.js:1:15:1:34 | require("fastify")() |
|
||||
| src/fastify.js:19:29:19:56 | (reques ... ) => {} | src/fastify.js:1:15:1:34 | require("fastify")() |
|
||||
| src/fastify.js:20:26:20:47 | (reques ... ) => {} | src/fastify.js:1:15:1:34 | require("fastify")() |
|
||||
| src/fastify.js:26:17:28:3 | (reques ... nse\\n } | src/fastify.js:1:15:1:34 | require("fastify")() |
|
||||
| src/fastify.js:34:17:46:3 | functio ... eam\\n } | src/fastify.js:1:15:1:34 | require("fastify")() |
|
||||
| src/fastify.js:54:17:58:3 | functio ... ms;\\n } | src/fastify.js:50:27:50:46 | require("fastify")() |
|
||||
| src/fastify.js:65:17:69:3 | functio ... ms;\\n } | src/fastify.js:61:27:61:46 | require("fastify")() |
|
||||
| src/fastify.js:76:17:80:3 | functio ... ms;\\n } | src/fastify.js:72:27:72:46 | require("fastify")() |
|
||||
| src/fastify.js:87:17:91:3 | functio ... ms;\\n } | src/fastify.js:83:27:83:46 | require("fastify")() |
|
||||
test_RouteHandler_getARequestExpr
|
||||
| src/fastify.js:5:17:7:3 | async ( ... nse\\n } | src/fastify.js:5:24:5:30 | request |
|
||||
| src/fastify.js:13:28:13:55 | (reques ... ) => {} | src/fastify.js:13:29:13:35 | request |
|
||||
@@ -122,9 +122,9 @@ test_RouteHandler_getARequestExpr
|
||||
| src/fastify.js:87:17:91:3 | functio ... ms;\\n } | src/fastify.js:88:5:88:11 | request |
|
||||
| src/fastify.js:87:17:91:3 | functio ... ms;\\n } | src/fastify.js:89:5:89:11 | request |
|
||||
| src/fastify.js:87:17:91:3 | functio ... ms;\\n } | src/fastify.js:90:5:90:11 | request |
|
||||
test_ResponseSendArgument
|
||||
| src/fastify.js:6:12:6:29 | { hello: "world" } | src/fastify.js:5:17:7:3 | async ( ... nse\\n } |
|
||||
| src/fastify.js:27:16:27:33 | { hello: "world" } | src/fastify.js:26:17:28:3 | (reques ... nse\\n } |
|
||||
| src/fastify.js:45:16:45:22 | payload | src/fastify.js:34:17:46:3 | functio ... eam\\n } |
|
||||
test_RedirectInvocation
|
||||
| src/fastify.js:44:5:44:29 | reply.r ... e, url) | src/fastify.js:34:17:46:3 | functio ... eam\\n } |
|
||||
test_HeaderDefinition_getAHeaderName
|
||||
| src/fastify.js:42:5:42:33 | reply.h ... value") | name |
|
||||
| src/fastify.js:43:5:43:36 | reply.h ... lue" }) | name |
|
||||
test_RouteHandler_getAResponseHeader
|
||||
| src/fastify.js:34:17:46:3 | functio ... eam\\n } | name | src/fastify.js:42:5:42:33 | reply.h ... value") |
|
||||
| src/fastify.js:34:17:46:3 | functio ... eam\\n } | name | src/fastify.js:43:5:43:36 | reply.h ... lue" }) |
|
||||
|
||||
@@ -9,83 +9,6 @@ test_RouteSetup
|
||||
| src/hapiglue.js:17:1:18:2 | server2 ... dler\\n}) |
|
||||
| src/hapiglue.js:31:1:31:20 | server2.route(route) |
|
||||
| src/hapiglue.js:38:1:38:38 | server2 ... ler()}) |
|
||||
test_RequestInputAccess
|
||||
| src/hapi.js:21:3:21:20 | request.rawPayload | body | src/hapi.js:20:1:27:1 | functio ... oken;\\n} |
|
||||
| src/hapi.js:22:3:22:21 | request.payload.foo | body | src/hapi.js:20:1:27:1 | functio ... oken;\\n} |
|
||||
| src/hapi.js:23:3:23:19 | request.query.bar | parameter | src/hapi.js:20:1:27:1 | functio ... oken;\\n} |
|
||||
| src/hapi.js:24:3:24:18 | request.url.path | url | src/hapi.js:20:1:27:1 | functio ... oken;\\n} |
|
||||
| src/hapi.js:25:3:25:21 | request.headers.baz | header | src/hapi.js:20:1:27:1 | functio ... oken;\\n} |
|
||||
| src/hapi.js:26:3:26:21 | request.state.token | cookie | src/hapi.js:20:1:27:1 | functio ... oken;\\n} |
|
||||
| src/hapiglue.js:21:3:21:20 | request.rawPayload | body | src/hapiglue.js:20:1:29:1 | functio ... oken;\\n} |
|
||||
| src/hapiglue.js:22:3:22:21 | request.payload.foo | body | src/hapiglue.js:20:1:29:1 | functio ... oken;\\n} |
|
||||
| src/hapiglue.js:23:3:23:19 | request.query.bar | parameter | src/hapiglue.js:20:1:29:1 | functio ... oken;\\n} |
|
||||
| src/hapiglue.js:24:3:24:20 | request.params.bar | parameter | src/hapiglue.js:20:1:29:1 | functio ... oken;\\n} |
|
||||
| src/hapiglue.js:25:3:25:18 | request.url.path | url | src/hapiglue.js:20:1:29:1 | functio ... oken;\\n} |
|
||||
| src/hapiglue.js:26:3:26:20 | request.url.origin | url | src/hapiglue.js:20:1:29:1 | functio ... oken;\\n} |
|
||||
| src/hapiglue.js:27:3:27:21 | request.headers.baz | header | src/hapiglue.js:20:1:29:1 | functio ... oken;\\n} |
|
||||
| src/hapiglue.js:28:3:28:21 | request.state.token | cookie | src/hapiglue.js:20:1:29:1 | functio ... oken;\\n} |
|
||||
test_RouteHandler_getAResponseHeader
|
||||
| src/hapi.js:13:14:15:5 | functio ... n\\n } | header1 | src/hapi.js:14:9:14:46 | request ... 1', '') |
|
||||
| src/hapiglue.js:13:14:15:5 | functio ... n\\n } | header1 | src/hapiglue.js:14:9:14:46 | request ... 1', '') |
|
||||
test_HeaderDefinition_defines
|
||||
| src/hapi.js:14:9:14:46 | request ... 1', '') | header1 | |
|
||||
| src/hapiglue.js:14:9:14:46 | request ... 1', '') | header1 | |
|
||||
test_ResponseExpr
|
||||
| src/hapi.js:14:9:14:24 | request.response | src/hapi.js:13:14:15:5 | functio ... n\\n } |
|
||||
| src/hapiglue.js:14:9:14:24 | request.response | src/hapiglue.js:13:14:15:5 | functio ... n\\n } |
|
||||
test_HeaderDefinition
|
||||
| src/hapi.js:14:9:14:46 | request ... 1', '') | src/hapi.js:13:14:15:5 | functio ... n\\n } |
|
||||
| src/hapiglue.js:14:9:14:46 | request ... 1', '') | src/hapiglue.js:13:14:15:5 | functio ... n\\n } |
|
||||
test_RouteSetup_getServer
|
||||
| src/hapi.js:7:1:9:2 | server2 ... ler1\\n}) | src/hapi.js:4:15:4:31 | new Hapi.Server() |
|
||||
| src/hapi.js:12:1:15:7 | server2 ... }}) | src/hapi.js:4:15:4:31 | new Hapi.Server() |
|
||||
| src/hapi.js:17:1:18:2 | server2 ... dler\\n}) | src/hapi.js:4:15:4:31 | new Hapi.Server() |
|
||||
| src/hapi.js:29:1:29:20 | server2.route(route) | src/hapi.js:4:15:4:31 | new Hapi.Server() |
|
||||
| src/hapi.js:36:1:36:38 | server2 ... ler()}) | src/hapi.js:4:15:4:31 | new Hapi.Server() |
|
||||
| src/hapiglue.js:7:1:9:2 | server2 ... ler1\\n}) | src/hapiglue.js:4:15:4:69 | new Hap ... ptions) |
|
||||
| src/hapiglue.js:12:1:15:7 | server2 ... }}) | src/hapiglue.js:4:15:4:69 | new Hap ... ptions) |
|
||||
| src/hapiglue.js:17:1:18:2 | server2 ... dler\\n}) | src/hapiglue.js:4:15:4:69 | new Hap ... ptions) |
|
||||
| src/hapiglue.js:31:1:31:20 | server2.route(route) | src/hapiglue.js:4:15:4:69 | new Hap ... ptions) |
|
||||
| src/hapiglue.js:38:1:38:38 | server2 ... ler()}) | src/hapiglue.js:4:15:4:69 | new Hap ... ptions) |
|
||||
test_HeaderDefinition_getAHeaderName
|
||||
| src/hapi.js:14:9:14:46 | request ... 1', '') | header1 |
|
||||
| src/hapiglue.js:14:9:14:46 | request ... 1', '') | header1 |
|
||||
test_ServerDefinition
|
||||
| src/hapi.js:1:15:1:44 | new (re ... erver() |
|
||||
| src/hapi.js:4:15:4:31 | new Hapi.Server() |
|
||||
| src/hapiglue.js:1:15:1:88 | new (re ... ptions) |
|
||||
| src/hapiglue.js:4:15:4:69 | new Hap ... ptions) |
|
||||
| src/hapiglue.js:43:19:43:24 | server |
|
||||
| src/hapiglue.js:44:45:44:51 | server_ |
|
||||
test_HeaderAccess
|
||||
| src/hapi.js:25:3:25:21 | request.headers.baz | baz |
|
||||
| src/hapiglue.js:27:3:27:21 | request.headers.baz | baz |
|
||||
test_RouteSetup_getARouteHandler
|
||||
| src/hapi.js:7:1:9:2 | server2 ... ler1\\n}) | src/hapi.js:6:1:6:21 | functio ... er1(){} |
|
||||
| src/hapi.js:12:1:15:7 | server2 ... }}) | src/hapi.js:13:14:15:5 | functio ... n\\n } |
|
||||
| src/hapi.js:17:1:18:2 | server2 ... dler\\n}) | src/hapi.js:17:30:18:1 | functio ... ndler\\n} |
|
||||
| src/hapi.js:29:1:29:20 | server2.route(route) | src/hapi.js:20:1:27:1 | functio ... oken;\\n} |
|
||||
| src/hapi.js:36:1:36:38 | server2 ... ler()}) | src/hapi.js:33:1:35:1 | return of function getHandler |
|
||||
| src/hapi.js:36:1:36:38 | server2 ... ler()}) | src/hapi.js:34:12:34:30 | function (req, h){} |
|
||||
| src/hapi.js:36:1:36:38 | server2 ... ler()}) | src/hapi.js:36:25:36:36 | getHandler() |
|
||||
| src/hapiglue.js:7:1:9:2 | server2 ... ler1\\n}) | src/hapiglue.js:6:1:6:21 | functio ... er1(){} |
|
||||
| src/hapiglue.js:12:1:15:7 | server2 ... }}) | src/hapiglue.js:13:14:15:5 | functio ... n\\n } |
|
||||
| src/hapiglue.js:17:1:18:2 | server2 ... dler\\n}) | src/hapiglue.js:17:30:18:1 | functio ... ndler\\n} |
|
||||
| src/hapiglue.js:31:1:31:20 | server2.route(route) | src/hapiglue.js:20:1:29:1 | functio ... oken;\\n} |
|
||||
| src/hapiglue.js:38:1:38:38 | server2 ... ler()}) | src/hapiglue.js:35:1:37:1 | return of function getHandler |
|
||||
| src/hapiglue.js:38:1:38:38 | server2 ... ler()}) | src/hapiglue.js:36:12:36:33 | functio ... hapi){} |
|
||||
| src/hapiglue.js:38:1:38:38 | server2 ... ler()}) | src/hapiglue.js:38:25:38:36 | getHandler() |
|
||||
test_RouteHandler
|
||||
| src/hapi.js:6:1:6:21 | functio ... er1(){} | src/hapi.js:4:15:4:31 | new Hapi.Server() |
|
||||
| src/hapi.js:13:14:15:5 | functio ... n\\n } | src/hapi.js:4:15:4:31 | new Hapi.Server() |
|
||||
| src/hapi.js:17:30:18:1 | functio ... ndler\\n} | src/hapi.js:4:15:4:31 | new Hapi.Server() |
|
||||
| src/hapi.js:20:1:27:1 | functio ... oken;\\n} | src/hapi.js:4:15:4:31 | new Hapi.Server() |
|
||||
| src/hapi.js:34:12:34:30 | function (req, h){} | src/hapi.js:4:15:4:31 | new Hapi.Server() |
|
||||
| src/hapiglue.js:6:1:6:21 | functio ... er1(){} | src/hapiglue.js:4:15:4:69 | new Hap ... ptions) |
|
||||
| src/hapiglue.js:13:14:15:5 | functio ... n\\n } | src/hapiglue.js:4:15:4:69 | new Hap ... ptions) |
|
||||
| src/hapiglue.js:17:30:18:1 | functio ... ndler\\n} | src/hapiglue.js:4:15:4:69 | new Hap ... ptions) |
|
||||
| src/hapiglue.js:20:1:29:1 | functio ... oken;\\n} | src/hapiglue.js:4:15:4:69 | new Hap ... ptions) |
|
||||
| src/hapiglue.js:36:12:36:33 | functio ... hapi){} | src/hapiglue.js:4:15:4:69 | new Hap ... ptions) |
|
||||
test_RequestExpr
|
||||
| src/hapi.js:13:32:13:38 | request | src/hapi.js:13:14:15:5 | functio ... n\\n } |
|
||||
| src/hapi.js:13:32:13:38 | request | src/hapi.js:13:14:15:5 | functio ... n\\n } |
|
||||
@@ -115,6 +38,77 @@ test_RequestExpr
|
||||
| src/hapiglue.js:27:3:27:9 | request | src/hapiglue.js:20:1:29:1 | functio ... oken;\\n} |
|
||||
| src/hapiglue.js:28:3:28:9 | request | src/hapiglue.js:20:1:29:1 | functio ... oken;\\n} |
|
||||
| src/hapiglue.js:36:22:36:24 | req | src/hapiglue.js:36:12:36:33 | functio ... hapi){} |
|
||||
test_HeaderAccess
|
||||
| src/hapi.js:25:3:25:21 | request.headers.baz | baz |
|
||||
| src/hapiglue.js:27:3:27:21 | request.headers.baz | baz |
|
||||
test_ResponseExpr
|
||||
| src/hapi.js:14:9:14:24 | request.response | src/hapi.js:13:14:15:5 | functio ... n\\n } |
|
||||
| src/hapiglue.js:14:9:14:24 | request.response | src/hapiglue.js:13:14:15:5 | functio ... n\\n } |
|
||||
test_RouteHandler
|
||||
| src/hapi.js:6:1:6:21 | functio ... er1(){} | src/hapi.js:4:15:4:31 | new Hapi.Server() |
|
||||
| src/hapi.js:13:14:15:5 | functio ... n\\n } | src/hapi.js:4:15:4:31 | new Hapi.Server() |
|
||||
| src/hapi.js:17:30:18:1 | functio ... ndler\\n} | src/hapi.js:4:15:4:31 | new Hapi.Server() |
|
||||
| src/hapi.js:20:1:27:1 | functio ... oken;\\n} | src/hapi.js:4:15:4:31 | new Hapi.Server() |
|
||||
| src/hapi.js:34:12:34:30 | function (req, h){} | src/hapi.js:4:15:4:31 | new Hapi.Server() |
|
||||
| src/hapiglue.js:6:1:6:21 | functio ... er1(){} | src/hapiglue.js:4:15:4:69 | new Hap ... ptions) |
|
||||
| src/hapiglue.js:13:14:15:5 | functio ... n\\n } | src/hapiglue.js:4:15:4:69 | new Hap ... ptions) |
|
||||
| src/hapiglue.js:17:30:18:1 | functio ... ndler\\n} | src/hapiglue.js:4:15:4:69 | new Hap ... ptions) |
|
||||
| src/hapiglue.js:20:1:29:1 | functio ... oken;\\n} | src/hapiglue.js:4:15:4:69 | new Hap ... ptions) |
|
||||
| src/hapiglue.js:36:12:36:33 | functio ... hapi){} | src/hapiglue.js:4:15:4:69 | new Hap ... ptions) |
|
||||
test_HeaderDefinition
|
||||
| src/hapi.js:14:9:14:46 | request ... 1', '') | src/hapi.js:13:14:15:5 | functio ... n\\n } |
|
||||
| src/hapiglue.js:14:9:14:46 | request ... 1', '') | src/hapiglue.js:13:14:15:5 | functio ... n\\n } |
|
||||
test_ServerDefinition
|
||||
| src/hapi.js:1:15:1:44 | new (re ... erver() |
|
||||
| src/hapi.js:4:15:4:31 | new Hapi.Server() |
|
||||
| src/hapiglue.js:1:15:1:88 | new (re ... ptions) |
|
||||
| src/hapiglue.js:4:15:4:69 | new Hap ... ptions) |
|
||||
| src/hapiglue.js:43:19:43:24 | server |
|
||||
| src/hapiglue.js:44:45:44:51 | server_ |
|
||||
test_RequestInputAccess
|
||||
| src/hapi.js:21:3:21:20 | request.rawPayload | body | src/hapi.js:20:1:27:1 | functio ... oken;\\n} |
|
||||
| src/hapi.js:22:3:22:21 | request.payload.foo | body | src/hapi.js:20:1:27:1 | functio ... oken;\\n} |
|
||||
| src/hapi.js:23:3:23:19 | request.query.bar | parameter | src/hapi.js:20:1:27:1 | functio ... oken;\\n} |
|
||||
| src/hapi.js:24:3:24:18 | request.url.path | url | src/hapi.js:20:1:27:1 | functio ... oken;\\n} |
|
||||
| src/hapi.js:25:3:25:21 | request.headers.baz | header | src/hapi.js:20:1:27:1 | functio ... oken;\\n} |
|
||||
| src/hapi.js:26:3:26:21 | request.state.token | cookie | src/hapi.js:20:1:27:1 | functio ... oken;\\n} |
|
||||
| src/hapiglue.js:21:3:21:20 | request.rawPayload | body | src/hapiglue.js:20:1:29:1 | functio ... oken;\\n} |
|
||||
| src/hapiglue.js:22:3:22:21 | request.payload.foo | body | src/hapiglue.js:20:1:29:1 | functio ... oken;\\n} |
|
||||
| src/hapiglue.js:23:3:23:19 | request.query.bar | parameter | src/hapiglue.js:20:1:29:1 | functio ... oken;\\n} |
|
||||
| src/hapiglue.js:24:3:24:20 | request.params.bar | parameter | src/hapiglue.js:20:1:29:1 | functio ... oken;\\n} |
|
||||
| src/hapiglue.js:25:3:25:18 | request.url.path | url | src/hapiglue.js:20:1:29:1 | functio ... oken;\\n} |
|
||||
| src/hapiglue.js:26:3:26:20 | request.url.origin | url | src/hapiglue.js:20:1:29:1 | functio ... oken;\\n} |
|
||||
| src/hapiglue.js:27:3:27:21 | request.headers.baz | header | src/hapiglue.js:20:1:29:1 | functio ... oken;\\n} |
|
||||
| src/hapiglue.js:28:3:28:21 | request.state.token | cookie | src/hapiglue.js:20:1:29:1 | functio ... oken;\\n} |
|
||||
test_RouteSetup_getServer
|
||||
| src/hapi.js:7:1:9:2 | server2 ... ler1\\n}) | src/hapi.js:4:15:4:31 | new Hapi.Server() |
|
||||
| src/hapi.js:12:1:15:7 | server2 ... }}) | src/hapi.js:4:15:4:31 | new Hapi.Server() |
|
||||
| src/hapi.js:17:1:18:2 | server2 ... dler\\n}) | src/hapi.js:4:15:4:31 | new Hapi.Server() |
|
||||
| src/hapi.js:29:1:29:20 | server2.route(route) | src/hapi.js:4:15:4:31 | new Hapi.Server() |
|
||||
| src/hapi.js:36:1:36:38 | server2 ... ler()}) | src/hapi.js:4:15:4:31 | new Hapi.Server() |
|
||||
| src/hapiglue.js:7:1:9:2 | server2 ... ler1\\n}) | src/hapiglue.js:4:15:4:69 | new Hap ... ptions) |
|
||||
| src/hapiglue.js:12:1:15:7 | server2 ... }}) | src/hapiglue.js:4:15:4:69 | new Hap ... ptions) |
|
||||
| src/hapiglue.js:17:1:18:2 | server2 ... dler\\n}) | src/hapiglue.js:4:15:4:69 | new Hap ... ptions) |
|
||||
| src/hapiglue.js:31:1:31:20 | server2.route(route) | src/hapiglue.js:4:15:4:69 | new Hap ... ptions) |
|
||||
| src/hapiglue.js:38:1:38:38 | server2 ... ler()}) | src/hapiglue.js:4:15:4:69 | new Hap ... ptions) |
|
||||
test_HeaderDefinition_defines
|
||||
| src/hapi.js:14:9:14:46 | request ... 1', '') | header1 | |
|
||||
| src/hapiglue.js:14:9:14:46 | request ... 1', '') | header1 | |
|
||||
test_RouteSetup_getARouteHandler
|
||||
| src/hapi.js:7:1:9:2 | server2 ... ler1\\n}) | src/hapi.js:6:1:6:21 | functio ... er1(){} |
|
||||
| src/hapi.js:12:1:15:7 | server2 ... }}) | src/hapi.js:13:14:15:5 | functio ... n\\n } |
|
||||
| src/hapi.js:17:1:18:2 | server2 ... dler\\n}) | src/hapi.js:17:30:18:1 | functio ... ndler\\n} |
|
||||
| src/hapi.js:29:1:29:20 | server2.route(route) | src/hapi.js:20:1:27:1 | functio ... oken;\\n} |
|
||||
| src/hapi.js:36:1:36:38 | server2 ... ler()}) | src/hapi.js:33:1:35:1 | return of function getHandler |
|
||||
| src/hapi.js:36:1:36:38 | server2 ... ler()}) | src/hapi.js:34:12:34:30 | function (req, h){} |
|
||||
| src/hapi.js:36:1:36:38 | server2 ... ler()}) | src/hapi.js:36:25:36:36 | getHandler() |
|
||||
| src/hapiglue.js:7:1:9:2 | server2 ... ler1\\n}) | src/hapiglue.js:6:1:6:21 | functio ... er1(){} |
|
||||
| src/hapiglue.js:12:1:15:7 | server2 ... }}) | src/hapiglue.js:13:14:15:5 | functio ... n\\n } |
|
||||
| src/hapiglue.js:17:1:18:2 | server2 ... dler\\n}) | src/hapiglue.js:17:30:18:1 | functio ... ndler\\n} |
|
||||
| src/hapiglue.js:31:1:31:20 | server2.route(route) | src/hapiglue.js:20:1:29:1 | functio ... oken;\\n} |
|
||||
| src/hapiglue.js:38:1:38:38 | server2 ... ler()}) | src/hapiglue.js:35:1:37:1 | return of function getHandler |
|
||||
| src/hapiglue.js:38:1:38:38 | server2 ... ler()}) | src/hapiglue.js:36:12:36:33 | functio ... hapi){} |
|
||||
| src/hapiglue.js:38:1:38:38 | server2 ... ler()}) | src/hapiglue.js:38:25:38:36 | getHandler() |
|
||||
test_RouteHandler_getARequestExpr
|
||||
| src/hapi.js:13:14:15:5 | functio ... n\\n } | src/hapi.js:13:32:13:38 | request |
|
||||
| src/hapi.js:13:14:15:5 | functio ... n\\n } | src/hapi.js:13:32:13:38 | request |
|
||||
@@ -144,3 +138,9 @@ test_RouteHandler_getARequestExpr
|
||||
| src/hapiglue.js:20:1:29:1 | functio ... oken;\\n} | src/hapiglue.js:27:3:27:9 | request |
|
||||
| src/hapiglue.js:20:1:29:1 | functio ... oken;\\n} | src/hapiglue.js:28:3:28:9 | request |
|
||||
| src/hapiglue.js:36:12:36:33 | functio ... hapi){} | src/hapiglue.js:36:22:36:24 | req |
|
||||
test_HeaderDefinition_getAHeaderName
|
||||
| src/hapi.js:14:9:14:46 | request ... 1', '') | header1 |
|
||||
| src/hapiglue.js:14:9:14:46 | request ... 1', '') | header1 |
|
||||
test_RouteHandler_getAResponseHeader
|
||||
| src/hapi.js:13:14:15:5 | functio ... n\\n } | header1 | src/hapi.js:14:9:14:46 | request ... 1', '') |
|
||||
| src/hapiglue.js:13:14:15:5 | functio ... n\\n } | header1 | src/hapiglue.js:14:9:14:46 | request ... 1', '') |
|
||||
|
||||
@@ -4,164 +4,6 @@ test_RouteSetup
|
||||
| src/koa.js:30:1:45:2 | app2.us ... rl);\\n}) |
|
||||
| src/koa.js:47:1:56:2 | app2.us ... foo;\\n}) |
|
||||
| src/koa.js:59:1:61:2 | app3.us ... url;\\n}) |
|
||||
test_RequestInputAccess
|
||||
| src/koa.js:19:3:19:18 | ctx.request.body | body | src/koa.js:10:10:28:1 | functio ... az');\\n} |
|
||||
| src/koa.js:20:3:20:23 | ctx.req ... ery.foo | parameter | src/koa.js:10:10:28:1 | functio ... az');\\n} |
|
||||
| src/koa.js:21:3:21:17 | ctx.request.url | url | src/koa.js:10:10:28:1 | functio ... az');\\n} |
|
||||
| src/koa.js:22:3:22:25 | ctx.req ... inalUrl | url | src/koa.js:10:10:28:1 | functio ... az');\\n} |
|
||||
| src/koa.js:23:3:23:18 | ctx.request.href | url | src/koa.js:10:10:28:1 | functio ... az');\\n} |
|
||||
| src/koa.js:24:3:24:24 | ctx.req ... der.bar | header | src/koa.js:10:10:28:1 | functio ... az');\\n} |
|
||||
| src/koa.js:25:3:25:25 | ctx.req ... ers.bar | header | src/koa.js:10:10:28:1 | functio ... az');\\n} |
|
||||
| src/koa.js:26:3:26:24 | ctx.req ... ('bar') | header | src/koa.js:10:10:28:1 | functio ... az');\\n} |
|
||||
| src/koa.js:27:3:27:24 | ctx.coo ... ('baz') | cookie | src/koa.js:10:10:28:1 | functio ... az');\\n} |
|
||||
| src/koa.js:33:2:33:14 | ctx.query.foo | parameter | src/koa.js:30:10:45:1 | async c ... url);\\n} |
|
||||
| src/koa.js:34:2:34:8 | ctx.url | url | src/koa.js:30:10:45:1 | async c ... url);\\n} |
|
||||
| src/koa.js:35:2:35:16 | ctx.originalUrl | url | src/koa.js:30:10:45:1 | async c ... url);\\n} |
|
||||
| src/koa.js:36:2:36:9 | ctx.href | url | src/koa.js:30:10:45:1 | async c ... url);\\n} |
|
||||
| src/koa.js:37:2:37:15 | ctx.header.bar | header | src/koa.js:30:10:45:1 | async c ... url);\\n} |
|
||||
| src/koa.js:38:2:38:16 | ctx.headers.bar | header | src/koa.js:30:10:45:1 | async c ... url);\\n} |
|
||||
| src/koa.js:40:2:40:15 | ctx.get('bar') | header | src/koa.js:30:10:45:1 | async c ... url);\\n} |
|
||||
| src/koa.js:42:12:42:27 | ctx.query.target | parameter | src/koa.js:30:10:45:1 | async c ... url);\\n} |
|
||||
| src/koa.js:49:2:49:14 | cookies.get() | cookie | src/koa.js:47:10:56:1 | async c ... .foo;\\n} |
|
||||
| src/koa.js:52:2:52:10 | query.foo | parameter | src/koa.js:47:10:56:1 | async c ... .foo;\\n} |
|
||||
| src/koa.js:55:2:55:12 | headers.foo | header | src/koa.js:47:10:56:1 | async c ... .foo;\\n} |
|
||||
| src/koa.js:60:2:60:17 | this.request.url | url | src/koa.js:59:10:61:1 | functio ... .url;\\n} |
|
||||
test_RouteHandler_getAResponseHeader
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | header1 | src/koa.js:11:3:11:25 | this.se ... 1', '') |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | header2 | src/koa.js:12:3:12:37 | this.re ... 2', '') |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | header3 | src/koa.js:13:3:13:24 | ctx.set ... 3', '') |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | header4 | src/koa.js:14:3:14:36 | ctx.res ... 4', '') |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | header5 | src/koa.js:16:3:16:27 | rsp.hea ... 5', '') |
|
||||
test_HeaderDefinition_defines
|
||||
| src/koa.js:11:3:11:25 | this.se ... 1', '') | header1 | |
|
||||
| src/koa.js:12:3:12:37 | this.re ... 2', '') | header2 | |
|
||||
| src/koa.js:13:3:13:24 | ctx.set ... 3', '') | header3 | |
|
||||
| src/koa.js:14:3:14:36 | ctx.res ... 4', '') | header4 | |
|
||||
| src/koa.js:16:3:16:27 | rsp.hea ... 5', '') | header5 | |
|
||||
test_ResponseExpr
|
||||
| src/koa.js:12:3:12:15 | this.response | src/koa.js:10:10:28:1 | functio ... az');\\n} |
|
||||
| src/koa.js:14:3:14:14 | ctx.response | src/koa.js:10:10:28:1 | functio ... az');\\n} |
|
||||
| src/koa.js:15:7:15:24 | rsp | src/koa.js:10:10:28:1 | functio ... az');\\n} |
|
||||
| src/koa.js:15:13:15:24 | ctx.response | src/koa.js:10:10:28:1 | functio ... az');\\n} |
|
||||
| src/koa.js:16:3:16:5 | rsp | src/koa.js:10:10:28:1 | functio ... az');\\n} |
|
||||
| src/koa.js:18:3:18:14 | ctx.response | src/koa.js:10:10:28:1 | functio ... az');\\n} |
|
||||
| src/koa.js:44:2:44:13 | ctx.response | src/koa.js:30:10:45:1 | async c ... url);\\n} |
|
||||
test_RouteHandler_getAContextExpr
|
||||
| src/koa.js:7:1:7:22 | functio ... r1() {} | src/koa.js:7:1:7:0 | this |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:10:10:10:9 | this |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:10:28:10:30 | ctx |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:10:28:10:30 | ctx |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:11:3:11:6 | this |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:12:3:12:6 | this |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:13:3:13:5 | ctx |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:14:3:14:5 | ctx |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:15:13:15:15 | ctx |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:18:3:18:5 | ctx |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:19:3:19:5 | ctx |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:20:3:20:5 | ctx |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:21:3:21:5 | ctx |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:22:3:22:5 | ctx |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:23:3:23:5 | ctx |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:24:3:24:5 | ctx |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:25:3:25:5 | ctx |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:26:3:26:5 | ctx |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:27:3:27:5 | ctx |
|
||||
| src/koa.js:30:10:45:1 | async c ... url);\\n} | src/koa.js:30:16:30:18 | ctx |
|
||||
| src/koa.js:30:10:45:1 | async c ... url);\\n} | src/koa.js:30:16:30:18 | ctx |
|
||||
| src/koa.js:30:10:45:1 | async c ... url);\\n} | src/koa.js:31:2:31:4 | ctx |
|
||||
| src/koa.js:30:10:45:1 | async c ... url);\\n} | src/koa.js:32:2:32:4 | ctx |
|
||||
| src/koa.js:30:10:45:1 | async c ... url);\\n} | src/koa.js:33:2:33:4 | ctx |
|
||||
| src/koa.js:30:10:45:1 | async c ... url);\\n} | src/koa.js:34:2:34:4 | ctx |
|
||||
| src/koa.js:30:10:45:1 | async c ... url);\\n} | src/koa.js:35:2:35:4 | ctx |
|
||||
| src/koa.js:30:10:45:1 | async c ... url);\\n} | src/koa.js:36:2:36:4 | ctx |
|
||||
| src/koa.js:30:10:45:1 | async c ... url);\\n} | src/koa.js:37:2:37:4 | ctx |
|
||||
| src/koa.js:30:10:45:1 | async c ... url);\\n} | src/koa.js:38:2:38:4 | ctx |
|
||||
| src/koa.js:30:10:45:1 | async c ... url);\\n} | src/koa.js:39:2:39:4 | ctx |
|
||||
| src/koa.js:30:10:45:1 | async c ... url);\\n} | src/koa.js:40:2:40:4 | ctx |
|
||||
| src/koa.js:30:10:45:1 | async c ... url);\\n} | src/koa.js:42:12:42:14 | ctx |
|
||||
| src/koa.js:30:10:45:1 | async c ... url);\\n} | src/koa.js:43:2:43:4 | ctx |
|
||||
| src/koa.js:30:10:45:1 | async c ... url);\\n} | src/koa.js:44:2:44:4 | ctx |
|
||||
| src/koa.js:47:10:56:1 | async c ... .foo;\\n} | src/koa.js:47:16:47:18 | ctx |
|
||||
| src/koa.js:47:10:56:1 | async c ... .foo;\\n} | src/koa.js:47:16:47:18 | ctx |
|
||||
| src/koa.js:47:10:56:1 | async c ... .foo;\\n} | src/koa.js:48:16:48:18 | ctx |
|
||||
| src/koa.js:47:10:56:1 | async c ... .foo;\\n} | src/koa.js:51:14:51:16 | ctx |
|
||||
| src/koa.js:47:10:56:1 | async c ... .foo;\\n} | src/koa.js:54:16:54:18 | ctx |
|
||||
| src/koa.js:59:10:61:1 | functio ... .url;\\n} | src/koa.js:59:10:59:9 | this |
|
||||
| src/koa.js:59:10:61:1 | functio ... .url;\\n} | src/koa.js:60:2:60:5 | this |
|
||||
test_HeaderDefinition
|
||||
| src/koa.js:11:3:11:25 | this.se ... 1', '') | src/koa.js:10:10:28:1 | functio ... az');\\n} |
|
||||
| src/koa.js:12:3:12:37 | this.re ... 2', '') | src/koa.js:10:10:28:1 | functio ... az');\\n} |
|
||||
| src/koa.js:13:3:13:24 | ctx.set ... 3', '') | src/koa.js:10:10:28:1 | functio ... az');\\n} |
|
||||
| src/koa.js:14:3:14:36 | ctx.res ... 4', '') | src/koa.js:10:10:28:1 | functio ... az');\\n} |
|
||||
| src/koa.js:16:3:16:27 | rsp.hea ... 5', '') | src/koa.js:10:10:28:1 | functio ... az');\\n} |
|
||||
| src/koa.js:39:2:39:15 | ctx.set('bar') | src/koa.js:30:10:45:1 | async c ... url);\\n} |
|
||||
test_RouteSetup_getServer
|
||||
| src/koa.js:8:1:8:18 | app2.use(handler1) | src/koa.js:5:12:5:20 | new Koa() |
|
||||
| src/koa.js:10:1:28:2 | app2.us ... z');\\n}) | src/koa.js:5:12:5:20 | new Koa() |
|
||||
| src/koa.js:30:1:45:2 | app2.us ... rl);\\n}) | src/koa.js:5:12:5:20 | new Koa() |
|
||||
| src/koa.js:47:1:56:2 | app2.us ... foo;\\n}) | src/koa.js:5:12:5:20 | new Koa() |
|
||||
| src/koa.js:59:1:61:2 | app3.us ... url;\\n}) | src/koa.js:58:12:58:16 | Koa() |
|
||||
test_HeaderDefinition_getAHeaderName
|
||||
| src/koa.js:11:3:11:25 | this.se ... 1', '') | header1 |
|
||||
| src/koa.js:12:3:12:37 | this.re ... 2', '') | header2 |
|
||||
| src/koa.js:13:3:13:24 | ctx.set ... 3', '') | header3 |
|
||||
| src/koa.js:14:3:14:36 | ctx.res ... 4', '') | header4 |
|
||||
| src/koa.js:16:3:16:27 | rsp.hea ... 5', '') | header5 |
|
||||
test_HeaderAccess
|
||||
| src/koa.js:24:3:24:24 | ctx.req ... der.bar | bar |
|
||||
| src/koa.js:25:3:25:25 | ctx.req ... ers.bar | bar |
|
||||
| src/koa.js:26:3:26:24 | ctx.req ... ('bar') | bar |
|
||||
| src/koa.js:37:2:37:15 | ctx.header.bar | bar |
|
||||
| src/koa.js:38:2:38:16 | ctx.headers.bar | bar |
|
||||
| src/koa.js:40:2:40:15 | ctx.get('bar') | bar |
|
||||
| src/koa.js:55:2:55:12 | headers.foo | foo |
|
||||
test_RouteHandler_getAResponseExpr
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:12:3:12:15 | this.response |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:14:3:14:14 | ctx.response |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:15:7:15:24 | rsp |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:15:13:15:24 | ctx.response |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:16:3:16:5 | rsp |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:18:3:18:14 | ctx.response |
|
||||
| src/koa.js:30:10:45:1 | async c ... url);\\n} | src/koa.js:44:2:44:13 | ctx.response |
|
||||
test_ResponseSendArgument
|
||||
| src/koa.js:18:23:18:23 | x | src/koa.js:10:10:28:1 | functio ... az');\\n} |
|
||||
| src/koa.js:31:13:31:13 | x | src/koa.js:30:10:45:1 | async c ... url);\\n} |
|
||||
test_RouteSetup_getARouteHandler
|
||||
| src/koa.js:8:1:8:18 | app2.use(handler1) | src/koa.js:7:1:7:22 | functio ... r1() {} |
|
||||
| src/koa.js:10:1:28:2 | app2.us ... z');\\n}) | src/koa.js:10:10:28:1 | functio ... az');\\n} |
|
||||
| src/koa.js:30:1:45:2 | app2.us ... rl);\\n}) | src/koa.js:30:10:45:1 | async c ... url);\\n} |
|
||||
| src/koa.js:47:1:56:2 | app2.us ... foo;\\n}) | src/koa.js:47:10:56:1 | async c ... .foo;\\n} |
|
||||
| src/koa.js:59:1:61:2 | app3.us ... url;\\n}) | src/koa.js:59:10:61:1 | functio ... .url;\\n} |
|
||||
test_AppDefinition
|
||||
| src/koa.js:2:12:2:33 | new (re ... oa'))() |
|
||||
| src/koa.js:5:12:5:20 | new Koa() |
|
||||
| src/koa.js:58:12:58:16 | Koa() |
|
||||
test_RouteHandler
|
||||
| src/koa.js:7:1:7:22 | functio ... r1() {} | src/koa.js:5:12:5:20 | new Koa() |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:5:12:5:20 | new Koa() |
|
||||
| src/koa.js:30:10:45:1 | async c ... url);\\n} | src/koa.js:5:12:5:20 | new Koa() |
|
||||
| src/koa.js:47:10:56:1 | async c ... .foo;\\n} | src/koa.js:5:12:5:20 | new Koa() |
|
||||
| src/koa.js:59:10:61:1 | functio ... .url;\\n} | src/koa.js:58:12:58:16 | Koa() |
|
||||
test_RequestExpr
|
||||
| src/koa.js:19:3:19:13 | ctx.request | src/koa.js:10:10:28:1 | functio ... az');\\n} |
|
||||
| src/koa.js:20:3:20:13 | ctx.request | src/koa.js:10:10:28:1 | functio ... az');\\n} |
|
||||
| src/koa.js:21:3:21:13 | ctx.request | src/koa.js:10:10:28:1 | functio ... az');\\n} |
|
||||
| src/koa.js:22:3:22:13 | ctx.request | src/koa.js:10:10:28:1 | functio ... az');\\n} |
|
||||
| src/koa.js:23:3:23:13 | ctx.request | src/koa.js:10:10:28:1 | functio ... az');\\n} |
|
||||
| src/koa.js:24:3:24:13 | ctx.request | src/koa.js:10:10:28:1 | functio ... az');\\n} |
|
||||
| src/koa.js:25:3:25:13 | ctx.request | src/koa.js:10:10:28:1 | functio ... az');\\n} |
|
||||
| src/koa.js:26:3:26:13 | ctx.request | src/koa.js:10:10:28:1 | functio ... az');\\n} |
|
||||
| src/koa.js:60:2:60:13 | this.request | src/koa.js:59:10:61:1 | functio ... .url;\\n} |
|
||||
test_RouteHandler_getARequestExpr
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:19:3:19:13 | ctx.request |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:20:3:20:13 | ctx.request |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:21:3:21:13 | ctx.request |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:22:3:22:13 | ctx.request |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:23:3:23:13 | ctx.request |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:24:3:24:13 | ctx.request |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:25:3:25:13 | ctx.request |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:26:3:26:13 | ctx.request |
|
||||
| src/koa.js:59:10:61:1 | functio ... .url;\\n} | src/koa.js:60:2:60:13 | this.request |
|
||||
test_ContextExpr
|
||||
| src/koa.js:7:1:7:0 | this | src/koa.js:7:1:7:22 | functio ... r1() {} |
|
||||
| src/koa.js:10:10:10:9 | this | src/koa.js:10:10:28:1 | functio ... az');\\n} |
|
||||
@@ -204,6 +46,164 @@ test_ContextExpr
|
||||
| src/koa.js:54:16:54:18 | ctx | src/koa.js:47:10:56:1 | async c ... .foo;\\n} |
|
||||
| src/koa.js:59:10:59:9 | this | src/koa.js:59:10:61:1 | functio ... .url;\\n} |
|
||||
| src/koa.js:60:2:60:5 | this | src/koa.js:59:10:61:1 | functio ... .url;\\n} |
|
||||
test_RequestExpr
|
||||
| src/koa.js:19:3:19:13 | ctx.request | src/koa.js:10:10:28:1 | functio ... az');\\n} |
|
||||
| src/koa.js:20:3:20:13 | ctx.request | src/koa.js:10:10:28:1 | functio ... az');\\n} |
|
||||
| src/koa.js:21:3:21:13 | ctx.request | src/koa.js:10:10:28:1 | functio ... az');\\n} |
|
||||
| src/koa.js:22:3:22:13 | ctx.request | src/koa.js:10:10:28:1 | functio ... az');\\n} |
|
||||
| src/koa.js:23:3:23:13 | ctx.request | src/koa.js:10:10:28:1 | functio ... az');\\n} |
|
||||
| src/koa.js:24:3:24:13 | ctx.request | src/koa.js:10:10:28:1 | functio ... az');\\n} |
|
||||
| src/koa.js:25:3:25:13 | ctx.request | src/koa.js:10:10:28:1 | functio ... az');\\n} |
|
||||
| src/koa.js:26:3:26:13 | ctx.request | src/koa.js:10:10:28:1 | functio ... az');\\n} |
|
||||
| src/koa.js:60:2:60:13 | this.request | src/koa.js:59:10:61:1 | functio ... .url;\\n} |
|
||||
test_HeaderAccess
|
||||
| src/koa.js:24:3:24:24 | ctx.req ... der.bar | bar |
|
||||
| src/koa.js:25:3:25:25 | ctx.req ... ers.bar | bar |
|
||||
| src/koa.js:26:3:26:24 | ctx.req ... ('bar') | bar |
|
||||
| src/koa.js:37:2:37:15 | ctx.header.bar | bar |
|
||||
| src/koa.js:38:2:38:16 | ctx.headers.bar | bar |
|
||||
| src/koa.js:40:2:40:15 | ctx.get('bar') | bar |
|
||||
| src/koa.js:55:2:55:12 | headers.foo | foo |
|
||||
test_ResponseExpr
|
||||
| src/koa.js:12:3:12:15 | this.response | src/koa.js:10:10:28:1 | functio ... az');\\n} |
|
||||
| src/koa.js:14:3:14:14 | ctx.response | src/koa.js:10:10:28:1 | functio ... az');\\n} |
|
||||
| src/koa.js:15:7:15:24 | rsp | src/koa.js:10:10:28:1 | functio ... az');\\n} |
|
||||
| src/koa.js:15:13:15:24 | ctx.response | src/koa.js:10:10:28:1 | functio ... az');\\n} |
|
||||
| src/koa.js:16:3:16:5 | rsp | src/koa.js:10:10:28:1 | functio ... az');\\n} |
|
||||
| src/koa.js:18:3:18:14 | ctx.response | src/koa.js:10:10:28:1 | functio ... az');\\n} |
|
||||
| src/koa.js:44:2:44:13 | ctx.response | src/koa.js:30:10:45:1 | async c ... url);\\n} |
|
||||
test_RouteHandler
|
||||
| src/koa.js:7:1:7:22 | functio ... r1() {} | src/koa.js:5:12:5:20 | new Koa() |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:5:12:5:20 | new Koa() |
|
||||
| src/koa.js:30:10:45:1 | async c ... url);\\n} | src/koa.js:5:12:5:20 | new Koa() |
|
||||
| src/koa.js:47:10:56:1 | async c ... .foo;\\n} | src/koa.js:5:12:5:20 | new Koa() |
|
||||
| src/koa.js:59:10:61:1 | functio ... .url;\\n} | src/koa.js:58:12:58:16 | Koa() |
|
||||
test_AppDefinition
|
||||
| src/koa.js:2:12:2:33 | new (re ... oa'))() |
|
||||
| src/koa.js:5:12:5:20 | new Koa() |
|
||||
| src/koa.js:58:12:58:16 | Koa() |
|
||||
test_HeaderDefinition
|
||||
| src/koa.js:11:3:11:25 | this.se ... 1', '') | src/koa.js:10:10:28:1 | functio ... az');\\n} |
|
||||
| src/koa.js:12:3:12:37 | this.re ... 2', '') | src/koa.js:10:10:28:1 | functio ... az');\\n} |
|
||||
| src/koa.js:13:3:13:24 | ctx.set ... 3', '') | src/koa.js:10:10:28:1 | functio ... az');\\n} |
|
||||
| src/koa.js:14:3:14:36 | ctx.res ... 4', '') | src/koa.js:10:10:28:1 | functio ... az');\\n} |
|
||||
| src/koa.js:16:3:16:27 | rsp.hea ... 5', '') | src/koa.js:10:10:28:1 | functio ... az');\\n} |
|
||||
| src/koa.js:39:2:39:15 | ctx.set('bar') | src/koa.js:30:10:45:1 | async c ... url);\\n} |
|
||||
test_RedirectInvocation
|
||||
| src/koa.js:43:2:43:18 | ctx.redirect(url) | src/koa.js:43:15:43:17 | url | src/koa.js:30:10:45:1 | async c ... url);\\n} |
|
||||
| src/koa.js:44:2:44:27 | ctx.res ... ct(url) | src/koa.js:44:24:44:26 | url | src/koa.js:30:10:45:1 | async c ... url);\\n} |
|
||||
test_RequestInputAccess
|
||||
| src/koa.js:19:3:19:18 | ctx.request.body | body | src/koa.js:10:10:28:1 | functio ... az');\\n} |
|
||||
| src/koa.js:20:3:20:23 | ctx.req ... ery.foo | parameter | src/koa.js:10:10:28:1 | functio ... az');\\n} |
|
||||
| src/koa.js:21:3:21:17 | ctx.request.url | url | src/koa.js:10:10:28:1 | functio ... az');\\n} |
|
||||
| src/koa.js:22:3:22:25 | ctx.req ... inalUrl | url | src/koa.js:10:10:28:1 | functio ... az');\\n} |
|
||||
| src/koa.js:23:3:23:18 | ctx.request.href | url | src/koa.js:10:10:28:1 | functio ... az');\\n} |
|
||||
| src/koa.js:24:3:24:24 | ctx.req ... der.bar | header | src/koa.js:10:10:28:1 | functio ... az');\\n} |
|
||||
| src/koa.js:25:3:25:25 | ctx.req ... ers.bar | header | src/koa.js:10:10:28:1 | functio ... az');\\n} |
|
||||
| src/koa.js:26:3:26:24 | ctx.req ... ('bar') | header | src/koa.js:10:10:28:1 | functio ... az');\\n} |
|
||||
| src/koa.js:27:3:27:24 | ctx.coo ... ('baz') | cookie | src/koa.js:10:10:28:1 | functio ... az');\\n} |
|
||||
| src/koa.js:33:2:33:14 | ctx.query.foo | parameter | src/koa.js:30:10:45:1 | async c ... url);\\n} |
|
||||
| src/koa.js:34:2:34:8 | ctx.url | url | src/koa.js:30:10:45:1 | async c ... url);\\n} |
|
||||
| src/koa.js:35:2:35:16 | ctx.originalUrl | url | src/koa.js:30:10:45:1 | async c ... url);\\n} |
|
||||
| src/koa.js:36:2:36:9 | ctx.href | url | src/koa.js:30:10:45:1 | async c ... url);\\n} |
|
||||
| src/koa.js:37:2:37:15 | ctx.header.bar | header | src/koa.js:30:10:45:1 | async c ... url);\\n} |
|
||||
| src/koa.js:38:2:38:16 | ctx.headers.bar | header | src/koa.js:30:10:45:1 | async c ... url);\\n} |
|
||||
| src/koa.js:40:2:40:15 | ctx.get('bar') | header | src/koa.js:30:10:45:1 | async c ... url);\\n} |
|
||||
| src/koa.js:42:12:42:27 | ctx.query.target | parameter | src/koa.js:30:10:45:1 | async c ... url);\\n} |
|
||||
| src/koa.js:49:2:49:14 | cookies.get() | cookie | src/koa.js:47:10:56:1 | async c ... .foo;\\n} |
|
||||
| src/koa.js:52:2:52:10 | query.foo | parameter | src/koa.js:47:10:56:1 | async c ... .foo;\\n} |
|
||||
| src/koa.js:55:2:55:12 | headers.foo | header | src/koa.js:47:10:56:1 | async c ... .foo;\\n} |
|
||||
| src/koa.js:60:2:60:17 | this.request.url | url | src/koa.js:59:10:61:1 | functio ... .url;\\n} |
|
||||
test_ResponseSendArgument
|
||||
| src/koa.js:18:23:18:23 | x | src/koa.js:10:10:28:1 | functio ... az');\\n} |
|
||||
| src/koa.js:31:13:31:13 | x | src/koa.js:30:10:45:1 | async c ... url);\\n} |
|
||||
test_RouteSetup_getServer
|
||||
| src/koa.js:8:1:8:18 | app2.use(handler1) | src/koa.js:5:12:5:20 | new Koa() |
|
||||
| src/koa.js:10:1:28:2 | app2.us ... z');\\n}) | src/koa.js:5:12:5:20 | new Koa() |
|
||||
| src/koa.js:30:1:45:2 | app2.us ... rl);\\n}) | src/koa.js:5:12:5:20 | new Koa() |
|
||||
| src/koa.js:47:1:56:2 | app2.us ... foo;\\n}) | src/koa.js:5:12:5:20 | new Koa() |
|
||||
| src/koa.js:59:1:61:2 | app3.us ... url;\\n}) | src/koa.js:58:12:58:16 | Koa() |
|
||||
test_HeaderDefinition_defines
|
||||
| src/koa.js:11:3:11:25 | this.se ... 1', '') | header1 | |
|
||||
| src/koa.js:12:3:12:37 | this.re ... 2', '') | header2 | |
|
||||
| src/koa.js:13:3:13:24 | ctx.set ... 3', '') | header3 | |
|
||||
| src/koa.js:14:3:14:36 | ctx.res ... 4', '') | header4 | |
|
||||
| src/koa.js:16:3:16:27 | rsp.hea ... 5', '') | header5 | |
|
||||
test_RouteSetup_getARouteHandler
|
||||
| src/koa.js:8:1:8:18 | app2.use(handler1) | src/koa.js:7:1:7:22 | functio ... r1() {} |
|
||||
| src/koa.js:10:1:28:2 | app2.us ... z');\\n}) | src/koa.js:10:10:28:1 | functio ... az');\\n} |
|
||||
| src/koa.js:30:1:45:2 | app2.us ... rl);\\n}) | src/koa.js:30:10:45:1 | async c ... url);\\n} |
|
||||
| src/koa.js:47:1:56:2 | app2.us ... foo;\\n}) | src/koa.js:47:10:56:1 | async c ... .foo;\\n} |
|
||||
| src/koa.js:59:1:61:2 | app3.us ... url;\\n}) | src/koa.js:59:10:61:1 | functio ... .url;\\n} |
|
||||
test_RouteHandler_getAContextExpr
|
||||
| src/koa.js:7:1:7:22 | functio ... r1() {} | src/koa.js:7:1:7:0 | this |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:10:10:10:9 | this |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:10:28:10:30 | ctx |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:10:28:10:30 | ctx |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:11:3:11:6 | this |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:12:3:12:6 | this |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:13:3:13:5 | ctx |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:14:3:14:5 | ctx |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:15:13:15:15 | ctx |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:18:3:18:5 | ctx |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:19:3:19:5 | ctx |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:20:3:20:5 | ctx |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:21:3:21:5 | ctx |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:22:3:22:5 | ctx |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:23:3:23:5 | ctx |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:24:3:24:5 | ctx |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:25:3:25:5 | ctx |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:26:3:26:5 | ctx |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:27:3:27:5 | ctx |
|
||||
| src/koa.js:30:10:45:1 | async c ... url);\\n} | src/koa.js:30:16:30:18 | ctx |
|
||||
| src/koa.js:30:10:45:1 | async c ... url);\\n} | src/koa.js:30:16:30:18 | ctx |
|
||||
| src/koa.js:30:10:45:1 | async c ... url);\\n} | src/koa.js:31:2:31:4 | ctx |
|
||||
| src/koa.js:30:10:45:1 | async c ... url);\\n} | src/koa.js:32:2:32:4 | ctx |
|
||||
| src/koa.js:30:10:45:1 | async c ... url);\\n} | src/koa.js:33:2:33:4 | ctx |
|
||||
| src/koa.js:30:10:45:1 | async c ... url);\\n} | src/koa.js:34:2:34:4 | ctx |
|
||||
| src/koa.js:30:10:45:1 | async c ... url);\\n} | src/koa.js:35:2:35:4 | ctx |
|
||||
| src/koa.js:30:10:45:1 | async c ... url);\\n} | src/koa.js:36:2:36:4 | ctx |
|
||||
| src/koa.js:30:10:45:1 | async c ... url);\\n} | src/koa.js:37:2:37:4 | ctx |
|
||||
| src/koa.js:30:10:45:1 | async c ... url);\\n} | src/koa.js:38:2:38:4 | ctx |
|
||||
| src/koa.js:30:10:45:1 | async c ... url);\\n} | src/koa.js:39:2:39:4 | ctx |
|
||||
| src/koa.js:30:10:45:1 | async c ... url);\\n} | src/koa.js:40:2:40:4 | ctx |
|
||||
| src/koa.js:30:10:45:1 | async c ... url);\\n} | src/koa.js:42:12:42:14 | ctx |
|
||||
| src/koa.js:30:10:45:1 | async c ... url);\\n} | src/koa.js:43:2:43:4 | ctx |
|
||||
| src/koa.js:30:10:45:1 | async c ... url);\\n} | src/koa.js:44:2:44:4 | ctx |
|
||||
| src/koa.js:47:10:56:1 | async c ... .foo;\\n} | src/koa.js:47:16:47:18 | ctx |
|
||||
| src/koa.js:47:10:56:1 | async c ... .foo;\\n} | src/koa.js:47:16:47:18 | ctx |
|
||||
| src/koa.js:47:10:56:1 | async c ... .foo;\\n} | src/koa.js:48:16:48:18 | ctx |
|
||||
| src/koa.js:47:10:56:1 | async c ... .foo;\\n} | src/koa.js:51:14:51:16 | ctx |
|
||||
| src/koa.js:47:10:56:1 | async c ... .foo;\\n} | src/koa.js:54:16:54:18 | ctx |
|
||||
| src/koa.js:59:10:61:1 | functio ... .url;\\n} | src/koa.js:59:10:59:9 | this |
|
||||
| src/koa.js:59:10:61:1 | functio ... .url;\\n} | src/koa.js:60:2:60:5 | this |
|
||||
test_RouteHandler_getARequestExpr
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:19:3:19:13 | ctx.request |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:20:3:20:13 | ctx.request |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:21:3:21:13 | ctx.request |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:22:3:22:13 | ctx.request |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:23:3:23:13 | ctx.request |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:24:3:24:13 | ctx.request |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:25:3:25:13 | ctx.request |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:26:3:26:13 | ctx.request |
|
||||
| src/koa.js:59:10:61:1 | functio ... .url;\\n} | src/koa.js:60:2:60:13 | this.request |
|
||||
test_RouteHandler_getAResponseExpr
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:12:3:12:15 | this.response |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:14:3:14:14 | ctx.response |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:15:7:15:24 | rsp |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:15:13:15:24 | ctx.response |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:16:3:16:5 | rsp |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | src/koa.js:18:3:18:14 | ctx.response |
|
||||
| src/koa.js:30:10:45:1 | async c ... url);\\n} | src/koa.js:44:2:44:13 | ctx.response |
|
||||
test_HeaderDefinition_getAHeaderName
|
||||
| src/koa.js:11:3:11:25 | this.se ... 1', '') | header1 |
|
||||
| src/koa.js:12:3:12:37 | this.re ... 2', '') | header2 |
|
||||
| src/koa.js:13:3:13:24 | ctx.set ... 3', '') | header3 |
|
||||
| src/koa.js:14:3:14:36 | ctx.res ... 4', '') | header4 |
|
||||
| src/koa.js:16:3:16:27 | rsp.hea ... 5', '') | header5 |
|
||||
test_RouteHandler_getAResponseHeader
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | header1 | src/koa.js:11:3:11:25 | this.se ... 1', '') |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | header2 | src/koa.js:12:3:12:37 | this.re ... 2', '') |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | header3 | src/koa.js:13:3:13:24 | ctx.set ... 3', '') |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | header4 | src/koa.js:14:3:14:36 | ctx.res ... 4', '') |
|
||||
| src/koa.js:10:10:28:1 | functio ... az');\\n} | header5 | src/koa.js:16:3:16:27 | rsp.hea ... 5', '') |
|
||||
|
||||
@@ -2,67 +2,6 @@ test_RouteSetup
|
||||
| src/test.js:7:1:7:26 | server2 ... ndler1) |
|
||||
| src/test.js:9:1:11:2 | server2 ... tion\\n}) |
|
||||
| src/test.js:12:1:22:2 | server2 ... kie;\\n}) |
|
||||
test_RequestInputAccess
|
||||
| src/test.js:14:5:14:26 | request ... y().foo | parameter | src/test.js:12:19:22:1 | functio ... okie;\\n} |
|
||||
| src/test.js:15:5:15:18 | request.href() | url | src/test.js:12:19:22:1 | functio ... okie;\\n} |
|
||||
| src/test.js:16:5:16:21 | request.getPath() | url | src/test.js:12:19:22:1 | functio ... okie;\\n} |
|
||||
| src/test.js:17:5:17:28 | request ... tType() | header | src/test.js:12:19:22:1 | functio ... okie;\\n} |
|
||||
| src/test.js:18:5:18:23 | request.userAgent() | header | src/test.js:12:19:22:1 | functio ... okie;\\n} |
|
||||
| src/test.js:19:5:19:26 | request ... ('bar') | header | src/test.js:12:19:22:1 | functio ... okie;\\n} |
|
||||
| src/test.js:20:5:20:25 | request ... ('baz') | header | src/test.js:12:19:22:1 | functio ... okie;\\n} |
|
||||
test_RouteHandler_getAResponseHeader
|
||||
| src/test.js:6:1:6:21 | functio ... er1(){} | content-type | src/test.js:6:1:6:21 | functio ... er1(){} |
|
||||
| src/test.js:9:19:11:1 | functio ... ition\\n} | content-type | src/test.js:9:19:11:1 | functio ... ition\\n} |
|
||||
| src/test.js:9:19:11:1 | functio ... ition\\n} | header1 | src/test.js:10:5:10:34 | respons ... 1', '') |
|
||||
| src/test.js:12:19:22:1 | functio ... okie;\\n} | content-type | src/test.js:12:19:22:1 | functio ... okie;\\n} |
|
||||
| src/test.js:12:19:22:1 | functio ... okie;\\n} | header2 | src/test.js:13:5:13:37 | respons ... 2', '') |
|
||||
test_HeaderDefinition_defines
|
||||
| src/test.js:6:1:6:21 | functio ... er1(){} | content-type | application/json |
|
||||
| src/test.js:9:19:11:1 | functio ... ition\\n} | content-type | application/json |
|
||||
| src/test.js:10:5:10:34 | respons ... 1', '') | header1 | |
|
||||
| src/test.js:12:19:22:1 | functio ... okie;\\n} | content-type | application/json |
|
||||
| src/test.js:13:5:13:37 | respons ... 2', '') | header2 | |
|
||||
test_ResponseExpr
|
||||
| src/test.js:9:46:9:53 | response | src/test.js:9:19:11:1 | functio ... ition\\n} |
|
||||
| src/test.js:9:46:9:53 | response | src/test.js:9:19:11:1 | functio ... ition\\n} |
|
||||
| src/test.js:10:5:10:12 | response | src/test.js:9:19:11:1 | functio ... ition\\n} |
|
||||
| src/test.js:12:46:12:53 | response | src/test.js:12:19:22:1 | functio ... okie;\\n} |
|
||||
| src/test.js:12:46:12:53 | response | src/test.js:12:19:22:1 | functio ... okie;\\n} |
|
||||
| src/test.js:13:5:13:12 | response | src/test.js:12:19:22:1 | functio ... okie;\\n} |
|
||||
test_HeaderDefinition
|
||||
| src/test.js:6:1:6:21 | functio ... er1(){} | src/test.js:6:1:6:21 | functio ... er1(){} |
|
||||
| src/test.js:9:19:11:1 | functio ... ition\\n} | src/test.js:9:19:11:1 | functio ... ition\\n} |
|
||||
| src/test.js:10:5:10:34 | respons ... 1', '') | src/test.js:9:19:11:1 | functio ... ition\\n} |
|
||||
| src/test.js:12:19:22:1 | functio ... okie;\\n} | src/test.js:12:19:22:1 | functio ... okie;\\n} |
|
||||
| src/test.js:13:5:13:37 | respons ... 2', '') | src/test.js:12:19:22:1 | functio ... okie;\\n} |
|
||||
test_RouteSetup_getServer
|
||||
| src/test.js:7:1:7:26 | server2 ... ndler1) | src/test.js:4:15:4:36 | restify ... erver() |
|
||||
| src/test.js:9:1:11:2 | server2 ... tion\\n}) | src/test.js:4:15:4:36 | restify ... erver() |
|
||||
| src/test.js:12:1:22:2 | server2 ... kie;\\n}) | src/test.js:4:15:4:36 | restify ... erver() |
|
||||
test_HeaderDefinition_getAHeaderName
|
||||
| src/test.js:6:1:6:21 | functio ... er1(){} | content-type |
|
||||
| src/test.js:9:19:11:1 | functio ... ition\\n} | content-type |
|
||||
| src/test.js:10:5:10:34 | respons ... 1', '') | header1 |
|
||||
| src/test.js:12:19:22:1 | functio ... okie;\\n} | content-type |
|
||||
| src/test.js:13:5:13:37 | respons ... 2', '') | header2 |
|
||||
test_ServerDefinition
|
||||
| src/test.js:1:15:1:47 | require ... erver() |
|
||||
| src/test.js:4:15:4:36 | restify ... erver() |
|
||||
test_RouteHandler_getAResponseExpr
|
||||
| src/test.js:9:19:11:1 | functio ... ition\\n} | src/test.js:9:46:9:53 | response |
|
||||
| src/test.js:9:19:11:1 | functio ... ition\\n} | src/test.js:9:46:9:53 | response |
|
||||
| src/test.js:9:19:11:1 | functio ... ition\\n} | src/test.js:10:5:10:12 | response |
|
||||
| src/test.js:12:19:22:1 | functio ... okie;\\n} | src/test.js:12:46:12:53 | response |
|
||||
| src/test.js:12:19:22:1 | functio ... okie;\\n} | src/test.js:12:46:12:53 | response |
|
||||
| src/test.js:12:19:22:1 | functio ... okie;\\n} | src/test.js:13:5:13:12 | response |
|
||||
test_RouteSetup_getARouteHandler
|
||||
| src/test.js:7:1:7:26 | server2 ... ndler1) | src/test.js:6:1:6:21 | functio ... er1(){} |
|
||||
| src/test.js:9:1:11:2 | server2 ... tion\\n}) | src/test.js:9:19:11:1 | functio ... ition\\n} |
|
||||
| src/test.js:12:1:22:2 | server2 ... kie;\\n}) | src/test.js:12:19:22:1 | functio ... okie;\\n} |
|
||||
test_RouteHandler
|
||||
| src/test.js:6:1:6:21 | functio ... er1(){} | src/test.js:4:15:4:36 | restify ... erver() |
|
||||
| src/test.js:9:19:11:1 | functio ... ition\\n} | src/test.js:4:15:4:36 | restify ... erver() |
|
||||
| src/test.js:12:19:22:1 | functio ... okie;\\n} | src/test.js:4:15:4:36 | restify ... erver() |
|
||||
test_RequestExpr
|
||||
| src/test.js:9:37:9:43 | request | src/test.js:9:19:11:1 | functio ... ition\\n} |
|
||||
| src/test.js:12:37:12:43 | request | src/test.js:12:19:22:1 | functio ... okie;\\n} |
|
||||
@@ -75,6 +14,48 @@ test_RequestExpr
|
||||
| src/test.js:19:5:19:11 | request | src/test.js:12:19:22:1 | functio ... okie;\\n} |
|
||||
| src/test.js:20:5:20:11 | request | src/test.js:12:19:22:1 | functio ... okie;\\n} |
|
||||
| src/test.js:21:5:21:11 | request | src/test.js:12:19:22:1 | functio ... okie;\\n} |
|
||||
test_ResponseExpr
|
||||
| src/test.js:9:46:9:53 | response | src/test.js:9:19:11:1 | functio ... ition\\n} |
|
||||
| src/test.js:9:46:9:53 | response | src/test.js:9:19:11:1 | functio ... ition\\n} |
|
||||
| src/test.js:10:5:10:12 | response | src/test.js:9:19:11:1 | functio ... ition\\n} |
|
||||
| src/test.js:12:46:12:53 | response | src/test.js:12:19:22:1 | functio ... okie;\\n} |
|
||||
| src/test.js:12:46:12:53 | response | src/test.js:12:19:22:1 | functio ... okie;\\n} |
|
||||
| src/test.js:13:5:13:12 | response | src/test.js:12:19:22:1 | functio ... okie;\\n} |
|
||||
test_RouteHandler
|
||||
| src/test.js:6:1:6:21 | functio ... er1(){} | src/test.js:4:15:4:36 | restify ... erver() |
|
||||
| src/test.js:9:19:11:1 | functio ... ition\\n} | src/test.js:4:15:4:36 | restify ... erver() |
|
||||
| src/test.js:12:19:22:1 | functio ... okie;\\n} | src/test.js:4:15:4:36 | restify ... erver() |
|
||||
test_HeaderDefinition
|
||||
| src/test.js:6:1:6:21 | functio ... er1(){} | src/test.js:6:1:6:21 | functio ... er1(){} |
|
||||
| src/test.js:9:19:11:1 | functio ... ition\\n} | src/test.js:9:19:11:1 | functio ... ition\\n} |
|
||||
| src/test.js:10:5:10:34 | respons ... 1', '') | src/test.js:9:19:11:1 | functio ... ition\\n} |
|
||||
| src/test.js:12:19:22:1 | functio ... okie;\\n} | src/test.js:12:19:22:1 | functio ... okie;\\n} |
|
||||
| src/test.js:13:5:13:37 | respons ... 2', '') | src/test.js:12:19:22:1 | functio ... okie;\\n} |
|
||||
test_ServerDefinition
|
||||
| src/test.js:1:15:1:47 | require ... erver() |
|
||||
| src/test.js:4:15:4:36 | restify ... erver() |
|
||||
test_RequestInputAccess
|
||||
| src/test.js:14:5:14:26 | request ... y().foo | parameter | src/test.js:12:19:22:1 | functio ... okie;\\n} |
|
||||
| src/test.js:15:5:15:18 | request.href() | url | src/test.js:12:19:22:1 | functio ... okie;\\n} |
|
||||
| src/test.js:16:5:16:21 | request.getPath() | url | src/test.js:12:19:22:1 | functio ... okie;\\n} |
|
||||
| src/test.js:17:5:17:28 | request ... tType() | header | src/test.js:12:19:22:1 | functio ... okie;\\n} |
|
||||
| src/test.js:18:5:18:23 | request.userAgent() | header | src/test.js:12:19:22:1 | functio ... okie;\\n} |
|
||||
| src/test.js:19:5:19:26 | request ... ('bar') | header | src/test.js:12:19:22:1 | functio ... okie;\\n} |
|
||||
| src/test.js:20:5:20:25 | request ... ('baz') | header | src/test.js:12:19:22:1 | functio ... okie;\\n} |
|
||||
test_RouteSetup_getServer
|
||||
| src/test.js:7:1:7:26 | server2 ... ndler1) | src/test.js:4:15:4:36 | restify ... erver() |
|
||||
| src/test.js:9:1:11:2 | server2 ... tion\\n}) | src/test.js:4:15:4:36 | restify ... erver() |
|
||||
| src/test.js:12:1:22:2 | server2 ... kie;\\n}) | src/test.js:4:15:4:36 | restify ... erver() |
|
||||
test_HeaderDefinition_defines
|
||||
| src/test.js:6:1:6:21 | functio ... er1(){} | content-type | application/json |
|
||||
| src/test.js:9:19:11:1 | functio ... ition\\n} | content-type | application/json |
|
||||
| src/test.js:10:5:10:34 | respons ... 1', '') | header1 | |
|
||||
| src/test.js:12:19:22:1 | functio ... okie;\\n} | content-type | application/json |
|
||||
| src/test.js:13:5:13:37 | respons ... 2', '') | header2 | |
|
||||
test_RouteSetup_getARouteHandler
|
||||
| src/test.js:7:1:7:26 | server2 ... ndler1) | src/test.js:6:1:6:21 | functio ... er1(){} |
|
||||
| src/test.js:9:1:11:2 | server2 ... tion\\n}) | src/test.js:9:19:11:1 | functio ... ition\\n} |
|
||||
| src/test.js:12:1:22:2 | server2 ... kie;\\n}) | src/test.js:12:19:22:1 | functio ... okie;\\n} |
|
||||
test_RouteHandler_getARequestExpr
|
||||
| src/test.js:9:19:11:1 | functio ... ition\\n} | src/test.js:9:37:9:43 | request |
|
||||
| src/test.js:12:19:22:1 | functio ... okie;\\n} | src/test.js:12:37:12:43 | request |
|
||||
@@ -87,3 +68,22 @@ test_RouteHandler_getARequestExpr
|
||||
| src/test.js:12:19:22:1 | functio ... okie;\\n} | src/test.js:19:5:19:11 | request |
|
||||
| src/test.js:12:19:22:1 | functio ... okie;\\n} | src/test.js:20:5:20:11 | request |
|
||||
| src/test.js:12:19:22:1 | functio ... okie;\\n} | src/test.js:21:5:21:11 | request |
|
||||
test_RouteHandler_getAResponseExpr
|
||||
| src/test.js:9:19:11:1 | functio ... ition\\n} | src/test.js:9:46:9:53 | response |
|
||||
| src/test.js:9:19:11:1 | functio ... ition\\n} | src/test.js:9:46:9:53 | response |
|
||||
| src/test.js:9:19:11:1 | functio ... ition\\n} | src/test.js:10:5:10:12 | response |
|
||||
| src/test.js:12:19:22:1 | functio ... okie;\\n} | src/test.js:12:46:12:53 | response |
|
||||
| src/test.js:12:19:22:1 | functio ... okie;\\n} | src/test.js:12:46:12:53 | response |
|
||||
| src/test.js:12:19:22:1 | functio ... okie;\\n} | src/test.js:13:5:13:12 | response |
|
||||
test_HeaderDefinition_getAHeaderName
|
||||
| src/test.js:6:1:6:21 | functio ... er1(){} | content-type |
|
||||
| src/test.js:9:19:11:1 | functio ... ition\\n} | content-type |
|
||||
| src/test.js:10:5:10:34 | respons ... 1', '') | header1 |
|
||||
| src/test.js:12:19:22:1 | functio ... okie;\\n} | content-type |
|
||||
| src/test.js:13:5:13:37 | respons ... 2', '') | header2 |
|
||||
test_RouteHandler_getAResponseHeader
|
||||
| src/test.js:6:1:6:21 | functio ... er1(){} | content-type | src/test.js:6:1:6:21 | functio ... er1(){} |
|
||||
| src/test.js:9:19:11:1 | functio ... ition\\n} | content-type | src/test.js:9:19:11:1 | functio ... ition\\n} |
|
||||
| src/test.js:9:19:11:1 | functio ... ition\\n} | header1 | src/test.js:10:5:10:34 | respons ... 1', '') |
|
||||
| src/test.js:12:19:22:1 | functio ... okie;\\n} | content-type | src/test.js:12:19:22:1 | functio ... okie;\\n} |
|
||||
| src/test.js:12:19:22:1 | functio ... okie;\\n} | header2 | src/test.js:13:5:13:37 | respons ... 2', '') |
|
||||
|
||||
@@ -1,12 +1,105 @@
|
||||
test_LetStmt
|
||||
| legacyletstmt.js:1:1:3:1 | let (x ... + y);\\n} | 0 | legacyletstmt.js:1:6:1:11 | x = 23 | legacyletstmt.js:1:22:3:1 | {\\n con ... + y);\\n} |
|
||||
| legacyletstmt.js:1:1:3:1 | let (x ... + y);\\n} | 1 | legacyletstmt.js:1:14:1:19 | y = 19 | legacyletstmt.js:1:22:3:1 | {\\n con ... + y);\\n} |
|
||||
test_LineTerminators
|
||||
| conditionals.js:12:1:12:1 | } |
|
||||
| functions.js:9:1:9:1 | } |
|
||||
| loops.js:22:1:22:18 | for (x = 0 in xs); |
|
||||
| others.js:4:1:4:14 | var x = 23, y; |
|
||||
| try.js:5:1:5:29 | try {} catch(x) {} finally {} |
|
||||
test_getGuard
|
||||
| guardedCatch.js:4:4:6:2 | catch ( ... !");\\n\\t} | guardedCatch.js:4:16:4:33 | e instanceof Error |
|
||||
test_Containers
|
||||
| conditionals.js:1:1:2:5 | if (true)\\n ; | conditionals.js:1:1:12:1 | <toplevel> |
|
||||
| conditionals.js:2:5:2:5 | ; | conditionals.js:1:1:12:1 | <toplevel> |
|
||||
| conditionals.js:3:1:6:5 | if (b)\\n ... e\\n ; | conditionals.js:1:1:12:1 | <toplevel> |
|
||||
| conditionals.js:4:5:4:5 | ; | conditionals.js:1:1:12:1 | <toplevel> |
|
||||
| conditionals.js:6:5:6:5 | ; | conditionals.js:1:1:12:1 | <toplevel> |
|
||||
| conditionals.js:7:1:12:1 | switch ... ault:\\n} | conditionals.js:1:1:12:1 | <toplevel> |
|
||||
| conditionals.js:8:1:8:8 | case 23: | conditionals.js:1:1:12:1 | <toplevel> |
|
||||
| conditionals.js:9:1:10:10 | case c:\\n break; | conditionals.js:1:1:12:1 | <toplevel> |
|
||||
| conditionals.js:10:5:10:10 | break; | conditionals.js:1:1:12:1 | <toplevel> |
|
||||
| conditionals.js:11:1:11:8 | default: | conditionals.js:1:1:12:1 | <toplevel> |
|
||||
| es2015.js:1:1:2:16 | for (va ... log(x); | es2015.js:1:1:3:0 | <toplevel> |
|
||||
| es2015.js:1:6:1:10 | var x | es2015.js:1:1:3:0 | <toplevel> |
|
||||
| es2015.js:2:2:2:16 | console.log(x); | es2015.js:1:1:3:0 | <toplevel> |
|
||||
| foreach.js:1:1:1:12 | var sum = 0; | foreach.js:1:1:9:0 | <toplevel> |
|
||||
| foreach.js:2:1:2:42 | var obj ... p3: 8}; | foreach.js:1:1:9:0 | <toplevel> |
|
||||
| foreach.js:4:1:6:1 | for eac ... item;\\n} | foreach.js:1:1:9:0 | <toplevel> |
|
||||
| foreach.js:4:11:4:18 | var item | foreach.js:1:1:9:0 | <toplevel> |
|
||||
| foreach.js:4:28:6:1 | {\\n sum += item;\\n} | foreach.js:1:1:9:0 | <toplevel> |
|
||||
| foreach.js:5:3:5:14 | sum += item; | foreach.js:1:1:9:0 | <toplevel> |
|
||||
| foreach.js:8:1:8:17 | console.log(sum); | foreach.js:1:1:9:0 | <toplevel> |
|
||||
| functions.js:1:1:3:1 | functio ... x+y;\\n} | functions.js:1:1:9:1 | <toplevel> |
|
||||
| functions.js:1:18:3:1 | {\\n return x+y;\\n} | functions.js:1:1:3:1 | functio ... x+y;\\n} |
|
||||
| functions.js:2:5:2:15 | return x+y; | functions.js:1:1:3:1 | functio ... x+y;\\n} |
|
||||
| functions.js:5:1:5:15 | function h() {} | functions.js:1:1:9:1 | <toplevel> |
|
||||
| functions.js:5:14:5:15 | {} | functions.js:5:1:5:15 | function h() {} |
|
||||
| functions.js:7:1:9:1 | k = fun ... turn;\\n} | functions.js:1:1:9:1 | <toplevel> |
|
||||
| functions.js:7:16:9:1 | {\\n return;\\n} | functions.js:7:5:9:1 | functio ... turn;\\n} |
|
||||
| functions.js:8:5:8:11 | return; | functions.js:7:5:9:1 | functio ... turn;\\n} |
|
||||
| guardedCatch.js:1:1:9:1 | functio ... );\\n\\t}\\n} | guardedCatch.js:1:1:10:0 | <toplevel> |
|
||||
| guardedCatch.js:1:15:9:1 | {\\n\\ttry ... );\\n\\t}\\n} | guardedCatch.js:1:1:9:1 | functio ... );\\n\\t}\\n} |
|
||||
| guardedCatch.js:2:2:8:2 | try {\\n\\t ... !");\\n\\t} | guardedCatch.js:1:1:9:1 | functio ... );\\n\\t}\\n} |
|
||||
| guardedCatch.js:2:6:4:2 | {\\n\\t\\tg();\\n\\t} | guardedCatch.js:1:1:9:1 | functio ... );\\n\\t}\\n} |
|
||||
| guardedCatch.js:3:3:3:6 | g(); | guardedCatch.js:1:1:9:1 | functio ... );\\n\\t}\\n} |
|
||||
| guardedCatch.js:4:4:6:2 | catch ( ... !");\\n\\t} | guardedCatch.js:1:1:9:1 | functio ... );\\n\\t}\\n} |
|
||||
| guardedCatch.js:4:36:6:2 | {\\n\\t\\tcon ... !");\\n\\t} | guardedCatch.js:1:1:9:1 | functio ... );\\n\\t}\\n} |
|
||||
| guardedCatch.js:5:3:5:24 | console ... ror!"); | guardedCatch.js:1:1:9:1 | functio ... );\\n\\t}\\n} |
|
||||
| guardedCatch.js:6:4:8:2 | catch ( ... !");\\n\\t} | guardedCatch.js:1:1:9:1 | functio ... );\\n\\t}\\n} |
|
||||
| guardedCatch.js:6:14:8:2 | {\\n\\t\\tcon ... !");\\n\\t} | guardedCatch.js:1:1:9:1 | functio ... );\\n\\t}\\n} |
|
||||
| guardedCatch.js:7:3:7:33 | console ... lse!"); | guardedCatch.js:1:1:9:1 | functio ... );\\n\\t}\\n} |
|
||||
| jscript.js:1:1:1:28 | functio ... ad() {} | jscript.js:1:1:4:0 | <toplevel> |
|
||||
| jscript.js:1:27:1:28 | {} | jscript.js:1:1:1:28 | functio ... ad() {} |
|
||||
| jscript.js:3:1:3:36 | window. ... ad() {} | jscript.js:1:1:4:0 | <toplevel> |
|
||||
| jscript.js:3:35:3:36 | {} | jscript.js:3:17:3:36 | function onload() {} |
|
||||
| legacyletstmt.js:1:1:3:1 | let (x ... + y);\\n} | legacyletstmt.js:1:1:4:0 | <toplevel> |
|
||||
| legacyletstmt.js:1:22:3:1 | {\\n con ... + y);\\n} | legacyletstmt.js:1:1:4:0 | <toplevel> |
|
||||
| legacyletstmt.js:2:3:2:21 | console.log(x + y); | legacyletstmt.js:1:1:4:0 | <toplevel> |
|
||||
| loops.js:1:1:2:5 | while(true)\\n ; | loops.js:1:1:22:18 | <toplevel> |
|
||||
| loops.js:2:5:2:5 | ; | loops.js:1:1:22:18 | <toplevel> |
|
||||
| loops.js:3:1:11:1 | outer: ... inue;\\n} | loops.js:1:1:22:18 | <toplevel> |
|
||||
| loops.js:3:8:11:1 | for(a; ... inue;\\n} | loops.js:1:1:22:18 | <toplevel> |
|
||||
| loops.js:3:21:11:1 | {\\n f ... inue;\\n} | loops.js:1:1:22:18 | <toplevel> |
|
||||
| loops.js:4:5:10:21 | for(;;) ... ntinue; | loops.js:1:1:22:18 | <toplevel> |
|
||||
| loops.js:5:9:10:21 | if (d)\\n ... ntinue; | loops.js:1:1:22:18 | <toplevel> |
|
||||
| loops.js:6:13:6:27 | continue outer; | loops.js:1:1:22:18 | <toplevel> |
|
||||
| loops.js:7:14:10:21 | if (e)\\n ... ntinue; | loops.js:1:1:22:18 | <toplevel> |
|
||||
| loops.js:8:13:8:24 | break outer; | loops.js:1:1:22:18 | <toplevel> |
|
||||
| loops.js:10:13:10:21 | continue; | loops.js:1:1:22:18 | <toplevel> |
|
||||
| loops.js:13:1:15:11 | do {\\n ... ile(a); | loops.js:1:1:22:18 | <toplevel> |
|
||||
| loops.js:13:4:15:1 | {\\n ;\\n} | loops.js:1:1:22:18 | <toplevel> |
|
||||
| loops.js:14:5:14:5 | ; | loops.js:1:1:22:18 | <toplevel> |
|
||||
| loops.js:17:1:17:29 | for (va ... ; ++i); | loops.js:1:1:22:18 | <toplevel> |
|
||||
| loops.js:17:6:17:17 | var i=0,n=10 | loops.js:1:1:22:18 | <toplevel> |
|
||||
| loops.js:17:29:17:29 | ; | loops.js:1:1:22:18 | <toplevel> |
|
||||
| loops.js:19:1:19:18 | for (var x in xs); | loops.js:1:1:22:18 | <toplevel> |
|
||||
| loops.js:19:6:19:10 | var x | loops.js:1:1:22:18 | <toplevel> |
|
||||
| loops.js:19:18:19:18 | ; | loops.js:1:1:22:18 | <toplevel> |
|
||||
| loops.js:20:1:20:14 | for (x in xs); | loops.js:1:1:22:18 | <toplevel> |
|
||||
| loops.js:20:14:20:14 | ; | loops.js:1:1:22:18 | <toplevel> |
|
||||
| loops.js:21:1:21:16 | for (x.f in xs); | loops.js:1:1:22:18 | <toplevel> |
|
||||
| loops.js:21:16:21:16 | ; | loops.js:1:1:22:18 | <toplevel> |
|
||||
| loops.js:22:1:22:18 | for (x = 0 in xs); | loops.js:1:1:22:18 | <toplevel> |
|
||||
| loops.js:22:18:22:18 | ; | loops.js:1:1:22:18 | <toplevel> |
|
||||
| others.js:1:1:2:1 | with(a) {\\n} | others.js:1:1:4:14 | <toplevel> |
|
||||
| others.js:1:9:2:1 | {\\n} | others.js:1:1:4:14 | <toplevel> |
|
||||
| others.js:3:1:3:9 | debugger; | others.js:1:1:4:14 | <toplevel> |
|
||||
| others.js:4:1:4:14 | var x = 23, y; | others.js:1:1:4:14 | <toplevel> |
|
||||
| try.js:1:1:3:16 | try {\\n ... ) { ; } | try.js:1:1:5:29 | <toplevel> |
|
||||
| try.js:1:5:3:1 | {\\n throw "!";\\n} | try.js:1:1:5:29 | <toplevel> |
|
||||
| try.js:2:5:2:14 | throw "!"; | try.js:1:1:5:29 | <toplevel> |
|
||||
| try.js:3:3:3:16 | catch(x) { ; } | try.js:1:1:5:29 | <toplevel> |
|
||||
| try.js:3:12:3:16 | { ; } | try.js:1:1:5:29 | <toplevel> |
|
||||
| try.js:3:14:3:14 | ; | try.js:1:1:5:29 | <toplevel> |
|
||||
| try.js:4:1:4:20 | try {} finally { ; } | try.js:1:1:5:29 | <toplevel> |
|
||||
| try.js:4:5:4:6 | {} | try.js:1:1:5:29 | <toplevel> |
|
||||
| try.js:4:16:4:20 | { ; } | try.js:1:1:5:29 | <toplevel> |
|
||||
| try.js:4:18:4:18 | ; | try.js:1:1:5:29 | <toplevel> |
|
||||
| try.js:5:1:5:29 | try {} ... ally {} | try.js:1:1:5:29 | <toplevel> |
|
||||
| try.js:5:5:5:6 | {} | try.js:1:1:5:29 | <toplevel> |
|
||||
| try.js:5:8:5:18 | catch(x) {} | try.js:1:1:5:29 | <toplevel> |
|
||||
| try.js:5:17:5:18 | {} | try.js:1:1:5:29 | <toplevel> |
|
||||
| try.js:5:28:5:29 | {} | try.js:1:1:5:29 | <toplevel> |
|
||||
test_JumpTargets
|
||||
| conditionals.js:10:5:10:10 | break; | (none) | conditionals.js:7:1:12:1 | switch ... ault:\\n} |
|
||||
| loops.js:6:13:6:27 | continue outer; | outer | loops.js:3:1:11:1 | outer: ... inue;\\n} |
|
||||
| loops.js:8:13:8:24 | break outer; | outer | loops.js:3:1:11:1 | outer: ... inue;\\n} |
|
||||
| loops.js:10:13:10:21 | continue; | (none) | loops.js:4:5:10:21 | for(;;) ... ntinue; |
|
||||
test_EnclosingStmt
|
||||
| conditionals.js:1:5:1:8 | true | conditionals.js:1:1:2:5 | if (true)\\n ; |
|
||||
| conditionals.js:3:5:3:5 | b | conditionals.js:3:1:6:5 | if (b)\\n ... e\\n ; |
|
||||
@@ -135,6 +228,12 @@ test_EnclosingStmt
|
||||
| try.js:2:11:2:13 | "!" | try.js:2:5:2:14 | throw "!"; |
|
||||
| try.js:3:9:3:9 | x | try.js:3:3:3:16 | catch(x) { ; } |
|
||||
| try.js:5:14:5:14 | x | try.js:5:8:5:18 | catch(x) {} |
|
||||
test_LineTerminators
|
||||
| conditionals.js:12:1:12:1 | } |
|
||||
| functions.js:9:1:9:1 | } |
|
||||
| loops.js:22:1:22:18 | for (x = 0 in xs); |
|
||||
| others.js:4:1:4:14 | var x = 23, y; |
|
||||
| try.js:5:1:5:29 | try {} catch(x) {} finally {} |
|
||||
test_NumCatchClauses
|
||||
| guardedCatch.js:2:2:8:2 | try {\\n\\t ... !");\\n\\t} | 2 |
|
||||
| try.js:1:1:3:16 | try {\\n ... ) { ; } | 1 |
|
||||
@@ -142,107 +241,8 @@ test_NumCatchClauses
|
||||
| try.js:5:1:5:29 | try {} ... ally {} | 1 |
|
||||
test_DoubleColonMethods
|
||||
| jscript.js:1:1:1:28 | functio ... ad() {} | jscript.js:1:10:1:15 | window | jscript.js:1:18:1:23 | onload | jscript.js:1:1:1:28 | functio ... ad() {} |
|
||||
test_EnhancedForDefault
|
||||
| loops.js:22:1:22:18 | for (x = 0 in xs); | loops.js:22:10:22:10 | 0 |
|
||||
test_SemicolonInsertion
|
||||
| functions.js:7:1:9:1 | k = fun ... turn;\\n} |
|
||||
| jscript.js:3:1:3:36 | window. ... ad() {} |
|
||||
test_getGuard
|
||||
| guardedCatch.js:4:4:6:2 | catch ( ... !");\\n\\t} | guardedCatch.js:4:16:4:33 | e instanceof Error |
|
||||
test_Containers
|
||||
| conditionals.js:1:1:2:5 | if (true)\\n ; | conditionals.js:1:1:12:1 | <toplevel> |
|
||||
| conditionals.js:2:5:2:5 | ; | conditionals.js:1:1:12:1 | <toplevel> |
|
||||
| conditionals.js:3:1:6:5 | if (b)\\n ... e\\n ; | conditionals.js:1:1:12:1 | <toplevel> |
|
||||
| conditionals.js:4:5:4:5 | ; | conditionals.js:1:1:12:1 | <toplevel> |
|
||||
| conditionals.js:6:5:6:5 | ; | conditionals.js:1:1:12:1 | <toplevel> |
|
||||
| conditionals.js:7:1:12:1 | switch ... ault:\\n} | conditionals.js:1:1:12:1 | <toplevel> |
|
||||
| conditionals.js:8:1:8:8 | case 23: | conditionals.js:1:1:12:1 | <toplevel> |
|
||||
| conditionals.js:9:1:10:10 | case c:\\n break; | conditionals.js:1:1:12:1 | <toplevel> |
|
||||
| conditionals.js:10:5:10:10 | break; | conditionals.js:1:1:12:1 | <toplevel> |
|
||||
| conditionals.js:11:1:11:8 | default: | conditionals.js:1:1:12:1 | <toplevel> |
|
||||
| es2015.js:1:1:2:16 | for (va ... log(x); | es2015.js:1:1:3:0 | <toplevel> |
|
||||
| es2015.js:1:6:1:10 | var x | es2015.js:1:1:3:0 | <toplevel> |
|
||||
| es2015.js:2:2:2:16 | console.log(x); | es2015.js:1:1:3:0 | <toplevel> |
|
||||
| foreach.js:1:1:1:12 | var sum = 0; | foreach.js:1:1:9:0 | <toplevel> |
|
||||
| foreach.js:2:1:2:42 | var obj ... p3: 8}; | foreach.js:1:1:9:0 | <toplevel> |
|
||||
| foreach.js:4:1:6:1 | for eac ... item;\\n} | foreach.js:1:1:9:0 | <toplevel> |
|
||||
| foreach.js:4:11:4:18 | var item | foreach.js:1:1:9:0 | <toplevel> |
|
||||
| foreach.js:4:28:6:1 | {\\n sum += item;\\n} | foreach.js:1:1:9:0 | <toplevel> |
|
||||
| foreach.js:5:3:5:14 | sum += item; | foreach.js:1:1:9:0 | <toplevel> |
|
||||
| foreach.js:8:1:8:17 | console.log(sum); | foreach.js:1:1:9:0 | <toplevel> |
|
||||
| functions.js:1:1:3:1 | functio ... x+y;\\n} | functions.js:1:1:9:1 | <toplevel> |
|
||||
| functions.js:1:18:3:1 | {\\n return x+y;\\n} | functions.js:1:1:3:1 | functio ... x+y;\\n} |
|
||||
| functions.js:2:5:2:15 | return x+y; | functions.js:1:1:3:1 | functio ... x+y;\\n} |
|
||||
| functions.js:5:1:5:15 | function h() {} | functions.js:1:1:9:1 | <toplevel> |
|
||||
| functions.js:5:14:5:15 | {} | functions.js:5:1:5:15 | function h() {} |
|
||||
| functions.js:7:1:9:1 | k = fun ... turn;\\n} | functions.js:1:1:9:1 | <toplevel> |
|
||||
| functions.js:7:16:9:1 | {\\n return;\\n} | functions.js:7:5:9:1 | functio ... turn;\\n} |
|
||||
| functions.js:8:5:8:11 | return; | functions.js:7:5:9:1 | functio ... turn;\\n} |
|
||||
| guardedCatch.js:1:1:9:1 | functio ... );\\n\\t}\\n} | guardedCatch.js:1:1:10:0 | <toplevel> |
|
||||
| guardedCatch.js:1:15:9:1 | {\\n\\ttry ... );\\n\\t}\\n} | guardedCatch.js:1:1:9:1 | functio ... );\\n\\t}\\n} |
|
||||
| guardedCatch.js:2:2:8:2 | try {\\n\\t ... !");\\n\\t} | guardedCatch.js:1:1:9:1 | functio ... );\\n\\t}\\n} |
|
||||
| guardedCatch.js:2:6:4:2 | {\\n\\t\\tg();\\n\\t} | guardedCatch.js:1:1:9:1 | functio ... );\\n\\t}\\n} |
|
||||
| guardedCatch.js:3:3:3:6 | g(); | guardedCatch.js:1:1:9:1 | functio ... );\\n\\t}\\n} |
|
||||
| guardedCatch.js:4:4:6:2 | catch ( ... !");\\n\\t} | guardedCatch.js:1:1:9:1 | functio ... );\\n\\t}\\n} |
|
||||
| guardedCatch.js:4:36:6:2 | {\\n\\t\\tcon ... !");\\n\\t} | guardedCatch.js:1:1:9:1 | functio ... );\\n\\t}\\n} |
|
||||
| guardedCatch.js:5:3:5:24 | console ... ror!"); | guardedCatch.js:1:1:9:1 | functio ... );\\n\\t}\\n} |
|
||||
| guardedCatch.js:6:4:8:2 | catch ( ... !");\\n\\t} | guardedCatch.js:1:1:9:1 | functio ... );\\n\\t}\\n} |
|
||||
| guardedCatch.js:6:14:8:2 | {\\n\\t\\tcon ... !");\\n\\t} | guardedCatch.js:1:1:9:1 | functio ... );\\n\\t}\\n} |
|
||||
| guardedCatch.js:7:3:7:33 | console ... lse!"); | guardedCatch.js:1:1:9:1 | functio ... );\\n\\t}\\n} |
|
||||
| jscript.js:1:1:1:28 | functio ... ad() {} | jscript.js:1:1:4:0 | <toplevel> |
|
||||
| jscript.js:1:27:1:28 | {} | jscript.js:1:1:1:28 | functio ... ad() {} |
|
||||
| jscript.js:3:1:3:36 | window. ... ad() {} | jscript.js:1:1:4:0 | <toplevel> |
|
||||
| jscript.js:3:35:3:36 | {} | jscript.js:3:17:3:36 | function onload() {} |
|
||||
| legacyletstmt.js:1:1:3:1 | let (x ... + y);\\n} | legacyletstmt.js:1:1:4:0 | <toplevel> |
|
||||
| legacyletstmt.js:1:22:3:1 | {\\n con ... + y);\\n} | legacyletstmt.js:1:1:4:0 | <toplevel> |
|
||||
| legacyletstmt.js:2:3:2:21 | console.log(x + y); | legacyletstmt.js:1:1:4:0 | <toplevel> |
|
||||
| loops.js:1:1:2:5 | while(true)\\n ; | loops.js:1:1:22:18 | <toplevel> |
|
||||
| loops.js:2:5:2:5 | ; | loops.js:1:1:22:18 | <toplevel> |
|
||||
| loops.js:3:1:11:1 | outer: ... inue;\\n} | loops.js:1:1:22:18 | <toplevel> |
|
||||
| loops.js:3:8:11:1 | for(a; ... inue;\\n} | loops.js:1:1:22:18 | <toplevel> |
|
||||
| loops.js:3:21:11:1 | {\\n f ... inue;\\n} | loops.js:1:1:22:18 | <toplevel> |
|
||||
| loops.js:4:5:10:21 | for(;;) ... ntinue; | loops.js:1:1:22:18 | <toplevel> |
|
||||
| loops.js:5:9:10:21 | if (d)\\n ... ntinue; | loops.js:1:1:22:18 | <toplevel> |
|
||||
| loops.js:6:13:6:27 | continue outer; | loops.js:1:1:22:18 | <toplevel> |
|
||||
| loops.js:7:14:10:21 | if (e)\\n ... ntinue; | loops.js:1:1:22:18 | <toplevel> |
|
||||
| loops.js:8:13:8:24 | break outer; | loops.js:1:1:22:18 | <toplevel> |
|
||||
| loops.js:10:13:10:21 | continue; | loops.js:1:1:22:18 | <toplevel> |
|
||||
| loops.js:13:1:15:11 | do {\\n ... ile(a); | loops.js:1:1:22:18 | <toplevel> |
|
||||
| loops.js:13:4:15:1 | {\\n ;\\n} | loops.js:1:1:22:18 | <toplevel> |
|
||||
| loops.js:14:5:14:5 | ; | loops.js:1:1:22:18 | <toplevel> |
|
||||
| loops.js:17:1:17:29 | for (va ... ; ++i); | loops.js:1:1:22:18 | <toplevel> |
|
||||
| loops.js:17:6:17:17 | var i=0,n=10 | loops.js:1:1:22:18 | <toplevel> |
|
||||
| loops.js:17:29:17:29 | ; | loops.js:1:1:22:18 | <toplevel> |
|
||||
| loops.js:19:1:19:18 | for (var x in xs); | loops.js:1:1:22:18 | <toplevel> |
|
||||
| loops.js:19:6:19:10 | var x | loops.js:1:1:22:18 | <toplevel> |
|
||||
| loops.js:19:18:19:18 | ; | loops.js:1:1:22:18 | <toplevel> |
|
||||
| loops.js:20:1:20:14 | for (x in xs); | loops.js:1:1:22:18 | <toplevel> |
|
||||
| loops.js:20:14:20:14 | ; | loops.js:1:1:22:18 | <toplevel> |
|
||||
| loops.js:21:1:21:16 | for (x.f in xs); | loops.js:1:1:22:18 | <toplevel> |
|
||||
| loops.js:21:16:21:16 | ; | loops.js:1:1:22:18 | <toplevel> |
|
||||
| loops.js:22:1:22:18 | for (x = 0 in xs); | loops.js:1:1:22:18 | <toplevel> |
|
||||
| loops.js:22:18:22:18 | ; | loops.js:1:1:22:18 | <toplevel> |
|
||||
| others.js:1:1:2:1 | with(a) {\\n} | others.js:1:1:4:14 | <toplevel> |
|
||||
| others.js:1:9:2:1 | {\\n} | others.js:1:1:4:14 | <toplevel> |
|
||||
| others.js:3:1:3:9 | debugger; | others.js:1:1:4:14 | <toplevel> |
|
||||
| others.js:4:1:4:14 | var x = 23, y; | others.js:1:1:4:14 | <toplevel> |
|
||||
| try.js:1:1:3:16 | try {\\n ... ) { ; } | try.js:1:1:5:29 | <toplevel> |
|
||||
| try.js:1:5:3:1 | {\\n throw "!";\\n} | try.js:1:1:5:29 | <toplevel> |
|
||||
| try.js:2:5:2:14 | throw "!"; | try.js:1:1:5:29 | <toplevel> |
|
||||
| try.js:3:3:3:16 | catch(x) { ; } | try.js:1:1:5:29 | <toplevel> |
|
||||
| try.js:3:12:3:16 | { ; } | try.js:1:1:5:29 | <toplevel> |
|
||||
| try.js:3:14:3:14 | ; | try.js:1:1:5:29 | <toplevel> |
|
||||
| try.js:4:1:4:20 | try {} finally { ; } | try.js:1:1:5:29 | <toplevel> |
|
||||
| try.js:4:5:4:6 | {} | try.js:1:1:5:29 | <toplevel> |
|
||||
| try.js:4:16:4:20 | { ; } | try.js:1:1:5:29 | <toplevel> |
|
||||
| try.js:4:18:4:18 | ; | try.js:1:1:5:29 | <toplevel> |
|
||||
| try.js:5:1:5:29 | try {} ... ally {} | try.js:1:1:5:29 | <toplevel> |
|
||||
| try.js:5:5:5:6 | {} | try.js:1:1:5:29 | <toplevel> |
|
||||
| try.js:5:8:5:18 | catch(x) {} | try.js:1:1:5:29 | <toplevel> |
|
||||
| try.js:5:17:5:18 | {} | try.js:1:1:5:29 | <toplevel> |
|
||||
| try.js:5:28:5:29 | {} | try.js:1:1:5:29 | <toplevel> |
|
||||
test_JumpTargets
|
||||
| conditionals.js:10:5:10:10 | break; | (none) | conditionals.js:7:1:12:1 | switch ... ault:\\n} |
|
||||
| loops.js:6:13:6:27 | continue outer; | outer | loops.js:3:1:11:1 | outer: ... inue;\\n} |
|
||||
| loops.js:8:13:8:24 | break outer; | outer | loops.js:3:1:11:1 | outer: ... inue;\\n} |
|
||||
| loops.js:10:13:10:21 | continue; | (none) | loops.js:4:5:10:21 | for(;;) ... ntinue; |
|
||||
test_EnhancedForDefault
|
||||
| loops.js:22:1:22:18 | for (x = 0 in xs); | loops.js:22:10:22:10 | 0 |
|
||||
|
||||
@@ -65,4 +65,7 @@ function f() {
|
||||
<a href="{{ url_for('foo.html', 'foo')}}" target="_blank">Example</a>;
|
||||
|
||||
// OK, nunjucks template
|
||||
<a href="{{ url('foo', query={bla}) }}" target="_blank">Example</a>
|
||||
<a href="{{ url('foo', query={bla}) }}" target="_blank">Example</a>;
|
||||
|
||||
// OK, Django application with internal links
|
||||
<a href="{% url 'admin:auth_user_changelist' %}" target="_blank">Example</a>
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
| bad1.js:0:0:0:0 | bad1.js | |
|
||||
| bad2.ts:0:0:0:0 | bad2.ts | |
|
||||
| bad3.html:0:0:0:0 | bad3.html | |
|
||||
| contains-template.js:0:0:0:0 | contains-template.js | |
|
||||
| good1.js:0:0:0:0 | good1.js | |
|
||||
| good2.ts:0:0:0:0 | good2.ts | |
|
||||
|
||||
@@ -1 +1 @@
|
||||
| tst.js:1:9:1:13 | 1<<40 | Shift out of range. |
|
||||
| tst.js:1:9:1:13 | 1<<40 | Shift out of range. |
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
| tst.js:4:11:4:26 | arguments.callee | Avoid using arguments.caller and arguments.callee. |
|
||||
| tst.js:12:9:12:24 | arguments.caller | Avoid using arguments.caller and arguments.callee. |
|
||||
| tst.js:12:9:12:24 | arguments.caller | Avoid using arguments.caller and arguments.callee. |
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user