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: false
2
3class A {
4 foo() {}
5}
6
7abstract class B extends A {
…lines 8–17 unchanged (10 lines)

After

1// @target: es2015
2// @strict: false
3
4class A {
5 foo() {}
6}
7
…lines 8–18 unchanged (11 lines)

Before

program
comment "// @strict: false"
class_declaration
class "class"
type_identifier "A"
class_body
{ "{"
method_definition
property_identifier "foo"
formal_parameters
( "("
) ")"
statement_block
{ "{"
} "}"
} "}"
abstract_class_declaration
abstract "abstract"
class "class"
type_identifier "B"
class_heritage
extends_clause
extends "extends"
identifier "A"
class_body
{ "{"
abstract_method_signature
abstract "abstract"
property_identifier "bar"
formal_parameters
( "("
) ")"
; ";"
} "}"
class_declaration
class "class"
type_identifier "C"
class_heritage
extends_clause
extends "extends"
identifier "B"
class_body
{ "{"
} "}"
abstract_class_declaration
abstract "abstract"
class "class"
type_identifier "D"
class_heritage
extends_clause
extends "extends"
identifier "B"
class_body
{ "{"
} "}"
class_declaration
class "class"
type_identifier "E"
class_heritage
extends_clause
extends "extends"
identifier "B"
class_body
{ "{"
method_definition
property_identifier "bar"
formal_parameters
( "("
) ")"
statement_block
{ "{"
} "}"
} "}"

After

program
comment "// @target: es2015"
comment "// @strict: false"
class_declaration
class "class"
type_identifier "A"
class_body
{ "{"
method_definition
property_identifier "foo"
formal_parameters
( "("
) ")"
statement_block
{ "{"
} "}"
} "}"
abstract_class_declaration
abstract "abstract"
class "class"
type_identifier "B"
class_heritage
extends_clause
extends "extends"
identifier "A"
class_body
{ "{"
abstract_method_signature
abstract "abstract"
property_identifier "bar"
formal_parameters
( "("
) ")"
; ";"
} "}"
class_declaration
class "class"
type_identifier "C"
class_heritage
extends_clause
extends "extends"
identifier "B"
class_body
{ "{"
} "}"
abstract_class_declaration
abstract "abstract"
class "class"
type_identifier "D"
class_heritage
extends_clause
extends "extends"
identifier "B"
class_body
{ "{"
} "}"
class_declaration
class "class"
type_identifier "E"
class_heritage
extends_clause
extends "extends"
identifier "B"
class_body
{ "{"
method_definition
property_identifier "bar"
formal_parameters
( "("
) ")"
statement_block
{ "{"
} "}"
} "}"