Code view:

A painting is a person's account of this edit as text, recorded independently of the node mapping - a rendering often has several equally defensible answers where the mapping has one. Deletions and insertions carry no position on the opposite side in a painting, so that panel draws no caret for them.

Before

…lines 1–19 unchanged (19 lines)
20
21var f4: {
22 <T>(x: string): T;
23 <T>(x: number): T;
24} = (x) => x;
25
26//// [functionLiteralForOverloads.js]
27// basic uses of function literals with overloads
28var f = (x) => x;
29var f2 = (x) => x;
30var f3 = (x) => x;
31var f4 = (x) => x;
32

After

…lines 1–20 unchanged (20 lines)
21var f4: {
22 <T>(x: string): T;
23 <T>(x: number): T;
24} = (x) => x;
25
26//// [functionLiteralForOverloads.js]
27"use strict";
28// basic uses of function literals with overloads
29var f = (x) => x;
30var f2 = (x) => x;
31var f3 = (x) => x;
32var f4 = (x) => x;
33

Before

program
comment "//// [tests/cases/conformance/types/specifyingTypes/typeLite"...
comment "//// [functionLiteralForOverloads.ts]"
comment "// basic uses of function literals with overloads"
variable_declaration (+42 nodes collapsed)
ERROR
var "var"
identifier "f2"
: ":"
{ "{"
jsx_opening_element
< "<"
identifier "T"
> ">"
jsx_text "(x: string): string;\n "
jsx_opening_element
< "<"
identifier "T"
> ">"
jsx_text "(x: number): number;\n"
} "}"
= "="
expression_statement
arrow_function
formal_parameters
( "("
identifier "x"
) ")"
=> "=>"
identifier "x"
; ";"
ERROR
var "var"
identifier "f3"
: ":"
{ "{"
jsx_opening_element
< "<"
identifier "T"
> ">"
jsx_text "(x: T): string;\n "
jsx_opening_element
< "<"
identifier "T"
> ">"
jsx_text "(x: T): number;\n"
} "}"
= "="
expression_statement
arrow_function
formal_parameters
( "("
identifier "x"
) ")"
=> "=>"
identifier "x"
; ";"
ERROR
var "var"
identifier "f4"
: ":"
{ "{"
jsx_opening_element
< "<"
identifier "T"
> ">"
jsx_text "(x: string): T;\n "
jsx_opening_element
< "<"
identifier "T"
> ">"
jsx_text "(x: number): T;\n"
} "}"
= "="
expression_statement
arrow_function
formal_parameters
( "("
identifier "x"
) ")"
=> "=>"
identifier "x"
; ";"
comment "//// [functionLiteralForOverloads.js]"
comment "// basic uses of function literals with overloads"
variable_declaration
var "var"
variable_declarator
identifier "f"
= "="
arrow_function
formal_parameters
( "("
identifier "x"
) ")"
=> "=>"
identifier "x"
; ";"
variable_declaration
var "var"
variable_declarator
identifier "f2"
= "="
arrow_function
formal_parameters
( "("
identifier "x"
) ")"
=> "=>"
identifier "x"
; ";"
variable_declaration
var "var"
variable_declarator
identifier "f3"
= "="
arrow_function
formal_parameters
( "("
identifier "x"
) ")"
=> "=>"
identifier "x"
; ";"
variable_declaration
var "var"
variable_declarator
identifier "f4"
= "="
arrow_function
formal_parameters
( "("
identifier "x"
) ")"
=> "=>"
identifier "x"
; ";"

After

program
comment "//// [tests/cases/conformance/types/specifyingTypes/typeLite"...
comment "//// [functionLiteralForOverloads.ts]"
comment "// basic uses of function literals with overloads"
variable_declaration (+42 nodes collapsed)
ERROR
var "var"
identifier "f2"
: ":"
{ "{"
jsx_opening_element
< "<"
identifier "T"
> ">"
jsx_text "(x: string): string;\n "
jsx_opening_element
< "<"
identifier "T"
> ">"
jsx_text "(x: number): number;\n"
} "}"
= "="
expression_statement
arrow_function
formal_parameters
( "("
identifier "x"
) ")"
=> "=>"
identifier "x"
; ";"
ERROR
var "var"
identifier "f3"
: ":"
{ "{"
jsx_opening_element
< "<"
identifier "T"
> ">"
jsx_text "(x: T): string;\n "
jsx_opening_element
< "<"
identifier "T"
> ">"
jsx_text "(x: T): number;\n"
} "}"
= "="
expression_statement
arrow_function
formal_parameters
( "("
identifier "x"
) ")"
=> "=>"
identifier "x"
; ";"
ERROR
var "var"
identifier "f4"
: ":"
{ "{"
jsx_opening_element
< "<"
identifier "T"
> ">"
jsx_text "(x: string): T;\n "
jsx_opening_element
< "<"
identifier "T"
> ">"
jsx_text "(x: number): T;\n"
} "}"
= "="
expression_statement
arrow_function
formal_parameters
( "("
identifier "x"
) ")"
=> "=>"
identifier "x"
; ";"
comment "//// [functionLiteralForOverloads.js]"
expression_statement
string
" "\""
string_fragment "use strict"
" "\""
; ";"
comment "// basic uses of function literals with overloads"
variable_declaration
var "var"
variable_declarator
identifier "f"
= "="
arrow_function
formal_parameters
( "("
identifier "x"
) ")"
=> "=>"
identifier "x"
; ";"
variable_declaration
var "var"
variable_declarator
identifier "f2"
= "="
arrow_function
formal_parameters
( "("
identifier "x"
) ")"
=> "=>"
identifier "x"
; ";"
variable_declaration
var "var"
variable_declarator
identifier "f3"
= "="
arrow_function
formal_parameters
( "("
identifier "x"
) ")"
=> "=>"
identifier "x"
; ";"
variable_declaration
var "var"
variable_declarator
identifier "f4"
= "="
arrow_function
formal_parameters
( "("
identifier "x"
) ")"
=> "=>"
identifier "x"
; ";"