class Foo {
set foo.x() {

}
set foo.x() : initializer = true {

}
set foo() : initializer = true {

}
}

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

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

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

}[SimpleToken]
}[SimpleToken][SimpleToken]
