ERROR
comment "//// [tests/cases/compiler/genericDefaults.ts] ////"
comment "//// [genericDefaults.ts]"
ERROR
identifier "interface"
identifier "A"
statement_block
{ "{"
labeled_statement
statement_identifier "a"
: ":"
expression_statement
identifier "number"
; ";"
} "}"
ERROR
identifier "interface"
identifier "B"
statement_block
{ "{"
labeled_statement
statement_identifier "b"
: ":"
expression_statement
identifier "number"
; ";"
} "}"
ERROR
identifier "interface"
identifier "C"
statement_block
{ "{"
labeled_statement
statement_identifier "c"
: ":"
expression_statement
identifier "number"
; ";"
} "}"
ERROR
identifier "interface"
identifier "D"
statement_block
{ "{"
labeled_statement
statement_identifier "d"
: ":"
expression_statement
identifier "number"
; ";"
} "}"
ERROR
identifier "interface"
identifier "AB"
statement_block
{ "{"
labeled_statement
statement_identifier "a"
: ":"
expression_statement
identifier "number"
; ";"
labeled_statement
statement_identifier "b"
: ":"
expression_statement
identifier "number"
; ";"
} "}"
ERROR
identifier "interface"
identifier "BC"
statement_block
{ "{"
labeled_statement
statement_identifier "b"
: ":"
expression_statement
identifier "number"
; ";"
labeled_statement
statement_identifier "c"
: ":"
expression_statement
identifier "number"
; ";"
} "}"
ERROR
identifier "declare"
identifier "const"
labeled_statement
statement_identifier "a"
: ":"
expression_statement
identifier "A"
; ";"
ERROR
identifier "declare"
identifier "const"
labeled_statement
statement_identifier "b"
: ":"
expression_statement
identifier "B"
; ";"
ERROR
identifier "declare"
identifier "const"
labeled_statement
statement_identifier "c"
: ":"
expression_statement
identifier "C"
; ";"
ERROR
identifier "declare"
identifier "const"
labeled_statement
statement_identifier "d"
: ":"
expression_statement
identifier "D"
; ";"
ERROR
identifier "declare"
identifier "const"
labeled_statement
statement_identifier "ab"
: ":"
expression_statement
identifier "AB"
; ";"
ERROR
identifier "declare"
identifier "const"
labeled_statement
statement_identifier "bc"
: ":"
expression_statement
identifier "BC"
; ";"
ERROR
identifier "declare"
identifier "const"
labeled_statement
statement_identifier "x"
: ":"
expression_statement
identifier "any"
; ";"
comment "// function without type parameters"
expression_statement
identifier "declare"
; ""
ERROR
function "function"
identifier "f00"
( "("
ternary_expression
identifier "a"
? "?"
ERROR
: ":"
identifier "A"
ERROR
) ")"
: ":"
identifier "A"
empty_statement
; ";"
comment "// no inference"
expression_statement
call_expression
identifier "f00"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f00"
arguments
( "("
identifier "a"
) ")"
; ";"
comment "// function with a type parameter without a default"
ERROR
identifier "declare"
identifier "function"
expression_statement
binary_expression
binary_expression
identifier "f01"
< "<"
identifier "T"
> ">"
parenthesized_expression
( "("
ternary_expression
identifier "a"
? "?"
identifier ""
: ":"
identifier "T"
) ")"
ERROR
: ":"
identifier "T"
; ";"
comment "// inference"
expression_statement
call_expression
identifier "f01"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f01"
arguments
( "("
identifier "a"
) ")"
; ";"
comment "// no inference, fully supplied"
expression_statement (+23 nodes collapsed)
comment "// function with a type paramter with a default"
ERROR
identifier "declare"
identifier "function"
expression_statement (+23 nodes collapsed)
comment "// inference"
expression_statement
call_expression
identifier "f02"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f02"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f02"
arguments
( "("
identifier "b"
) ")"
; ";"
comment "// no inference, fully supplied"
expression_statement (+23 nodes collapsed)
expression_statement (+23 nodes collapsed)
comment "// function with a type parameter with a default that refers"...
ERROR
identifier "declare"
identifier "function"
expression_statement (+23 nodes collapsed)
comment "// inference"
expression_statement
call_expression
identifier "f03"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f03"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f03"
arguments
( "("
identifier "b"
) ")"
; ";"
comment "// no inference, fully supplied"
expression_statement (+23 nodes collapsed)
expression_statement (+23 nodes collapsed)
comment "// function with a type paramter without a default and a typ"...
ERROR
identifier "declare"
identifier "function"
expression_statement (+40 nodes collapsed)
comment "// inference"
expression_statement
call_expression
identifier "f04"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f04"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f04"
arguments
( "("
identifier "a"
, ","
identifier "b"
) ")"
; ";"
expression_statement
call_expression
identifier "f04"
arguments
( "("
identifier "a"
, ","
identifier "c"
) ")"
; ";"
comment "// no inference, partially supplied"
expression_statement (+23 nodes collapsed)
expression_statement
binary_expression
binary_expression
identifier "f04"
< "<"
identifier "A"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "a"
, ","
identifier "b"
) ")"
; ";"
comment "// no inference, fully supplied"
expression_statement (+28 nodes collapsed)
expression_statement
sequence_expression
binary_expression
identifier "f04"
< "<"
identifier "A"
, ","
binary_expression
identifier "B"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "a"
, ","
identifier "b"
) ")"
; ";"
expression_statement (+28 nodes collapsed)
expression_statement
sequence_expression
binary_expression
identifier "f04"
< "<"
identifier "A"
, ","
binary_expression
identifier "C"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "a"
, ","
identifier "c"
) ")"
; ";"
comment "// function with a type parameter without a default and a ty"...
ERROR
identifier "declare"
identifier "function"
expression_statement (+40 nodes collapsed)
comment "// inference"
expression_statement
call_expression
identifier "f05"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f05"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f05"
arguments
( "("
identifier "a"
, ","
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f05"
arguments
( "("
identifier "a"
, ","
identifier "b"
) ")"
; ";"
comment "// no inference, partially supplied"
expression_statement (+23 nodes collapsed)
expression_statement
binary_expression
binary_expression
identifier "f05"
< "<"
identifier "A"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "a"
, ","
identifier "a"
) ")"
; ";"
comment "// no inference, fully supplied"
expression_statement (+28 nodes collapsed)
expression_statement
sequence_expression
binary_expression
identifier "f05"
< "<"
identifier "A"
, ","
binary_expression
identifier "B"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "a"
, ","
identifier "b"
) ")"
; ";"
comment "// function with a type parameter with a default that refers"...
ERROR
identifier "declare"
identifier "function"
expression_statement (+43 nodes collapsed)
comment "// inference"
expression_statement
call_expression
identifier "f06"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f06"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f06"
arguments
( "("
identifier "a"
, ","
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f06"
arguments
( "("
identifier "a"
, ","
identifier "b"
) ")"
; ";"
expression_statement
call_expression
identifier "f06"
arguments
( "("
identifier "b"
, ","
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f06"
arguments
( "("
identifier "b"
, ","
identifier "b"
) ")"
; ";"
comment "// no inference, partially supplied"
expression_statement (+23 nodes collapsed)
expression_statement
binary_expression
binary_expression
identifier "f06"
< "<"
identifier "A"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "a"
, ","
identifier "a"
) ")"
; ";"
expression_statement (+23 nodes collapsed)
expression_statement
binary_expression
binary_expression
identifier "f06"
< "<"
identifier "B"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "b"
, ","
identifier "b"
) ")"
; ";"
comment "// no inference, fully supplied"
expression_statement (+28 nodes collapsed)
expression_statement
sequence_expression
binary_expression
identifier "f06"
< "<"
identifier "A"
, ","
binary_expression
identifier "B"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "a"
, ","
identifier "b"
) ")"
; ";"
expression_statement (+28 nodes collapsed)
expression_statement
sequence_expression
binary_expression
identifier "f06"
< "<"
identifier "B"
, ","
binary_expression
identifier "C"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "b"
, ","
identifier "c"
) ")"
; ";"
comment "// function with a type parameter without a default and a ty"...
ERROR
identifier "declare"
identifier "function"
expression_statement (+54 nodes collapsed)
comment "// inference"
expression_statement
call_expression
identifier "f07"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f07"
arguments
( "("
identifier "a"
, ","
identifier "b"
) ")"
; ";"
expression_statement
call_expression
identifier "f07"
arguments
( "("
identifier "a"
, ","
identifier "c"
) ")"
; ";"
expression_statement
call_expression
identifier "f07"
arguments
( "("
identifier "a"
, ","
identifier "b"
, ","
identifier "b"
) ")"
; ";"
expression_statement
call_expression
identifier "f07"
arguments
( "("
identifier "a"
, ","
identifier "b"
, ","
identifier "c"
) ")"
; ";"
expression_statement
call_expression
identifier "f07"
arguments
( "("
identifier "a"
, ","
identifier "c"
, ","
identifier "b"
) ")"
; ";"
expression_statement
call_expression
identifier "f07"
arguments
( "("
identifier "a"
, ","
identifier "c"
, ","
identifier "c"
) ")"
; ";"
comment "// no inference, partially supplied"
expression_statement (+23 nodes collapsed)
expression_statement
binary_expression
binary_expression
identifier "f07"
< "<"
identifier "A"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "a"
, ","
identifier "b"
) ")"
; ";"
expression_statement
binary_expression
binary_expression
identifier "f07"
< "<"
identifier "A"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "a"
, ","
identifier "b"
, ","
identifier "b"
) ")"
; ";"
expression_statement (+28 nodes collapsed)
expression_statement
sequence_expression
binary_expression
identifier "f07"
< "<"
identifier "A"
, ","
binary_expression
identifier "B"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "a"
, ","
identifier "b"
) ")"
; ";"
expression_statement
sequence_expression
binary_expression
identifier "f07"
< "<"
identifier "A"
, ","
binary_expression
identifier "B"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "a"
, ","
identifier "b"
, ","
identifier "b"
) ")"
; ";"
expression_statement (+28 nodes collapsed)
expression_statement
sequence_expression
binary_expression
identifier "f07"
< "<"
identifier "A"
, ","
binary_expression
identifier "C"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "a"
, ","
identifier "c"
) ")"
; ";"
expression_statement
sequence_expression
binary_expression
identifier "f07"
< "<"
identifier "A"
, ","
binary_expression
identifier "C"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "a"
, ","
identifier "c"
, ","
identifier "c"
) ")"
; ";"
comment "// no inference, fully supplied"
expression_statement (+32 nodes collapsed)
expression_statement
sequence_expression
binary_expression
identifier "f07"
< "<"
identifier "A"
, ","
identifier "B"
, ","
binary_expression
identifier "C"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "a"
, ","
identifier "b"
) ")"
; ";"
expression_statement (+22 nodes collapsed)
expression_statement (+32 nodes collapsed)
expression_statement
sequence_expression
binary_expression
identifier "f07"
< "<"
identifier "A"
, ","
identifier "C"
, ","
binary_expression
identifier "D"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "a"
, ","
identifier "c"
) ")"
; ";"
expression_statement (+22 nodes collapsed)
comment "// function with a type parameter with a default that refers"...
ERROR
identifier "declare"
identifier "function"
expression_statement (+43 nodes collapsed)
comment "// inference"
expression_statement
call_expression
identifier "f08"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f08"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f08"
arguments
( "("
identifier "a"
, ","
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f08"
arguments
( "("
identifier "a"
, ","
identifier "b"
) ")"
; ";"
comment "// no inference, partially supplied"
expression_statement (+23 nodes collapsed)
expression_statement
binary_expression
binary_expression
identifier "f08"
< "<"
identifier "A"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "a"
, ","
identifier "a"
) ")"
; ";"
comment "// no inference, fully supplied"
expression_statement (+28 nodes collapsed)
expression_statement
sequence_expression
binary_expression
identifier "f08"
< "<"
identifier "A"
, ","
binary_expression
identifier "B"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "a"
, ","
identifier "b"
) ")"
; ";"
comment "// function with a type parameter with a constraint and a de"...
ERROR
identifier "declare"
identifier "function"
expression_statement (+43 nodes collapsed)
comment "// inference"
expression_statement
call_expression
identifier "f09"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f09"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f09"
arguments
( "("
identifier "a"
, ","
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f09"
arguments
( "("
identifier "a"
, ","
identifier "ab"
) ")"
; ";"
comment "// no inference, partially supplied"
expression_statement (+23 nodes collapsed)
expression_statement
binary_expression
binary_expression
identifier "f09"
< "<"
identifier "A"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "a"
, ","
identifier "a"
) ")"
; ";"
expression_statement
binary_expression
binary_expression
identifier "f09"
< "<"
identifier "A"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "a"
, ","
identifier "ab"
) ")"
; ";"
comment "// no inference, fully supplied"
expression_statement (+28 nodes collapsed)
expression_statement
sequence_expression
binary_expression
identifier "f09"
< "<"
identifier "A"
, ","
binary_expression
identifier "AB"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "a"
, ","
identifier "ab"
) ")"
; ";"
comment "// function with a type parameter with a constraint and a de"...
ERROR
identifier "declare"
identifier "function"
expression_statement (+46 nodes collapsed)
comment "// inference"
expression_statement
call_expression
identifier "f10"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f10"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f10"
arguments
( "("
identifier "a"
, ","
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f10"
arguments
( "("
identifier "a"
, ","
identifier "ab"
) ")"
; ";"
comment "// no inference, partially supplied"
expression_statement (+23 nodes collapsed)
expression_statement
binary_expression
binary_expression
identifier "f10"
< "<"
identifier "A"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "a"
, ","
identifier "a"
) ")"
; ";"
expression_statement
binary_expression
binary_expression
identifier "f10"
< "<"
identifier "A"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "a"
, ","
identifier "ab"
) ")"
; ";"
comment "// no inference, fully supplied"
expression_statement (+28 nodes collapsed)
expression_statement
sequence_expression
binary_expression
identifier "f10"
< "<"
identifier "A"
, ","
binary_expression
identifier "A"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "a"
, ","
identifier "a"
) ")"
; ";"
expression_statement
sequence_expression
binary_expression
identifier "f10"
< "<"
identifier "A"
, ","
binary_expression
identifier "A"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "a"
, ","
identifier "ab"
) ")"
; ";"
expression_statement (+28 nodes collapsed)
expression_statement
sequence_expression
binary_expression
identifier "f10"
< "<"
identifier "A"
, ","
binary_expression
identifier "AB"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "a"
, ","
identifier "ab"
) ")"
; ";"
comment "// function with a type parameter with a default that refers"...
ERROR
identifier "declare"
identifier "function"
expression_statement (+43 nodes collapsed)
comment "// inference"
expression_statement
call_expression
identifier "f11"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f11"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f11"
arguments
( "("
identifier "a"
, ","
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f11"
arguments
( "("
identifier "a"
, ","
identifier "b"
) ")"
; ";"
expression_statement
call_expression
identifier "f11"
arguments
( "("
identifier "a"
, ","
identifier "c"
) ")"
; ";"
comment "// no inference, partially supplied"
expression_statement (+23 nodes collapsed)
expression_statement
binary_expression
binary_expression
identifier "f11"
< "<"
identifier "A"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "a"
, ","
identifier "a"
) ")"
; ";"
expression_statement
binary_expression
binary_expression
identifier "f11"
< "<"
identifier "A"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "a"
, ","
identifier "b"
) ")"
; ";"
comment "// no inference, fully supplied"
expression_statement (+28 nodes collapsed)
expression_statement
sequence_expression
binary_expression
identifier "f11"
< "<"
identifier "A"
, ","
binary_expression
identifier "C"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "a"
, ","
identifier "c"
) ")"
; ";"
comment "// function with a type parameter with a default that refers"...
ERROR
identifier "declare"
identifier "function"
expression_statement (+43 nodes collapsed)
comment "// inference"
expression_statement
call_expression
identifier "f12"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f12"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f12"
arguments
( "("
identifier "a"
, ","
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f12"
arguments
( "("
identifier "a"
, ","
identifier "b"
) ")"
; ";"
expression_statement
call_expression
identifier "f12"
arguments
( "("
identifier "a"
, ","
identifier "c"
) ")"
; ";"
comment "// no inference, partially supplied"
expression_statement (+23 nodes collapsed)
expression_statement
binary_expression
binary_expression
identifier "f12"
< "<"
identifier "A"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "a"
, ","
identifier "ab"
) ")"
; ";"
comment "// no inference, fully supplied"
expression_statement (+28 nodes collapsed)
expression_statement
sequence_expression
binary_expression
identifier "f12"
< "<"
identifier "A"
, ","
binary_expression
identifier "C"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "a"
, ","
identifier "c"
) ")"
; ";"
comment "// function with a type parameter with a default that refers"...
ERROR
identifier "declare"
identifier "function"
expression_statement (+43 nodes collapsed)
comment "// inference"
expression_statement
call_expression
identifier "f13"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f13"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f13"
arguments
( "("
identifier "a"
, ","
identifier "b"
) ")"
; ";"
expression_statement
call_expression
identifier "f13"
arguments
( "("
identifier "a"
, ","
identifier "c"
) ")"
; ";"
comment "// no inference, partially supplied"
expression_statement (+23 nodes collapsed)
expression_statement
binary_expression
binary_expression
identifier "f13"
< "<"
identifier "A"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "a"
, ","
identifier "b"
) ")"
; ";"
comment "// no inference, fully supplied"
expression_statement (+28 nodes collapsed)
expression_statement
sequence_expression
binary_expression
identifier "f13"
< "<"
identifier "A"
, ","
binary_expression
identifier "C"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "a"
, ","
identifier "c"
) ")"
; ";"
expression_statement
sequence_expression
binary_expression
identifier "f13"
< "<"
identifier "A"
, ","
binary_expression
identifier "C"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "a"
, ","
identifier "c"
) ")"
; ";"
comment "// function with a type parameter without a default and a ty"...
ERROR
identifier "declare"
identifier "function"
expression_statement (+54 nodes collapsed)
comment "// inference"
expression_statement
call_expression
identifier "f14"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f14"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f14"
arguments
( "("
identifier "a"
, ","
identifier "b"
) ")"
; ";"
expression_statement
call_expression
identifier "f14"
arguments
( "("
identifier "a"
, ","
identifier "b"
, ","
identifier "c"
) ")"
; ";"
expression_statement
call_expression
identifier "f14"
arguments
( "("
identifier "a"
, ","
identifier "b"
, ","
identifier "d"
) ")"
; ";"
comment "// no inference, partially supplied"
expression_statement (+23 nodes collapsed)
expression_statement
binary_expression
binary_expression
identifier "f14"
< "<"
identifier "A"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "a"
, ","
identifier "b"
) ")"
; ";"
expression_statement
binary_expression
binary_expression
identifier "f14"
< "<"
identifier "A"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "a"
, ","
identifier "b"
, ","
identifier "c"
) ")"
; ";"
expression_statement (+28 nodes collapsed)
expression_statement
sequence_expression
binary_expression
identifier "f14"
< "<"
identifier "A"
, ","
binary_expression
identifier "B"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "a"
, ","
identifier "b"
) ")"
; ";"
expression_statement
sequence_expression
binary_expression
identifier "f14"
< "<"
identifier "A"
, ","
binary_expression
identifier "B"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "a"
, ","
identifier "b"
, ","
identifier "c"
) ")"
; ";"
comment "// no inference fully supplied"
expression_statement (+32 nodes collapsed)
expression_statement
sequence_expression
binary_expression
identifier "f14"
< "<"
identifier "A"
, ","
identifier "B"
, ","
binary_expression
identifier "D"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "a"
, ","
identifier "b"
) ")"
; ";"
expression_statement (+22 nodes collapsed)
comment "// function with two type parameters with defaults that mutu"...
ERROR
identifier "declare"
identifier "function"
expression_statement (+43 nodes collapsed)
comment "// inference"
expression_statement
call_expression
identifier "f15"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f15"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f15"
arguments
( "("
identifier "a"
, ","
identifier "b"
) ")"
; ";"
comment "// no inference, partially supplied"
expression_statement (+23 nodes collapsed)
expression_statement
binary_expression
binary_expression
identifier "f15"
< "<"
identifier "A"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "a"
, ","
identifier "a"
) ")"
; ";"
comment "// no inference, fully supplied"
expression_statement (+28 nodes collapsed)
expression_statement
sequence_expression
binary_expression
identifier "f15"
< "<"
identifier "A"
, ","
binary_expression
identifier "B"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "a"
, ","
identifier "b"
) ")"
; ";"
comment "// function with a type parameter without a default and two "...
ERROR
identifier "declare"
identifier "function"
expression_statement (+54 nodes collapsed)
comment "// no inference"
expression_statement
call_expression
identifier "f16"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f16"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f16"
arguments
( "("
identifier "a"
, ","
identifier "b"
) ")"
; ";"
expression_statement
call_expression
identifier "f16"
arguments
( "("
identifier "a"
, ","
identifier "b"
, ","
identifier "b"
) ")"
; ";"
comment "// no inference, partially supplied"
expression_statement (+23 nodes collapsed)
expression_statement
binary_expression
binary_expression
identifier "f16"
< "<"
identifier "A"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "a"
, ","
identifier "b"
) ")"
; ";"
expression_statement
binary_expression
binary_expression
identifier "f16"
< "<"
identifier "A"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "a"
, ","
identifier "b"
, ","
identifier "b"
) ")"
; ";"
expression_statement (+28 nodes collapsed)
expression_statement
sequence_expression
binary_expression
identifier "f16"
< "<"
identifier "A"
, ","
binary_expression
identifier "B"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "a"
, ","
identifier "b"
) ")"
; ";"
expression_statement
sequence_expression
binary_expression
identifier "f16"
< "<"
identifier "A"
, ","
binary_expression
identifier "B"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "a"
, ","
identifier "b"
, ","
identifier "b"
) ")"
; ";"
comment "// no inference, fully supplied"
expression_statement (+32 nodes collapsed)
expression_statement
sequence_expression
binary_expression
identifier "f16"
< "<"
identifier "A"
, ","
identifier "B"
, ","
binary_expression
identifier "D"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "a"
, ","
identifier "b"
) ")"
; ";"
expression_statement (+22 nodes collapsed)
comment "// function with a type parameter with a default that refers"...
ERROR
identifier "declare"
identifier "function"
expression_statement (+46 nodes collapsed)
comment "// inference"
expression_statement
call_expression
identifier "f17"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f17"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f17"
arguments
( "("
identifier "a"
, ","
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f17"
arguments
( "("
identifier "a"
, ","
identifier "b"
) ")"
; ";"
expression_statement
call_expression
identifier "f17"
arguments
( "("
identifier "a"
, ","
identifier "c"
) ")"
; ";"
comment "// no inference, partially supplied"
expression_statement (+23 nodes collapsed)
expression_statement
binary_expression
binary_expression
identifier "f17"
< "<"
identifier "A"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "a"
, ","
identifier "a"
) ")"
; ";"
expression_statement
binary_expression
binary_expression
identifier "f17"
< "<"
identifier "A"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "a"
, ","
identifier "b"
) ")"
; ";"
comment "// no inference, fully supplied"
expression_statement (+28 nodes collapsed)
expression_statement
sequence_expression
binary_expression
identifier "f17"
< "<"
identifier "A"
, ","
binary_expression
identifier "C"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "a"
, ","
identifier "c"
) ")"
; ";"
comment "// function with a type parameter without a default and a ty"...
ERROR
identifier "declare"
identifier "function"
expression_statement (+57 nodes collapsed)
comment "// inference"
expression_statement
call_expression
identifier "f18"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f18"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f18"
arguments
( "("
identifier "a"
, ","
identifier "b"
) ")"
; ";"
expression_statement
call_expression
identifier "f18"
arguments
( "("
identifier "a"
, ","
identifier "b"
, ","
identifier "b"
) ")"
; ";"
expression_statement
call_expression
identifier "f18"
arguments
( "("
identifier "a"
, ","
identifier "b"
, ","
identifier "c"
) ")"
; ";"
comment "// no inference, partially supplied"
expression_statement (+23 nodes collapsed)
expression_statement
binary_expression
binary_expression
identifier "f18"
< "<"
identifier "A"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "a"
, ","
identifier "b"
) ")"
; ";"
expression_statement
binary_expression
binary_expression
identifier "f18"
< "<"
identifier "A"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "a"
, ","
identifier "b"
, ","
identifier "b"
) ")"
; ";"
expression_statement
binary_expression
binary_expression
identifier "f18"
< "<"
identifier "A"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "a"
, ","
identifier "b"
, ","
identifier "c"
) ")"
; ";"
expression_statement (+28 nodes collapsed)
expression_statement
sequence_expression
binary_expression
identifier "f18"
< "<"
identifier "A"
, ","
binary_expression
identifier "B"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "a"
, ","
identifier "b"
) ")"
; ";"
expression_statement
sequence_expression
binary_expression
identifier "f18"
< "<"
identifier "A"
, ","
binary_expression
identifier "B"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "a"
, ","
identifier "b"
, ","
identifier "b"
) ")"
; ";"
expression_statement
sequence_expression
binary_expression
identifier "f18"
< "<"
identifier "A"
, ","
binary_expression
identifier "B"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "a"
, ","
identifier "b"
, ","
identifier "c"
) ")"
; ";"
comment "// no inference, fully supplied"
expression_statement (+32 nodes collapsed)
expression_statement
sequence_expression
binary_expression
identifier "f18"
< "<"
identifier "A"
, ","
identifier "B"
, ","
binary_expression
identifier "D"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "a"
, ","
identifier "b"
) ")"
; ";"
expression_statement (+22 nodes collapsed)
comment "// function with a type parameter with a default that refers"...
ERROR
identifier "declare"
identifier "function"
expression_statement (+46 nodes collapsed)
comment "// inference"
expression_statement
call_expression
identifier "f19"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f19"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f19"
arguments
( "("
identifier "a"
, ","
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f19"
arguments
( "("
identifier "a"
, ","
identifier "b"
) ")"
; ";"
expression_statement
call_expression
identifier "f19"
arguments
( "("
identifier "a"
, ","
identifier "ab"
) ")"
; ";"
expression_statement
call_expression
identifier "f19"
arguments
( "("
identifier "a"
, ","
identifier "c"
) ")"
; ";"
comment "// no inference, partially supplied"
expression_statement (+23 nodes collapsed)
expression_statement
binary_expression
binary_expression
identifier "f19"
< "<"
identifier "A"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "a"
, ","
identifier "ab"
) ")"
; ";"
comment "// no inference, fully supplied"
expression_statement (+28 nodes collapsed)
expression_statement
sequence_expression
binary_expression
identifier "f19"
< "<"
identifier "A"
, ","
binary_expression
identifier "C"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "a"
, ","
identifier "c"
) ")"
; ";"
comment "// function with a type parameter without a default and a ty"...
ERROR
identifier "declare"
identifier "function"
expression_statement (+57 nodes collapsed)
comment "// inference"
expression_statement
call_expression
identifier "f20"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f20"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f20"
arguments
( "("
identifier "a"
, ","
identifier "b"
) ")"
; ";"
expression_statement
call_expression
identifier "f20"
arguments
( "("
identifier "a"
, ","
identifier "b"
, ","
identifier "c"
) ")"
; ";"
comment "// no inference, partially supplied"
expression_statement (+23 nodes collapsed)
expression_statement
binary_expression
binary_expression
identifier "f20"
< "<"
identifier "A"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "a"
, ","
identifier "b"
) ")"
; ";"
expression_statement
binary_expression
binary_expression
identifier "f20"
< "<"
identifier "A"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "a"
, ","
identifier "b"
, ","
identifier "bc"
) ")"
; ";"
expression_statement (+28 nodes collapsed)
expression_statement
sequence_expression
binary_expression
identifier "f20"
< "<"
identifier "A"
, ","
binary_expression
identifier "B"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "a"
, ","
identifier "b"
) ")"
; ";"
expression_statement
sequence_expression
binary_expression
identifier "f20"
< "<"
identifier "A"
, ","
binary_expression
identifier "B"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "a"
, ","
identifier "b"
, ","
identifier "bc"
) ")"
; ";"
comment "// no inference, fully supplied"
expression_statement (+32 nodes collapsed)
expression_statement
sequence_expression
binary_expression
identifier "f20"
< "<"
identifier "A"
, ","
identifier "B"
, ","
binary_expression
identifier "D"
> ">"
parenthesized_expression
( "("
sequence_expression
identifier "a"
, ","
identifier "b"
) ")"
; ";"
expression_statement (+22 nodes collapsed)
expression_statement (+21 nodes collapsed)
lexical_declaration (+28 nodes collapsed)
expression_statement (+29 nodes collapsed)
lexical_declaration (+23 nodes collapsed)
lexical_declaration (+26 nodes collapsed)
expression_statement (+32 nodes collapsed)
lexical_declaration (+23 nodes collapsed)
lexical_declaration
const "const"
variable_declarator
identifier "i02c01"
= "="
member_expression
parenthesized_expression
( "("
ERROR
< "<"
identifier "i02"
< "<"
binary_expression
number "1"
>> ">>"
identifier "x"
) ")"
. "."
property_identifier "a"
; ";"
lexical_declaration (+26 nodes collapsed)
lexical_declaration (+23 nodes collapsed)
lexical_declaration (+26 nodes collapsed)
expression_statement (+35 nodes collapsed)
lexical_declaration (+23 nodes collapsed)
lexical_declaration
const "const"
variable_declarator
identifier "i03c01"
= "="
member_expression
parenthesized_expression
( "("
ERROR
< "<"
identifier "i03"
< "<"
binary_expression
number "1"
>> ">>"
identifier "x"
) ")"
. "."
property_identifier "a"
; ";"
lexical_declaration (+26 nodes collapsed)
lexical_declaration (+23 nodes collapsed)
lexical_declaration (+26 nodes collapsed)
ERROR
identifier "interface"
identifier "i04"
statement_block
{ "{"
} "}"
expression_statement
binary_expression
binary_expression
identifier "interface"
ERROR
identifier "i04"
< "<"
identifier "T"
> ">"
object
{ "{"
} "}"
expression_statement
binary_expression
identifier "interface"
ERROR
identifier "i04"
< "<"
assignment_expression
identifier "T"
= "="
binary_expression
identifier "number"
> ">"
object
{ "{"
} "}"
expression_statement (+21 nodes collapsed)
expression_statement (+21 nodes collapsed)
lexical_declaration (+28 nodes collapsed)
expression_statement (+32 nodes collapsed)
lexical_declaration (+28 nodes collapsed)
lexical_declaration (+26 nodes collapsed)
ERROR
identifier "interface"
identifier "i07"
statement_block
{ "{"
labeled_statement
statement_identifier "a"
: ":"
expression_statement
identifier "A"
; ";"
} "}"
expression_statement (+21 nodes collapsed)
lexical_declaration (+33 nodes collapsed)
lexical_declaration (+23 nodes collapsed)
expression_statement
binary_expression
binary_expression
identifier "interface"
ERROR
identifier "Base01"
< "<"
identifier "T"
> ">"
object
{ "{"
pair
property_identifier "a"
: ":"
identifier "T"
ERROR
; ";"
} "}"
ERROR
identifier "interface"
identifier "Base01Constructor"
statement_block (+259 nodes collapsed)
ERROR
identifier "interface"
identifier "Base02Constructor"
statement_block
{ "{"
expression_statement
new_expression
new "new"
ERROR
jsx_opening_element
< "<"
identifier "T"
ERROR
= "="
jsx_attribute
property_identifier "A"
> ">"
jsx_text "(a: T): Base02 "
& "&"
identifier "T"
; ";"
} "}"
ERROR
identifier "declare"
identifier "const"
labeled_statement
statement_identifier "Base02"
: ":"
expression_statement
identifier "Base02Constructor"
; ";"
expression_statement
identifier "declare"
; ""
class_declaration
class "class"
identifier "Derived03"
class_heritage
extends "extends"
identifier "Base02"
class_body
{ "{"
} "}"
lexical_declaration
const "const"
variable_declarator
identifier "Derived03c00"
= "="
new_expression
new "new"
identifier "Derived03"
arguments
( "("
identifier "ab"
) ")"
; ";"
lexical_declaration
const "const"
variable_declarator
identifier "Derived03c01"
= "="
member_expression
identifier "Derived03c00"
. "."
property_identifier "a"
; ";"
expression_statement
identifier "type"
; ""
expression_statement
assignment_expression
identifier "DerivedProps"
= "="
ERROR
identifier "keyof"
identifier "Derived03"
; ";"
expression_statement (+23 nodes collapsed)
lexical_declaration (+28 nodes collapsed)
expression_statement (+31 nodes collapsed)
lexical_declaration (+23 nodes collapsed)
lexical_declaration (+26 nodes collapsed)
expression_statement (+34 nodes collapsed)
lexical_declaration (+23 nodes collapsed)
lexical_declaration
const "const"
variable_declarator
identifier "t02c01"
= "="
member_expression
parenthesized_expression
( "("
ERROR
< "<"
identifier "t02"
< "<"
binary_expression
number "1"
>> ">>"
identifier "x"
) ")"
. "."
property_identifier "a"
; ";"
lexical_declaration (+26 nodes collapsed)
lexical_declaration (+23 nodes collapsed)
lexical_declaration (+26 nodes collapsed)
expression_statement (+35 nodes collapsed)
lexical_declaration (+23 nodes collapsed)
lexical_declaration
const "const"
variable_declarator
identifier "t03c01"
= "="
member_expression
parenthesized_expression
( "("
ERROR
< "<"
identifier "t03"
< "<"
binary_expression
number "1"
>> ">>"
identifier "x"
) ")"
. "."
property_identifier "a"
; ";"
lexical_declaration (+26 nodes collapsed)
lexical_declaration (+23 nodes collapsed)
lexical_declaration (+26 nodes collapsed)
comment "// https://github.com/Microsoft/TypeScript/issues/16221"
expression_statement
identifier "interface"
; ""
expression_statement
binary_expression
identifier "SelfReference"
< "<"
assignment_expression
identifier "T"
= "="
binary_expression
identifier "SelfReference"
< "<"
binary_expression
identifier "string"
>> ">>"
object
{ "{"
} "}"
comment "//// [genericDefaults.js]"
comment "// no inference"
expression_statement
call_expression
identifier "f00"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f00"
arguments
( "("
identifier "a"
) ")"
; ";"
comment "// inference"
expression_statement
call_expression
identifier "f01"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f01"
arguments
( "("
identifier "a"
) ")"
; ";"
comment "// no inference, fully supplied"
expression_statement
call_expression
identifier "f01"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f01"
arguments
( "("
identifier "a"
) ")"
; ";"
comment "// inference"
expression_statement
call_expression
identifier "f02"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f02"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f02"
arguments
( "("
identifier "b"
) ")"
; ";"
comment "// no inference, fully supplied"
expression_statement
call_expression
identifier "f02"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f02"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f02"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f02"
arguments
( "("
identifier "b"
) ")"
; ";"
comment "// inference"
expression_statement
call_expression
identifier "f03"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f03"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f03"
arguments
( "("
identifier "b"
) ")"
; ";"
comment "// no inference, fully supplied"
expression_statement
call_expression
identifier "f03"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f03"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f03"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f03"
arguments
( "("
identifier "b"
) ")"
; ";"
comment "// inference"
expression_statement
call_expression
identifier "f04"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f04"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f04"
arguments
( "("
identifier "a"
, ","
identifier "b"
) ")"
; ";"
expression_statement
call_expression
identifier "f04"
arguments
( "("
identifier "a"
, ","
identifier "c"
) ")"
; ";"
comment "// no inference, partially supplied"
expression_statement
call_expression
identifier "f04"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f04"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f04"
arguments
( "("
identifier "a"
, ","
identifier "b"
) ")"
; ";"
comment "// no inference, fully supplied"
expression_statement
call_expression
identifier "f04"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f04"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f04"
arguments
( "("
identifier "a"
, ","
identifier "b"
) ")"
; ";"
expression_statement
call_expression
identifier "f04"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f04"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f04"
arguments
( "("
identifier "a"
, ","
identifier "c"
) ")"
; ";"
comment "// inference"
expression_statement
call_expression
identifier "f05"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f05"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f05"
arguments
( "("
identifier "a"
, ","
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f05"
arguments
( "("
identifier "a"
, ","
identifier "b"
) ")"
; ";"
comment "// no inference, partially supplied"
expression_statement
call_expression
identifier "f05"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f05"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f05"
arguments
( "("
identifier "a"
, ","
identifier "a"
) ")"
; ";"
comment "// no inference, fully supplied"
expression_statement
call_expression
identifier "f05"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f05"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f05"
arguments
( "("
identifier "a"
, ","
identifier "b"
) ")"
; ";"
comment "// inference"
expression_statement
call_expression
identifier "f06"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f06"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f06"
arguments
( "("
identifier "a"
, ","
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f06"
arguments
( "("
identifier "a"
, ","
identifier "b"
) ")"
; ";"
expression_statement
call_expression
identifier "f06"
arguments
( "("
identifier "b"
, ","
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f06"
arguments
( "("
identifier "b"
, ","
identifier "b"
) ")"
; ";"
comment "// no inference, partially supplied"
expression_statement
call_expression
identifier "f06"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f06"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f06"
arguments
( "("
identifier "a"
, ","
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f06"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f06"
arguments
( "("
identifier "b"
) ")"
; ";"
expression_statement
call_expression
identifier "f06"
arguments
( "("
identifier "b"
, ","
identifier "b"
) ")"
; ";"
comment "// no inference, fully supplied"
expression_statement
call_expression
identifier "f06"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f06"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f06"
arguments
( "("
identifier "a"
, ","
identifier "b"
) ")"
; ";"
expression_statement
call_expression
identifier "f06"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f06"
arguments
( "("
identifier "b"
) ")"
; ";"
expression_statement
call_expression
identifier "f06"
arguments
( "("
identifier "b"
, ","
identifier "c"
) ")"
; ";"
comment "// inference"
expression_statement
call_expression
identifier "f07"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f07"
arguments
( "("
identifier "a"
, ","
identifier "b"
) ")"
; ";"
expression_statement
call_expression
identifier "f07"
arguments
( "("
identifier "a"
, ","
identifier "c"
) ")"
; ";"
expression_statement
call_expression
identifier "f07"
arguments
( "("
identifier "a"
, ","
identifier "b"
, ","
identifier "b"
) ")"
; ";"
expression_statement
call_expression
identifier "f07"
arguments
( "("
identifier "a"
, ","
identifier "b"
, ","
identifier "c"
) ")"
; ";"
expression_statement
call_expression
identifier "f07"
arguments
( "("
identifier "a"
, ","
identifier "c"
, ","
identifier "b"
) ")"
; ";"
expression_statement
call_expression
identifier "f07"
arguments
( "("
identifier "a"
, ","
identifier "c"
, ","
identifier "c"
) ")"
; ";"
comment "// no inference, partially supplied"
expression_statement
call_expression
identifier "f07"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f07"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f07"
arguments
( "("
identifier "a"
, ","
identifier "b"
) ")"
; ";"
expression_statement
call_expression
identifier "f07"
arguments
( "("
identifier "a"
, ","
identifier "b"
, ","
identifier "b"
) ")"
; ";"
expression_statement
call_expression
identifier "f07"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f07"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f07"
arguments
( "("
identifier "a"
, ","
identifier "b"
) ")"
; ";"
expression_statement
call_expression
identifier "f07"
arguments
( "("
identifier "a"
, ","
identifier "b"
, ","
identifier "b"
) ")"
; ";"
expression_statement
call_expression
identifier "f07"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f07"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f07"
arguments
( "("
identifier "a"
, ","
identifier "c"
) ")"
; ";"
expression_statement
call_expression
identifier "f07"
arguments
( "("
identifier "a"
, ","
identifier "c"
, ","
identifier "c"
) ")"
; ";"
comment "// no inference, fully supplied"
expression_statement
call_expression
identifier "f07"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f07"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f07"
arguments
( "("
identifier "a"
, ","
identifier "b"
) ")"
; ";"
expression_statement
call_expression
identifier "f07"
arguments
( "("
identifier "a"
, ","
identifier "b"
, ","
identifier "c"
) ")"
; ";"
expression_statement
call_expression
identifier "f07"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f07"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f07"
arguments
( "("
identifier "a"
, ","
identifier "c"
) ")"
; ";"
expression_statement
call_expression
identifier "f07"
arguments
( "("
identifier "a"
, ","
identifier "c"
, ","
identifier "d"
) ")"
; ";"
comment "// inference"
expression_statement
call_expression
identifier "f08"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f08"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f08"
arguments
( "("
identifier "a"
, ","
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f08"
arguments
( "("
identifier "a"
, ","
identifier "b"
) ")"
; ";"
comment "// no inference, partially supplied"
expression_statement
call_expression
identifier "f08"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f08"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f08"
arguments
( "("
identifier "a"
, ","
identifier "a"
) ")"
; ";"
comment "// no inference, fully supplied"
expression_statement
call_expression
identifier "f08"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f08"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f08"
arguments
( "("
identifier "a"
, ","
identifier "b"
) ")"
; ";"
comment "// inference"
expression_statement
call_expression
identifier "f09"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f09"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f09"
arguments
( "("
identifier "a"
, ","
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f09"
arguments
( "("
identifier "a"
, ","
identifier "ab"
) ")"
; ";"
comment "// no inference, partially supplied"
expression_statement
call_expression
identifier "f09"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f09"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f09"
arguments
( "("
identifier "a"
, ","
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f09"
arguments
( "("
identifier "a"
, ","
identifier "ab"
) ")"
; ";"
comment "// no inference, fully supplied"
expression_statement
call_expression
identifier "f09"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f09"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f09"
arguments
( "("
identifier "a"
, ","
identifier "ab"
) ")"
; ";"
comment "// inference"
expression_statement
call_expression
identifier "f10"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f10"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f10"
arguments
( "("
identifier "a"
, ","
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f10"
arguments
( "("
identifier "a"
, ","
identifier "ab"
) ")"
; ";"
comment "// no inference, partially supplied"
expression_statement
call_expression
identifier "f10"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f10"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f10"
arguments
( "("
identifier "a"
, ","
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f10"
arguments
( "("
identifier "a"
, ","
identifier "ab"
) ")"
; ";"
comment "// no inference, fully supplied"
expression_statement
call_expression
identifier "f10"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f10"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f10"
arguments
( "("
identifier "a"
, ","
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f10"
arguments
( "("
identifier "a"
, ","
identifier "ab"
) ")"
; ";"
expression_statement
call_expression
identifier "f10"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f10"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f10"
arguments
( "("
identifier "a"
, ","
identifier "ab"
) ")"
; ";"
comment "// inference"
expression_statement
call_expression
identifier "f11"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f11"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f11"
arguments
( "("
identifier "a"
, ","
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f11"
arguments
( "("
identifier "a"
, ","
identifier "b"
) ")"
; ";"
expression_statement
call_expression
identifier "f11"
arguments
( "("
identifier "a"
, ","
identifier "c"
) ")"
; ";"
comment "// no inference, partially supplied"
expression_statement
call_expression
identifier "f11"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f11"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f11"
arguments
( "("
identifier "a"
, ","
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f11"
arguments
( "("
identifier "a"
, ","
identifier "b"
) ")"
; ";"
comment "// no inference, fully supplied"
expression_statement
call_expression
identifier "f11"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f11"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f11"
arguments
( "("
identifier "a"
, ","
identifier "c"
) ")"
; ";"
comment "// inference"
expression_statement
call_expression
identifier "f12"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f12"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f12"
arguments
( "("
identifier "a"
, ","
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f12"
arguments
( "("
identifier "a"
, ","
identifier "b"
) ")"
; ";"
expression_statement
call_expression
identifier "f12"
arguments
( "("
identifier "a"
, ","
identifier "c"
) ")"
; ";"
comment "// no inference, partially supplied"
expression_statement
call_expression
identifier "f12"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f12"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f12"
arguments
( "("
identifier "a"
, ","
identifier "ab"
) ")"
; ";"
comment "// no inference, fully supplied"
expression_statement
call_expression
identifier "f12"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f12"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f12"
arguments
( "("
identifier "a"
, ","
identifier "c"
) ")"
; ";"
comment "// inference"
expression_statement
call_expression
identifier "f13"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f13"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f13"
arguments
( "("
identifier "a"
, ","
identifier "b"
) ")"
; ";"
expression_statement
call_expression
identifier "f13"
arguments
( "("
identifier "a"
, ","
identifier "c"
) ")"
; ";"
comment "// no inference, partially supplied"
expression_statement
call_expression
identifier "f13"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f13"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f13"
arguments
( "("
identifier "a"
, ","
identifier "b"
) ")"
; ";"
comment "// no inference, fully supplied"
expression_statement
call_expression
identifier "f13"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f13"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f13"
arguments
( "("
identifier "a"
, ","
identifier "c"
) ")"
; ";"
expression_statement
call_expression
identifier "f13"
arguments
( "("
identifier "a"
, ","
identifier "c"
) ")"
; ";"
comment "// inference"
expression_statement
call_expression
identifier "f14"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f14"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f14"
arguments
( "("
identifier "a"
, ","
identifier "b"
) ")"
; ";"
expression_statement
call_expression
identifier "f14"
arguments
( "("
identifier "a"
, ","
identifier "b"
, ","
identifier "c"
) ")"
; ";"
expression_statement
call_expression
identifier "f14"
arguments
( "("
identifier "a"
, ","
identifier "b"
, ","
identifier "d"
) ")"
; ";"
comment "// no inference, partially supplied"
expression_statement
call_expression
identifier "f14"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f14"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f14"
arguments
( "("
identifier "a"
, ","
identifier "b"
) ")"
; ";"
expression_statement
call_expression
identifier "f14"
arguments
( "("
identifier "a"
, ","
identifier "b"
, ","
identifier "c"
) ")"
; ";"
expression_statement
call_expression
identifier "f14"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f14"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f14"
arguments
( "("
identifier "a"
, ","
identifier "b"
) ")"
; ";"
expression_statement
call_expression
identifier "f14"
arguments
( "("
identifier "a"
, ","
identifier "b"
, ","
identifier "c"
) ")"
; ";"
comment "// no inference fully supplied"
expression_statement
call_expression
identifier "f14"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f14"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f14"
arguments
( "("
identifier "a"
, ","
identifier "b"
) ")"
; ";"
expression_statement
call_expression
identifier "f14"
arguments
( "("
identifier "a"
, ","
identifier "b"
, ","
identifier "d"
) ")"
; ";"
comment "// inference"
expression_statement
call_expression
identifier "f15"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f15"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f15"
arguments
( "("
identifier "a"
, ","
identifier "b"
) ")"
; ";"
comment "// no inference, partially supplied"
expression_statement
call_expression
identifier "f15"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f15"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f15"
arguments
( "("
identifier "a"
, ","
identifier "a"
) ")"
; ";"
comment "// no inference, fully supplied"
expression_statement
call_expression
identifier "f15"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f15"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f15"
arguments
( "("
identifier "a"
, ","
identifier "b"
) ")"
; ";"
comment "// no inference"
expression_statement
call_expression
identifier "f16"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f16"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f16"
arguments
( "("
identifier "a"
, ","
identifier "b"
) ")"
; ";"
expression_statement
call_expression
identifier "f16"
arguments
( "("
identifier "a"
, ","
identifier "b"
, ","
identifier "b"
) ")"
; ";"
comment "// no inference, partially supplied"
expression_statement
call_expression
identifier "f16"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f16"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f16"
arguments
( "("
identifier "a"
, ","
identifier "b"
) ")"
; ";"
expression_statement
call_expression
identifier "f16"
arguments
( "("
identifier "a"
, ","
identifier "b"
, ","
identifier "b"
) ")"
; ";"
expression_statement
call_expression
identifier "f16"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f16"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f16"
arguments
( "("
identifier "a"
, ","
identifier "b"
) ")"
; ";"
expression_statement
call_expression
identifier "f16"
arguments
( "("
identifier "a"
, ","
identifier "b"
, ","
identifier "b"
) ")"
; ";"
comment "// no inference, fully supplied"
expression_statement
call_expression
identifier "f16"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f16"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f16"
arguments
( "("
identifier "a"
, ","
identifier "b"
) ")"
; ";"
expression_statement
call_expression
identifier "f16"
arguments
( "("
identifier "a"
, ","
identifier "b"
, ","
identifier "d"
) ")"
; ";"
comment "// inference"
expression_statement
call_expression
identifier "f17"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f17"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f17"
arguments
( "("
identifier "a"
, ","
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f17"
arguments
( "("
identifier "a"
, ","
identifier "b"
) ")"
; ";"
expression_statement
call_expression
identifier "f17"
arguments
( "("
identifier "a"
, ","
identifier "c"
) ")"
; ";"
comment "// no inference, partially supplied"
expression_statement
call_expression
identifier "f17"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f17"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f17"
arguments
( "("
identifier "a"
, ","
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f17"
arguments
( "("
identifier "a"
, ","
identifier "b"
) ")"
; ";"
comment "// no inference, fully supplied"
expression_statement
call_expression
identifier "f17"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f17"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f17"
arguments
( "("
identifier "a"
, ","
identifier "c"
) ")"
; ";"
comment "// inference"
expression_statement
call_expression
identifier "f18"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f18"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f18"
arguments
( "("
identifier "a"
, ","
identifier "b"
) ")"
; ";"
expression_statement
call_expression
identifier "f18"
arguments
( "("
identifier "a"
, ","
identifier "b"
, ","
identifier "b"
) ")"
; ";"
expression_statement
call_expression
identifier "f18"
arguments
( "("
identifier "a"
, ","
identifier "b"
, ","
identifier "c"
) ")"
; ";"
comment "// no inference, partially supplied"
expression_statement
call_expression
identifier "f18"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f18"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f18"
arguments
( "("
identifier "a"
, ","
identifier "b"
) ")"
; ";"
expression_statement
call_expression
identifier "f18"
arguments
( "("
identifier "a"
, ","
identifier "b"
, ","
identifier "b"
) ")"
; ";"
expression_statement
call_expression
identifier "f18"
arguments
( "("
identifier "a"
, ","
identifier "b"
, ","
identifier "c"
) ")"
; ";"
expression_statement
call_expression
identifier "f18"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f18"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f18"
arguments
( "("
identifier "a"
, ","
identifier "b"
) ")"
; ";"
expression_statement
call_expression
identifier "f18"
arguments
( "("
identifier "a"
, ","
identifier "b"
, ","
identifier "b"
) ")"
; ";"
expression_statement
call_expression
identifier "f18"
arguments
( "("
identifier "a"
, ","
identifier "b"
, ","
identifier "c"
) ")"
; ";"
comment "// no inference, fully supplied"
expression_statement
call_expression
identifier "f18"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f18"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f18"
arguments
( "("
identifier "a"
, ","
identifier "b"
) ")"
; ";"
expression_statement
call_expression
identifier "f18"
arguments
( "("
identifier "a"
, ","
identifier "b"
, ","
identifier "d"
) ")"
; ";"
comment "// inference"
expression_statement
call_expression
identifier "f19"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f19"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f19"
arguments
( "("
identifier "a"
, ","
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f19"
arguments
( "("
identifier "a"
, ","
identifier "b"
) ")"
; ";"
expression_statement
call_expression
identifier "f19"
arguments
( "("
identifier "a"
, ","
identifier "ab"
) ")"
; ";"
expression_statement
call_expression
identifier "f19"
arguments
( "("
identifier "a"
, ","
identifier "c"
) ")"
; ";"
comment "// no inference, partially supplied"
expression_statement
call_expression
identifier "f19"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f19"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f19"
arguments
( "("
identifier "a"
, ","
identifier "ab"
) ")"
; ";"
comment "// no inference, fully supplied"
expression_statement
call_expression
identifier "f19"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f19"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f19"
arguments
( "("
identifier "a"
, ","
identifier "c"
) ")"
; ";"
comment "// inference"
expression_statement
call_expression
identifier "f20"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f20"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f20"
arguments
( "("
identifier "a"
, ","
identifier "b"
) ")"
; ";"
expression_statement
call_expression
identifier "f20"
arguments
( "("
identifier "a"
, ","
identifier "b"
, ","
identifier "c"
) ")"
; ";"
comment "// no inference, partially supplied"
expression_statement
call_expression
identifier "f20"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f20"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f20"
arguments
( "("
identifier "a"
, ","
identifier "b"
) ")"
; ";"
expression_statement
call_expression
identifier "f20"
arguments
( "("
identifier "a"
, ","
identifier "b"
, ","
identifier "bc"
) ")"
; ";"
expression_statement
call_expression
identifier "f20"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f20"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f20"
arguments
( "("
identifier "a"
, ","
identifier "b"
) ")"
; ";"
expression_statement
call_expression
identifier "f20"
arguments
( "("
identifier "a"
, ","
identifier "b"
, ","
identifier "bc"
) ")"
; ";"
comment "// no inference, fully supplied"
expression_statement
call_expression
identifier "f20"
arguments
( "("
) ")"
; ";"
expression_statement
call_expression
identifier "f20"
arguments
( "("
identifier "a"
) ")"
; ";"
expression_statement
call_expression
identifier "f20"
arguments
( "("
identifier "a"
, ","
identifier "b"
) ")"
; ";"
expression_statement
call_expression
identifier "f20"
arguments
( "("
identifier "a"
, ","
identifier "b"
, ","
identifier "d"
) ")"
; ";"
lexical_declaration
const "const"
variable_declarator
identifier "i00c00"
= "="
member_expression
identifier "x"
. "."
property_identifier "a"
; ";"
lexical_declaration
const "const"
variable_declarator
identifier "i00c01"
= "="
member_expression
identifier "x"
. "."
property_identifier "a"
; ";"
lexical_declaration
const "const"
variable_declarator
identifier "i01c00"
= "="
member_expression
identifier "x"
. "."
property_identifier "a"
; ";"
lexical_declaration
const "const"
variable_declarator
identifier "i01c01"
= "="
member_expression
identifier "x"
. "."
property_identifier "a"
; ";"
lexical_declaration
const "const"
variable_declarator
identifier "i02c00"
= "="
member_expression
identifier "x"
. "."
property_identifier "a"
; ";"
lexical_declaration
const "const"
variable_declarator
identifier "i02c01"
= "="
member_expression
identifier "x"
. "."
property_identifier "a"
; ";"
lexical_declaration
const "const"
variable_declarator
identifier "i02c02"
= "="
member_expression
identifier "x"
. "."
property_identifier "a"
; ";"
lexical_declaration
const "const"
variable_declarator
identifier "i02c03"
= "="
member_expression
identifier "x"
. "."
property_identifier "a"
; ";"
lexical_declaration
const "const"
variable_declarator
identifier "i02c04"
= "="
member_expression
identifier "x"
. "."
property_identifier "a"
; ";"
lexical_declaration
const "const"
variable_declarator
identifier "i03c00"
= "="
member_expression
identifier "x"
. "."
property_identifier "a"
; ";"
lexical_declaration
const "const"
variable_declarator
identifier "i03c01"
= "="
member_expression
identifier "x"
. "."
property_identifier "a"
; ";"
lexical_declaration
const "const"
variable_declarator
identifier "i03c02"
= "="
member_expression
identifier "x"
. "."
property_identifier "a"
; ";"
lexical_declaration
const "const"
variable_declarator
identifier "i03c03"
= "="
member_expression
identifier "x"
. "."
property_identifier "a"
; ";"
lexical_declaration
const "const"
variable_declarator
identifier "i03c04"
= "="
member_expression
identifier "x"
. "."
property_identifier "a"
; ";"
lexical_declaration
const "const"
variable_declarator
identifier "i05c00"
= "="
member_expression
identifier "x"
. "."
property_identifier "a"
; ";"
lexical_declaration
const "const"
variable_declarator
identifier "i05c01"
= "="
member_expression
identifier "x"
. "."
property_identifier "a"
; ";"
lexical_declaration
const "const"
variable_declarator
identifier "i06c00"
= "="
member_expression
identifier "x"
. "."
property_identifier "a"
; ";"
lexical_declaration
const "const"
variable_declarator
identifier "i06c01"
= "="
member_expression
identifier "x"
. "."
property_identifier "a"
; ";"
lexical_declaration
const "const"
variable_declarator
identifier "i06c02"
= "="
member_expression
identifier "x"
. "."
property_identifier "a"
; ";"
lexical_declaration
const "const"
variable_declarator
identifier "i07c00"
= "="
member_expression
identifier "x"
. "."
property_identifier "a"
; ";"
lexical_declaration
const "const"
variable_declarator
identifier "i07c01"
= "="
member_expression
identifier "x"
. "."
property_identifier "b"
; ";"
lexical_declaration
const "const"
variable_declarator
identifier "i07c02"
= "="
member_expression
identifier "x"
. "."
property_identifier "a"
; ";"
lexical_declaration
const "const"
variable_declarator
identifier "i07c03"
= "="
member_expression
identifier "x"
. "."
property_identifier "b"
; ";"
lexical_declaration
const "const"
variable_declarator
identifier "Base01c00"
= "="
new_expression
new "new"
identifier "Base01"
arguments
( "("
) ")"
; ";"
lexical_declaration
const "const"
variable_declarator
identifier "Base01c01"
= "="
new_expression
new "new"
identifier "Base01"
arguments
( "("
number "1"
) ")"
; ";"
lexical_declaration
const "const"
variable_declarator
identifier "Base01c02"
= "="
new_expression
new "new"
identifier "Base01"
arguments
( "("
) ")"
; ";"
lexical_declaration
const "const"
variable_declarator
identifier "Base01c03"
= "="
new_expression
new "new"
identifier "Base01"
arguments
( "("
number "1"
) ")"
; ";"
lexical_declaration
const "const"
variable_declarator
identifier "Derived01c00"
= "="
new_expression
new "new"
identifier "Derived01"
arguments
( "("
) ")"
; ";"
lexical_declaration
const "const"
variable_declarator
identifier "Derived01c01"
= "="
new_expression
new "new"
identifier "Derived01"
arguments
( "("
number "1"
) ")"
; ";"
lexical_declaration
const "const"
variable_declarator
identifier "Derived01c02"
= "="
new_expression
new "new"
identifier "Derived01"
arguments
( "("
) ")"
; ";"
lexical_declaration
const "const"
variable_declarator
identifier "Derived01c03"
= "="
new_expression
new "new"
identifier "Derived01"
arguments
( "("
number "1"
) ")"
; ";"
lexical_declaration
const "const"
variable_declarator
identifier "Derived02c00"
= "="
new_expression
new "new"
identifier "Derived02"
arguments
( "("
) ")"
; ";"
lexical_declaration
const "const"
variable_declarator
identifier "Derived02c01"
= "="
new_expression
new "new"
identifier "Derived02"
arguments
( "("
number "1"
) ")"
; ";"
lexical_declaration
const "const"
variable_declarator
identifier "Derived02c02"
= "="
new_expression
new "new"
identifier "Derived02"
arguments
( "("
) ")"
; ";"
lexical_declaration
const "const"
variable_declarator
identifier "Derived02c03"
= "="
new_expression
new "new"
identifier "Derived02"
arguments
( "("
number "1"
) ")"
; ";"
lexical_declaration
const "const"
variable_declarator
identifier "Derived03c00"
= "="
new_expression
new "new"
identifier "Derived03"
arguments
( "("
identifier "ab"
) ")"
; ";"
lexical_declaration
const "const"
variable_declarator
identifier "Derived03c01"
= "="
member_expression
identifier "Derived03c00"
. "."
property_identifier "a"
; ";"
lexical_declaration
const "const"
variable_declarator
identifier "t00c00"
= "="
member_expression
identifier "x"
. "."
property_identifier "a"
; ";"
lexical_declaration
const "const"
variable_declarator
identifier "t00c01"
= "="
member_expression
identifier "x"
. "."
property_identifier "a"
; ";"
lexical_declaration
const "const"
variable_declarator
identifier "t01c00"
= "="
member_expression
identifier "x"
. "."
property_identifier "a"
; ";"
lexical_declaration
const "const"
variable_declarator
identifier "t01c01"
= "="
member_expression
identifier "x"
. "."
property_identifier "a"
; ";"
lexical_declaration
const "const"
variable_declarator
identifier "t02c00"
= "="
member_expression
identifier "x"
. "."
property_identifier "a"
; ";"
lexical_declaration
const "const"
variable_declarator
identifier "t02c01"
= "="
member_expression
identifier "x"
. "."
property_identifier "a"
; ";"
lexical_declaration
const "const"
variable_declarator
identifier "t02c02"
= "="
member_expression
identifier "x"
. "."
property_identifier "a"
; ";"
lexical_declaration
const "const"
variable_declarator
identifier "t02c03"
= "="
member_expression
identifier "x"
. "."
property_identifier "a"
; ";"
lexical_declaration
const "const"
variable_declarator
identifier "t02c04"
= "="
member_expression
identifier "x"
. "."
property_identifier "a"
; ";"
lexical_declaration
const "const"
variable_declarator
identifier "t03c00"
= "="
member_expression
identifier "x"
. "."
property_identifier "a"
; ";"
lexical_declaration
const "const"
variable_declarator
identifier "t03c01"
= "="
member_expression
identifier "x"
. "."
property_identifier "a"
; ";"
lexical_declaration
const "const"
variable_declarator
identifier "t03c02"
= "="
member_expression
identifier "x"
. "."
property_identifier "a"
; ";"
lexical_declaration
const "const"
variable_declarator
identifier "t03c03"
= "="
member_expression
identifier "x"
. "."
property_identifier "a"
; ";"
lexical_declaration
const "const"
variable_declarator
identifier "t03c04"
= "="
member_expression
identifier "x"
. "."
property_identifier "a"
; ";"
comment "//// [genericDefaults.d.ts]"
ERROR
identifier "interface"
identifier "A"
statement_block
{ "{"
labeled_statement
statement_identifier "a"
: ":"
expression_statement
identifier "number"
; ";"
} "}"
ERROR
identifier "interface"
identifier "B"
statement_block
{ "{"
labeled_statement
statement_identifier "b"
: ":"
expression_statement
identifier "number"
; ";"
} "}"
ERROR
identifier "interface"
identifier "C"
statement_block
{ "{"
labeled_statement
statement_identifier "c"
: ":"
expression_statement
identifier "number"
; ";"
} "}"
ERROR
identifier "interface"
identifier "D"
statement_block
{ "{"
labeled_statement
statement_identifier "d"
: ":"
expression_statement
identifier "number"
; ";"
} "}"
ERROR
identifier "interface"
identifier "AB"
statement_block
{ "{"
labeled_statement
statement_identifier "a"
: ":"
expression_statement
identifier "number"
; ";"
labeled_statement
statement_identifier "b"
: ":"
expression_statement
identifier "number"
; ";"
} "}"
ERROR
identifier "interface"
identifier "BC"
statement_block
{ "{"
labeled_statement
statement_identifier "b"
: ":"
expression_statement
identifier "number"
; ";"
labeled_statement
statement_identifier "c"
: ":"
expression_statement
identifier "number"
; ";"
} "}"
ERROR
identifier "declare"
identifier "const"
labeled_statement
statement_identifier "a"
: ":"
expression_statement
identifier "A"
; ";"
ERROR
identifier "declare"
identifier "const"
labeled_statement
statement_identifier "b"
: ":"
expression_statement
identifier "B"
; ";"
ERROR
identifier "declare"
identifier "const"
labeled_statement
statement_identifier "c"
: ":"
expression_statement
identifier "C"
; ";"
ERROR
identifier "declare"
identifier "const"
labeled_statement
statement_identifier "d"
: ":"
expression_statement
identifier "D"
; ";"
ERROR
identifier "declare"
identifier "const"
labeled_statement
statement_identifier "ab"
: ":"
expression_statement
identifier "AB"
; ";"
ERROR
identifier "declare"
identifier "const"
labeled_statement
statement_identifier "bc"
: ":"
expression_statement
identifier "BC"
; ";"
ERROR
identifier "declare"
identifier "const"
labeled_statement
statement_identifier "x"
: ":"
expression_statement
identifier "any"
; ";"
expression_statement
identifier "declare"
; ""
function "function"
identifier "f00"
( "("
ERROR (+36 nodes collapsed)
jsx_opening_element
< "<"
identifier "T"
ERROR
= "="
jsx_attribute
property_identifier "A"
> ">"
jsx_text "(a?: T): T;\r\ndeclare function f03"
jsx_opening_element
< "<"
identifier "T"
ERROR
= "="
jsx_attribute
property_identifier "T"
> ">"
jsx_text "(a?: T): T;\r\ndeclare function f04"
jsx_opening_element
< "<"
identifier "T"
ERROR
, ","
jsx_attribute
property_identifier "U"
ERROR
= "="
jsx_attribute
property_identifier "B"
> ">"
jsx_text "(a?: T, b?: U): [T, U];\r\ndeclare function f05"
jsx_opening_element
< "<"
identifier "T"
ERROR
, ","
jsx_attribute
property_identifier "U"
ERROR
= "="
jsx_attribute
property_identifier "T"
> ">"
jsx_text "(a?: T, b?: U): [T, U];\r\ndeclare function f06"
jsx_opening_element
< "<"
identifier "T"
ERROR
= "="
jsx_attribute
property_identifier "A"
ERROR
, ","
jsx_attribute
property_identifier "U"
ERROR
= "="
jsx_attribute
property_identifier "T"
> ">"
jsx_text "(a?: T, b?: U): [T, U];\r\ndeclare function f07"
jsx_opening_element
< "<"
identifier "T"
ERROR
, ","
jsx_attribute
property_identifier "U"
ERROR
= "="
identifier "B"
, ","
jsx_attribute
property_identifier "V"
ERROR
= "="
jsx_attribute
property_identifier "U"
> ">"
jsx_text "(a?: T, b?: U, c?: V): [T, U, V];\r\ndeclare function f08"
jsx_opening_element
< "<"
identifier "T"
ERROR
extends "extends"
jsx_attribute
property_identifier "A"
ERROR
, ","
jsx_attribute
property_identifier "U"
ERROR
= "="
jsx_attribute
property_identifier "T"
> ">"
jsx_text "(a?: T, b?: U): [T, U];\r\ndeclare function f09"
jsx_opening_element
< "<"
identifier "T"
ERROR
, ","
jsx_attribute
property_identifier "U"
ERROR
extends "extends"
jsx_attribute
property_identifier "T"
ERROR
= "="
jsx_attribute
property_identifier "T"
> ">"
jsx_text "(a?: T, b?: U): [T, U];\r\ndeclare function f10"
jsx_opening_element
< "<"
identifier "T"
ERROR
extends "extends"
jsx_attribute
property_identifier "A"
ERROR
, ","
jsx_attribute
property_identifier "U"
ERROR
extends "extends"
jsx_attribute
property_identifier "T"
ERROR
= "="
jsx_attribute
property_identifier "T"
> ">"
jsx_text "(a?: T, b?: U): [T, U];\r\ndeclare function f11"
jsx_opening_element
< "<"
identifier "T"
ERROR
, ","
jsx_attribute
property_identifier "U"
ERROR
= "="
identifier "T"
| "|"
jsx_attribute
property_identifier "B"
> ">"
jsx_text "(a?: T, b?: U): [T, U];\r\ndeclare function f12"
jsx_opening_element
< "<"
identifier "T"
ERROR
, ","
jsx_attribute
property_identifier "U"
ERROR
= "="
identifier "T"
& "&"
jsx_attribute
property_identifier "B"
> ">"
jsx_text "(a?: T, b?: U): [T, U];\r\ndeclare function f13"
jsx_opening_element
< "<"
identifier "T"
ERROR
= "="
jsx_attribute
property_identifier "U"
ERROR
, ","
jsx_attribute
property_identifier "U"
ERROR
= "="
jsx_attribute
property_identifier "B"
> ">"
jsx_text "(a?: T, b?: U): [T, U];\r\ndeclare function f14"
jsx_opening_element
< "<"
identifier "T"
ERROR
, ","
jsx_attribute
property_identifier "U"
ERROR
= "="
identifier "V"
, ","
jsx_attribute
property_identifier "V"
ERROR
= "="
jsx_attribute
property_identifier "C"
> ">"
jsx_text "(a?: T, b?: U, c?: V): [T, U, V];\r\ndeclare function f15"
jsx_opening_element
< "<"
identifier "T"
ERROR
= "="
jsx_attribute
property_identifier "U"
ERROR
, ","
jsx_attribute
property_identifier "U"
ERROR
= "="
jsx_attribute
property_identifier "T"
> ">"
jsx_text "(a?: T, b?: U): [T, U];\r\ndeclare function f16"
jsx_opening_element
< "<"
identifier "T"
ERROR
, ","
jsx_attribute
property_identifier "U"
ERROR
= "="
identifier "V"
, ","
jsx_attribute
property_identifier "V"
ERROR
= "="
jsx_attribute
property_identifier "U"
> ">"
jsx_text "(a?: T, b?: U, c?: V): [T, U, V];\r\ndeclare function f17"
jsx_opening_element
< "<"
identifier "T"
ERROR
= "="
jsx_attribute
property_identifier "U"
ERROR
, ","
jsx_attribute
property_identifier "U"
ERROR
= "="
identifier "T"
| "|"
jsx_attribute
property_identifier "B"
> ">"
jsx_text "(a?: T, b?: U): [T, U];\r\ndeclare function f18"
jsx_opening_element
< "<"
identifier "T"
ERROR
, ","
jsx_attribute
property_identifier "U"
ERROR
= "="
identifier "V"
, ","
jsx_attribute
property_identifier "V"
ERROR
= "="
identifier "U"
| "|"
jsx_attribute
property_identifier "C"
> ">"
jsx_text "(a?: T, b?: U, c?: V): [T, U, V];\r\ndeclare function f19"
jsx_opening_element
< "<"
identifier "T"
ERROR
= "="
jsx_attribute
property_identifier "U"
ERROR
, ","
jsx_attribute
property_identifier "U"
ERROR
= "="
identifier "T"
& "&"
jsx_attribute
property_identifier "B"
> ">"
jsx_text "(a?: T, b?: U): [T, U];\r\ndeclare function f20"
jsx_opening_element
< "<"
identifier "T"
ERROR
, ","
jsx_attribute
property_identifier "U"
ERROR
= "="
identifier "V"
, ","
jsx_attribute
property_identifier "V"
ERROR
= "="
identifier "U"
& "&"
jsx_attribute
property_identifier "C"
> ">"
jsx_text "(a?: T, b?: U, c?: V): [T, U, V];\r\ninterface i00"
jsx_opening_element
< "<"
identifier "T"
ERROR
= "="
jsx_attribute
property_identifier "number"
> ">"
jsx_text " "
jsx_expression
{ "{"
ERROR
identifier "a"
: ":"
identifier "T"
ERROR
; ";"
} "}"
jsx_text "\r\ndeclare const i00c00: number;\r\ndeclare const i00c01: numbe"...
jsx_opening_element
< "<"
identifier "T"
ERROR
, ","
jsx_attribute
property_identifier "U"
ERROR
= "="
jsx_attribute
property_identifier "T"
> ">"
jsx_text " "
jsx_expression
{ "{"
subscript_expression
identifier "a"
ERROR
: ":"
[ "["
sequence_expression
identifier "T"
, ","
identifier "U"
] "]"
ERROR
; ";"
} "}"
jsx_text "\r\ndeclare const i01c00: [number, number];\r\ndeclare const i01"...
jsx_opening_element
< "<"
identifier "T"
ERROR
extends "extends"
jsx_attribute
property_identifier "number"
ERROR
, ","
jsx_attribute
property_identifier "U"
ERROR
= "="
jsx_attribute
property_identifier "T"
> ">"
jsx_text " "
jsx_expression
{ "{"
subscript_expression
identifier "a"
ERROR
: ":"
[ "["
sequence_expression
identifier "T"
, ","
identifier "U"
] "]"
ERROR
; ";"
} "}"
jsx_text "\r\ndeclare const i02c00: [number, number];\r\ndeclare const i02"...
jsx_opening_element
< "<"
identifier "T"
ERROR
extends "extends"
jsx_attribute
property_identifier "number"
ERROR
, ","
jsx_attribute
property_identifier "U"
ERROR
extends "extends"
jsx_attribute
property_identifier "T"
ERROR
= "="
jsx_attribute
property_identifier "T"
> ">"
jsx_text " "
jsx_expression
{ "{"
subscript_expression
identifier "a"
ERROR
: ":"
[ "["
sequence_expression
identifier "T"
, ","
identifier "U"
] "]"
ERROR
; ";"
} "}"
jsx_text "\r\ndeclare const i03c00: [number, number];\r\ndeclare const i03"...
jsx_expression
{ "{"
} "}"
jsx_text "\r\ninterface i04"
jsx_opening_element
< "<"
identifier "T"
> ">"
jsx_text " "
jsx_expression
{ "{"
} "}"
jsx_text "\r\ninterface i04"
jsx_opening_element
< "<"
identifier "T"
ERROR
= "="
jsx_attribute
property_identifier "number"
> ">"
jsx_text " "
jsx_expression
{ "{"
} "}"
jsx_text "\r\ninterface i04"
jsx_opening_element
< "<"
identifier "T"
ERROR
= "="
jsx_attribute
property_identifier "number"
ERROR
, ","
jsx_attribute
property_identifier "U"
ERROR
= "="
jsx_attribute
property_identifier "string"
> ">"
jsx_text " "
jsx_expression
{ "{"
} "}"
jsx_text "\r\ninterface i05"
jsx_opening_element
< "<"
identifier "T"
ERROR
= "="
jsx_attribute
property_identifier "T"
> ">"
jsx_text " "
jsx_expression
{ "{"
ERROR
identifier "a"
: ":"
identifier "T"
ERROR
; ";"
} "}"
jsx_text "\r\ndeclare const i05c00: any;\r\ndeclare const i05c01: number;\r"...
jsx_opening_element
< "<"
identifier "T"
ERROR
= "="
jsx_attribute
property_identifier "U"
ERROR
, ","
jsx_attribute
property_identifier "U"
ERROR
= "="
jsx_attribute
property_identifier "T"
> ">"
jsx_text " "
jsx_expression
{ "{"
subscript_expression
identifier "a"
ERROR
: ":"
[ "["
sequence_expression
identifier "T"
, ","
identifier "U"
] "]"
ERROR
; ";"
} "}"
jsx_text "\r\ndeclare const i06c00: [any, any];\r\ndeclare const i06c01: ["...
jsx_expression
{ "{"
ERROR
identifier "a"
: ":"
identifier "A"
ERROR
; ";"
} "}"
jsx_text "\r\ninterface i07"
jsx_opening_element
< "<"
identifier "A"
ERROR
= "="
jsx_attribute
property_identifier "number"
> ">"
jsx_text " "
jsx_expression
{ "{"
ERROR
identifier "b"
: ":"
identifier "A"
ERROR
; ";"
} "}"
jsx_text "\r\ndeclare const i07c00: A;\r\ndeclare const i07c01: number;\r\nd"...
jsx_opening_element
< "<"
identifier "T"
> ">"
jsx_text " "
jsx_expression
{ "{"
ERROR
identifier "a"
: ":"
identifier "T"
ERROR
; ";"
} "}"
jsx_text "\r\ninterface Base01Constructor "
jsx_expression
{ "{"
ERROR
new "new"
jsx_opening_element
< "<"
identifier "T"
ERROR
= "="
jsx_attribute
property_identifier "number"
> ">"
jsx_text "(a?: T): Base01"
jsx_opening_element
< "<"
identifier "T"
> ">"
jsx_text ";\r\n"
} "}"
jsx_text "\r\ndeclare const Base01: Base01Constructor;\r\ndeclare const Ba"...
jsx_opening_element
< "<"
identifier "number"
> ">"
jsx_text ";\r\ndeclare const Base01c01: Base01"
jsx_opening_element
< "<"
identifier "number"
> ">"
jsx_text ";\r\ndeclare const Base01c02: Base01"
jsx_opening_element
< "<"
identifier "number"
> ">"
jsx_text ";\r\ndeclare const Base01c03: Base01"
jsx_opening_element
< "<"
identifier "number"
> ">"
jsx_text ";\r\ndeclare class Derived01"
jsx_opening_element
< "<"
identifier "T"
> ">"
jsx_text " extends Base01"
jsx_opening_element
< "<"
identifier "T"
> ">"
jsx_text " "
jsx_expression
{ "{"
} "}"
jsx_text "\r\ndeclare const Derived01c00: Derived01"
jsx_opening_element
< "<"
identifier "unknown"
> ">"
jsx_text ";\r\ndeclare const Derived01c01: Derived01"
jsx_opening_element
< "<"
identifier "number"
> ">"
jsx_text ";\r\ndeclare const Derived01c02: Derived01"
jsx_opening_element
< "<"
identifier "number"
> ">"
jsx_text ";\r\ndeclare const Derived01c03: Derived01"
jsx_opening_element
< "<"
identifier "number"
> ">"
jsx_text ";\r\ndeclare class Derived02"
jsx_opening_element
< "<"
identifier "T"
ERROR
= "="
jsx_attribute
property_identifier "string"
> ">"
jsx_text " extends Base01"
jsx_opening_element
< "<"
identifier "T"
> ">"
jsx_text " "
jsx_expression
{ "{"
} "}"
jsx_text "\r\ndeclare const Derived02c00: Derived02"
jsx_opening_element
< "<"
identifier "string"
> ">"
jsx_text ";\r\ndeclare const Derived02c01: Derived02"
jsx_opening_element
< "<"
identifier "number"
> ">"
jsx_text ";\r\ndeclare const Derived02c02: Derived02"
jsx_opening_element
< "<"
identifier "number"
> ">"
jsx_text ";\r\ndeclare const Derived02c03: Derived02"
jsx_opening_element
< "<"
identifier "number"
> ">"
jsx_text ";\r\ninterface Base02 "
jsx_expression
{ "{"
} "}"
jsx_text "\r\ninterface Base02Constructor "
jsx_expression
{ "{"
ERROR
new "new"
jsx_opening_element
< "<"
identifier "T"
ERROR
= "="
jsx_attribute
property_identifier "A"
> ">"
jsx_text "(a: T): Base02 "
& "&"
identifier "T"
; ";"
} "}"
jsx_text "\r\ndeclare const Base02: Base02Constructor;\r\ndeclare class De"...
jsx_expression
{ "{"
} "}"
jsx_text "\r\ndeclare const Derived03c00: Derived03;\r\ndeclare const Deri"...
jsx_opening_element
< "<"
identifier "T"
ERROR
= "="
jsx_attribute
property_identifier "number"
> ">"
jsx_text " = "
jsx_expression
{ "{"
ERROR
identifier "a"
: ":"
identifier "T"
ERROR
; ";"
} "}"
jsx_text ";\r\ndeclare const t00c00: number;\r\ndeclare const t00c01: numb"...
jsx_opening_element
< "<"
identifier "T"
ERROR
, ","
jsx_attribute
property_identifier "U"
ERROR
= "="
jsx_attribute
property_identifier "T"
> ">"
jsx_text " = "
jsx_expression
{ "{"
subscript_expression
identifier "a"
ERROR
: ":"
[ "["
sequence_expression
identifier "T"
, ","
identifier "U"
] "]"
ERROR
; ";"
} "}"
jsx_text ";\r\ndeclare const t01c00: [number, number];\r\ndeclare const t0"...
jsx_opening_element
< "<"
identifier "T"
ERROR
extends "extends"
jsx_attribute
property_identifier "number"
ERROR
, ","
jsx_attribute
property_identifier "U"
ERROR
= "="
jsx_attribute
property_identifier "T"
> ">"
jsx_text " = "
jsx_expression
{ "{"
subscript_expression
identifier "a"
ERROR
: ":"
[ "["
sequence_expression
identifier "T"
, ","
identifier "U"
] "]"
ERROR
; ";"
} "}"
jsx_text ";\r\ndeclare const t02c00: [number, number];\r\ndeclare const t0"...
jsx_opening_element
< "<"
identifier "T"
ERROR
extends "extends"
jsx_attribute
property_identifier "number"
ERROR
, ","
jsx_attribute
property_identifier "U"
ERROR
extends "extends"
jsx_attribute
property_identifier "T"
ERROR
= "="
jsx_attribute
property_identifier "T"
> ">"
jsx_text " = "
jsx_expression
{ "{"
subscript_expression
identifier "a"
ERROR
: ":"
[ "["
sequence_expression
identifier "T"
, ","
identifier "U"
] "]"
ERROR
; ";"
} "}"
jsx_text ";\r\ndeclare const t03c00: [number, number];\r\ndeclare const t0"...
jsx_opening_element
< "<"
identifier "T"
ERROR
= "="
jsx_attribute
property_identifier "SelfReference"
ERROR
< "<"
jsx_attribute
property_identifier "string"
> ">"
ERROR
> ">"
jsx_text " "
jsx_expression
{ "{"
} "}"
jsx_text "\r\n"