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

1// @strict: true
2
3class Foo {
4 protected protec = 'bar';
5 private privat = '';
6 copy!: string
7 constructor() {
…lines 8–23 unchanged (16 lines)

After

1// @target: es2015
2// @strict: true
3
4class Foo {
5 protected protec = 'bar';
6 private privat = '';
7 copy!: string
…lines 8–24 unchanged (17 lines)

Before

program
comment "// @strict: true"
class_declaration (+60 nodes collapsed)
function_declaration (+42 nodes collapsed)
type_alias_declaration
type "type"
type_identifier "BindingFunction"
= "="
function_type
formal_parameters
( "("
required_parameter
this "this"
type_annotation
: ":"
type_identifier "Foo"
) ")"
=> "=>"
predefined_type
void "void"
; ";"
lexical_declaration (+44 nodes collapsed)

After

program
comment "// @target: es2015"
comment "// @strict: true"
class_declaration (+60 nodes collapsed)
function_declaration (+42 nodes collapsed)
type_alias_declaration
type "type"
type_identifier "BindingFunction"
= "="
function_type
formal_parameters
( "("
required_parameter
this "this"
type_annotation
: ":"
type_identifier "Foo"
) ")"
=> "=>"
predefined_type
void "void"
; ";"
lexical_declaration (+44 nodes collapsed)