NOTICE: Stream was rewritten by parser!

class Foo {
foo.x() {

}
foo.x() : initializer = true {

}
foo() : initializer = true {

}
get Foo => 0;
get Foo {
return 0;
}
get Foo.X ()=> 0;
get Foo.X (){
return 0;
}
get Foo (): bla = null => 0;
get Foo.X (): bla = null {
return 0;
}
set Foo ()=> 0;
set Foo (){
return 0;
}
set Foo.X ()=> 0;
set Foo.X (){
return 0;
}
set Foo (): bla = null => 0;
set Foo.X (): bla = null {
return 0;
}
external Foo() : bla = null;
external Foo.X() : bla = null {
return 0;
}
int Foo;
int A, Foo, B;
}

class[KeywordToken] Foo[StringToken] {[BeginToken]
foo[StringToken].[SimpleToken]x[StringToken]([BeginToken])[SimpleToken] {[BeginToken]

}[SimpleToken]
foo[StringToken].[SimpleToken]x[StringToken]([BeginToken])[SimpleToken] :[SimpleToken] initializer[StringToken] =[SimpleToken] true[KeywordToken] {[BeginToken]

}[SimpleToken]
foo[StringToken]([BeginToken])[SimpleToken] :[SimpleToken] initializer[StringToken] =[SimpleToken] true[KeywordToken] {[BeginToken]

}[SimpleToken]
get[KeywordToken] Foo[StringToken] =>[SimpleToken] 0[StringToken];[SimpleToken]
get[KeywordToken] Foo[StringToken] {[BeginToken]
return[KeywordToken] 0[StringToken];[SimpleToken]
}[SimpleToken]
get[KeywordToken] Foo[StringToken].[SimpleToken]X[StringToken] ([SyntheticBeginToken])[SyntheticToken]=>[SimpleToken] 0[StringToken];[SimpleToken]
get[KeywordToken] Foo[StringToken].[SimpleToken]X[StringToken] ([SyntheticBeginToken])[SyntheticToken]{[BeginToken]
return[KeywordToken] 0[StringToken];[SimpleToken]
}[SimpleToken]
get[KeywordToken] Foo[StringToken] ([SyntheticBeginToken])[SyntheticToken]:[SimpleToken] bla[StringToken] =[SimpleToken] null[KeywordToken] =>[SimpleToken] 0[StringToken];[SimpleToken]
get[KeywordToken] Foo[StringToken].[SimpleToken]X[StringToken] ([SyntheticBeginToken])[SyntheticToken]:[SimpleToken] bla[StringToken] =[SimpleToken] null[KeywordToken] {[BeginToken]
return[KeywordToken] 0[StringToken];[SimpleToken]
}[SimpleToken]
set[KeywordToken] Foo[StringToken] ([SyntheticBeginToken])[SyntheticToken]=>[SimpleToken] 0[StringToken];[SimpleToken]
set[KeywordToken] Foo[StringToken] ([SyntheticBeginToken])[SyntheticToken]{[BeginToken]
return[KeywordToken] 0[StringToken];[SimpleToken]
}[SimpleToken]
set[KeywordToken] Foo[StringToken].[SimpleToken]X[StringToken] ([SyntheticBeginToken])[SyntheticToken]=>[SimpleToken] 0[StringToken];[SimpleToken]
set[KeywordToken] Foo[StringToken].[SimpleToken]X[StringToken] ([SyntheticBeginToken])[SyntheticToken]{[BeginToken]
return[KeywordToken] 0[StringToken];[SimpleToken]
}[SimpleToken]
set[KeywordToken] Foo[StringToken] ([SyntheticBeginToken])[SyntheticToken]:[SimpleToken] bla[StringToken] =[SimpleToken] null[KeywordToken] =>[SimpleToken] 0[StringToken];[SimpleToken]
set[KeywordToken] Foo[StringToken].[SimpleToken]X[StringToken] ([SyntheticBeginToken])[SyntheticToken]:[SimpleToken] bla[StringToken] =[SimpleToken] null[KeywordToken] {[BeginToken]
return[KeywordToken] 0[StringToken];[SimpleToken]
}[SimpleToken]
external[KeywordToken] Foo[StringToken]([BeginToken])[SimpleToken] :[SimpleToken] bla[StringToken] =[SimpleToken] null[KeywordToken];[SimpleToken]
external[KeywordToken] Foo[StringToken].[SimpleToken]X[StringToken]([BeginToken])[SimpleToken] :[SimpleToken] bla[StringToken] =[SimpleToken] null[KeywordToken] {[BeginToken]
return[KeywordToken] 0[StringToken];[SimpleToken]
}[SimpleToken]
int[StringToken] Foo[StringToken];[SimpleToken]
int[StringToken] A[StringToken],[SimpleToken] Foo[StringToken],[SimpleToken] B[StringToken];[SimpleToken]
}[SimpleToken][SimpleToken]
