File: typePredicateInLoop.symbols

package info (click to toggle)
node-typescript 2.1.5-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 203,952 kB
  • ctags: 52,987
  • sloc: sh: 11; makefile: 5
file content (59 lines) | stat: -rw-r--r-- 2,356 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
=== tests/cases/compiler/typePredicateInLoop.ts ===
// Repro from #12101

interface Type {
>Type : Symbol(Type, Decl(typePredicateInLoop.ts, 0, 0))

  type: number;
>type : Symbol(Type.type, Decl(typePredicateInLoop.ts, 2, 16))
}

interface TypeExt extends Type {
>TypeExt : Symbol(TypeExt, Decl(typePredicateInLoop.ts, 4, 1))
>Type : Symbol(Type, Decl(typePredicateInLoop.ts, 0, 0))

  arr: Type[];
>arr : Symbol(TypeExt.arr, Decl(typePredicateInLoop.ts, 6, 32))
>Type : Symbol(Type, Decl(typePredicateInLoop.ts, 0, 0))
}

const guard = (arg: Type): arg is TypeExt => arg.type === 1;
>guard : Symbol(guard, Decl(typePredicateInLoop.ts, 10, 5))
>arg : Symbol(arg, Decl(typePredicateInLoop.ts, 10, 15))
>Type : Symbol(Type, Decl(typePredicateInLoop.ts, 0, 0))
>arg : Symbol(arg, Decl(typePredicateInLoop.ts, 10, 15))
>TypeExt : Symbol(TypeExt, Decl(typePredicateInLoop.ts, 4, 1))
>arg.type : Symbol(Type.type, Decl(typePredicateInLoop.ts, 2, 16))
>arg : Symbol(arg, Decl(typePredicateInLoop.ts, 10, 15))
>type : Symbol(Type.type, Decl(typePredicateInLoop.ts, 2, 16))

const otherFunc = (arg1: Type, arg2: TypeExt): void => {};
>otherFunc : Symbol(otherFunc, Decl(typePredicateInLoop.ts, 11, 5))
>arg1 : Symbol(arg1, Decl(typePredicateInLoop.ts, 11, 19))
>Type : Symbol(Type, Decl(typePredicateInLoop.ts, 0, 0))
>arg2 : Symbol(arg2, Decl(typePredicateInLoop.ts, 11, 30))
>TypeExt : Symbol(TypeExt, Decl(typePredicateInLoop.ts, 4, 1))

export function y(arg: Type): void {
>y : Symbol(y, Decl(typePredicateInLoop.ts, 11, 58))
>arg : Symbol(arg, Decl(typePredicateInLoop.ts, 13, 18))
>Type : Symbol(Type, Decl(typePredicateInLoop.ts, 0, 0))

  if (guard(arg)) {
>guard : Symbol(guard, Decl(typePredicateInLoop.ts, 10, 5))
>arg : Symbol(arg, Decl(typePredicateInLoop.ts, 13, 18))

    for (const ITEM of arg.arr) {
>ITEM : Symbol(ITEM, Decl(typePredicateInLoop.ts, 15, 14))
>arg.arr : Symbol(TypeExt.arr, Decl(typePredicateInLoop.ts, 6, 32))
>arg : Symbol(arg, Decl(typePredicateInLoop.ts, 13, 18))
>arr : Symbol(TypeExt.arr, Decl(typePredicateInLoop.ts, 6, 32))

      if (otherFunc(ITEM, arg)) {
>otherFunc : Symbol(otherFunc, Decl(typePredicateInLoop.ts, 11, 5))
>ITEM : Symbol(ITEM, Decl(typePredicateInLoop.ts, 15, 14))
>arg : Symbol(arg, Decl(typePredicateInLoop.ts, 13, 18))
      }
    }
  }
}