class Foo {
Foo.foo1(dynamic a, dynamic b)
: x = a as int,
y = b as int?;

Foo.foo2(dynamic a, dynamic b)
: x = a is int,
y = b is int?;

Foo.foo3(dynamic a, dynamic b)
: x = a as int?,
y = b as int;

Foo.foo4(dynamic a, dynamic b)
: x = a is int?,
y = b is int;

Foo.bar1(dynamic a, dynamic b)
: x = a as int,
y = b as int? {}

Foo.bar2(dynamic a, dynamic b)
: x = a is int,
y = b is int? {}

Foo.bar3(dynamic a, dynamic b)
: x = a as int?,
y = b as int {}

Foo.bar4(dynamic a, dynamic b)
: x = a is int?,
y = b is int {}
}


class[KeywordToken] Foo[StringToken] {[BeginToken]
Foo[StringToken].[SimpleToken]foo1[StringToken]([BeginToken]dynamic[KeywordToken] a[StringToken],[SimpleToken] dynamic[KeywordToken] b[StringToken])[SimpleToken]
:[SimpleToken] x[StringToken] =[SimpleToken] a[StringToken] as[KeywordToken] int[StringToken],[SimpleToken]
y[StringToken] =[SimpleToken] b[StringToken] as[KeywordToken] int[StringToken]?[SimpleToken];[SimpleToken]

Foo[StringToken].[SimpleToken]foo2[StringToken]([BeginToken]dynamic[KeywordToken] a[StringToken],[SimpleToken] dynamic[KeywordToken] b[StringToken])[SimpleToken]
:[SimpleToken] x[StringToken] =[SimpleToken] a[StringToken] is[KeywordToken] int[StringToken],[SimpleToken]
y[StringToken] =[SimpleToken] b[StringToken] is[KeywordToken] int[StringToken]?[SimpleToken];[SimpleToken]

Foo[StringToken].[SimpleToken]foo3[StringToken]([BeginToken]dynamic[KeywordToken] a[StringToken],[SimpleToken] dynamic[KeywordToken] b[StringToken])[SimpleToken]
:[SimpleToken] x[StringToken] =[SimpleToken] a[StringToken] as[KeywordToken] int[StringToken]?[SimpleToken],[SimpleToken]
y[StringToken] =[SimpleToken] b[StringToken] as[KeywordToken] int[StringToken];[SimpleToken]

Foo[StringToken].[SimpleToken]foo4[StringToken]([BeginToken]dynamic[KeywordToken] a[StringToken],[SimpleToken] dynamic[KeywordToken] b[StringToken])[SimpleToken]
:[SimpleToken] x[StringToken] =[SimpleToken] a[StringToken] is[KeywordToken] int[StringToken]?[SimpleToken],[SimpleToken]
y[StringToken] =[SimpleToken] b[StringToken] is[KeywordToken] int[StringToken];[SimpleToken]

Foo[StringToken].[SimpleToken]bar1[StringToken]([BeginToken]dynamic[KeywordToken] a[StringToken],[SimpleToken] dynamic[KeywordToken] b[StringToken])[SimpleToken]
:[SimpleToken] x[StringToken] =[SimpleToken] a[StringToken] as[KeywordToken] int[StringToken],[SimpleToken]
y[StringToken] =[SimpleToken] b[StringToken] as[KeywordToken] int[StringToken]?[SimpleToken] {[BeginToken]}[SimpleToken]

Foo[StringToken].[SimpleToken]bar2[StringToken]([BeginToken]dynamic[KeywordToken] a[StringToken],[SimpleToken] dynamic[KeywordToken] b[StringToken])[SimpleToken]
:[SimpleToken] x[StringToken] =[SimpleToken] a[StringToken] is[KeywordToken] int[StringToken],[SimpleToken]
y[StringToken] =[SimpleToken] b[StringToken] is[KeywordToken] int[StringToken]?[SimpleToken] {[BeginToken]}[SimpleToken]

Foo[StringToken].[SimpleToken]bar3[StringToken]([BeginToken]dynamic[KeywordToken] a[StringToken],[SimpleToken] dynamic[KeywordToken] b[StringToken])[SimpleToken]
:[SimpleToken] x[StringToken] =[SimpleToken] a[StringToken] as[KeywordToken] int[StringToken]?[SimpleToken],[SimpleToken]
y[StringToken] =[SimpleToken] b[StringToken] as[KeywordToken] int[StringToken] {[BeginToken]}[SimpleToken]

Foo[StringToken].[SimpleToken]bar4[StringToken]([BeginToken]dynamic[KeywordToken] a[StringToken],[SimpleToken] dynamic[KeywordToken] b[StringToken])[SimpleToken]
:[SimpleToken] x[StringToken] =[SimpleToken] a[StringToken] is[KeywordToken] int[StringToken]?[SimpleToken],[SimpleToken]
y[StringToken] =[SimpleToken] b[StringToken] is[KeywordToken] int[StringToken] {[BeginToken]}[SimpleToken]
}[SimpleToken]
[SimpleToken]
